---
title: "Create a workbook"
method: POST
path: "/workbooks"
tags: ["workbooks"]
---

# Create a workbook

`POST /workbooks`

Creates a workbook and adds it to a space

## Headers

- `Authorization` string, required
- `X-Disable-Hooks` 'true', required

## Request body

- TypeWorkbooksCreateWorkbookConfig — Properties used to create a new Workbook
  - `name` string, required — The name of the Workbook.
  - `labels` string[] — An optional list of labels for the Workbook.
  - `spaceId` string — Space ID
  - `environmentId` string — Environment ID
  - `namespace` string — Optional namespace to apply to the Workbook.
  - `sheets` TypeSheetsSheetConfig[] — Sheets to create on the Workbook.
    - `name` string, required — The name of your Sheet as it will appear to your end users.
    - `description` string — A sentence or two describing the purpose of your Sheet.
    - `slug` string — A unique identifier for your Sheet.
    - `readonly` boolean — A boolean specifying whether or not this sheet is read only. Read only sheets are not editable by end users.
    - `allowAdditionalFields` boolean — Allow end users to add fields during mapping.
    - `mappingConfidenceThreshold` number, double — The minimum confidence required to automatically map a field
    - `access` TypeSheetsSheetAccess[] — Control Sheet-level access for all users.
    - `fields` TypePropertyProperty[], required — Where you define your Sheet's data schema.
      - union
        - object
          - `type` 'string', required — Discriminator value: string
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
          - `config` TypePropertyStringConfig
            - `size` 'tiny' | 'normal' | 'medium' | 'long', required — How much text should be storeable in this field
        - object
          - `type` 'number', required — Discriminator value: number
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
          - `isArray` boolean — Will allow multiple values and store as an array. Use enum-list type instead.
          - `config` TypePropertyNumberConfig
            - `decimalPlaces` integer — Number of decimal places to round data to
        - object
          - `type` 'boolean', required — Discriminator value: boolean
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
          - `config` TypePropertyBooleanPropertyConfig
            - `allowIndeterminate` boolean, required — Allow a neither true or false state to be stored as `null`
        - object
          - `type` 'date', required — Discriminator value: date
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
        - object
          - `type` 'enum', required — Discriminator value: enum
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
          - `isArray` boolean — Will allow multiple values and store as an array. Use enum-list type instead.
          - `multi` boolean — Will allow multiple values and store / provide the values in an array if set. Not all field types support arrays. Use enum-list type instead.
          - `config` TypePropertyEnumPropertyConfig, required
            - `allowCustom` boolean — Permit the user to create new options for this specific field.
            - `options` TypePropertyEnumPropertyOption[], required
              - …
            - `sortBy` 'label' | 'value' | 'ordinal'
        - object
          - `type` 'reference', required — Discriminator value: reference
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
          - `isArray` boolean — Will allow multiple values and store as an array. Use enum-list type instead.
          - `config` TypePropertyReferencePropertyConfig, required
            - `ref` string, required — Full path reference to a sheet configuration. Must be in the same workbook.
            - `key` string, required — Key of the property to use as the reference key. Defaults to `id`
            - `filter` TypePropertyReferenceFilter — If provided, the reference filter will narrow the set of records in the reference sheet used as the set of valid values for the record. Only rows where the value in the reference sheet's refField matches the value in this record's recordField will be used.
              - …
            - `relationship` 'has-one' | 'has-many'
        - object
          - `type` 'reference-list', required — Discriminator value: reference-list
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
          - `isArray` boolean — Will allow multiple values and store as an array. Use enum-list type instead.
          - `config` TypePropertyReferenceListPropertyConfig, required
            - `ref` string, required — Full path reference to a sheet configuration. Must be in the same workbook.
            - `key` string, required — Key of the property to use as the reference key. Defaults to `id`
            - `filter` TypePropertyReferenceFilter — If provided, the reference filter will narrow the set of records in the reference sheet used as the set of valid values for the record. Only rows where the value in the reference sheet's refField matches the value in this record's recordField will be used.
              - …
        - object
          - `type` 'string-list', required — Discriminator value: string-list
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
        - object
          - `type` 'enum-list', required — Discriminator value: enum-list
          - `key` string, required
          - `label` string — User friendly field name
          - `description` string — A short description of the field. Markdown syntax is supported.
          - `constraints` TypePropertyConstraint[] — A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values.
            - union
              - …
          - `readonly` boolean
          - `appearance` TypePropertyFieldAppearance — Control the appearance of this field when it's displayed in a table or input
            - `size` 'xs' | 's' | 'm' | 'l' | 'xl' — The default visual sizing. This sizing may be overridden by a user
          - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Column.
            - `slug` string — **This is deprecated. Use `operation` instead.**
            - `operation` string — This will become the job operation that is triggered
            - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
            - `tooltip` string — A tooltip that appears when hovering the action button
            - `messages` TypeCommonsActionMessage[]
              - …
            - `type` string — **This is deprecated.**
            - `description` string — The text that appears in the dialog after the action is clicked.
            - `schedule` 'weekly' | 'daily' | 'hourly'
            - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
            - `confirm` boolean — Whether to show a modal to confirm the action
            - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
            - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
            - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
            - `inputForm` TypeCommonsInputForm
              - …
            - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
              - …
            - `mount` union
              - …
            - `guide` TypeCommonsGuide
              - …
            - `guardrail` TypeCommonsGuardrail
              - …
            - `createdFrom` string — Action ID
            - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
            - `deletedAt` string, date-time — The time this action was deleted
            - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
            - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
            - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
            - `label` string, required — The text on the Button itself
          - `metadata` unknown
          - `treatments` string[] — A unique presentation for a field in the UI.
          - `alternativeNames` string[]
          - `config` TypePropertyEnumPropertyConfig, required
            - `allowCustom` boolean — Permit the user to create new options for this specific field.
            - `options` TypePropertyEnumPropertyOption[], required
              - …
            - `sortBy` 'label' | 'value' | 'ordinal'
    - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Sheet.
      - `slug` string — **This is deprecated. Use `operation` instead.**
      - `operation` string — This will become the job operation that is triggered
      - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
      - `tooltip` string — A tooltip that appears when hovering the action button
      - `messages` TypeCommonsActionMessage[]
        - `type` 'error' | 'info', required
        - `content` string, required
      - `type` string — **This is deprecated.**
      - `description` string — The text that appears in the dialog after the action is clicked.
      - `schedule` 'weekly' | 'daily' | 'hourly'
      - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
      - `confirm` boolean — Whether to show a modal to confirm the action
      - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
      - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
      - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
      - `inputForm` TypeCommonsInputForm
        - `type` 'simple', required
        - `fields` TypeCommonsInputField[], required
          - `key` string, required — Unique key for a Field.
          - `label` string, required — Visible name of a Field.
          - `description` string — Brief description below the name of the Field.
          - `type` string, required — Field Types inform the user interface how to sort and display data.
          - `defaultValue` unknown
          - `config` TypeCommonsInputConfig
            - `options` TypeCommonsInputEnumPropertyOption[], required
              - …
          - `constraints` TypeCommonsInputConstraint[] — Indicate additional validations that will be applied to the Field.
            - `type` 'required', required
      - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
        - union
          - object
            - `type` 'hasAllValid', required — Discriminator value: hasAllValid
            - `ignoreSelection` boolean
          - object
            - `type` 'hasSelection', required — Discriminator value: hasSelection
          - object
            - `type` 'hasData', required — Discriminator value: hasData
          - object
            - `type` 'hasColumnEnabled', required — Discriminator value: hasColumnEnabled
      - `mount` union
        - object
          - `type` 'sheet', required — Discriminator value: sheet
          - `slugs` string[]
        - object
          - `type` 'workbook', required — Discriminator value: workbook
          - `slugs` string[]
        - object
          - `type` 'field', required — Discriminator value: field
          - `keys` string[]
        - object
          - `type` 'document', required — Discriminator value: document
        - object
          - `type` 'file', required — Discriminator value: file
      - `guide` TypeCommonsGuide
        - `content` string, required — Markdown guidance for this action
      - `guardrail` TypeCommonsGuardrail
        - `content` string, required — Markdown guardrail for this action
      - `createdFrom` string — Action ID
      - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
      - `deletedAt` string, date-time — The time this action was deleted
      - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
      - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
      - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
      - `label` string, required — The text on the Button itself
    - `metadata` unknown
    - `constraints` TypeSheetsSheetConstraint[] — An array of constraints that end users can perform on this Sheet.
      - union
        - object
          - `type` 'unique', required — Discriminator value: unique
          - `name` string, required — The name of the constraint
          - `fields` string[], required — The fields that must be unique together
          - `requiredFields` string[] — Fields that, when empty, will cause this unique constraint to be ignored
          - `strategy` 'hash' | 'concat', required
          - `config` TypeSheetsCompositeUniqueConstraintConfig
            - `message` string — Custom validation message to display when the constraint fails
            - `level` 'error' | 'warn' | 'info'
        - object
          - `type` 'external', required — Discriminator value: external
          - `validator` string, required
          - `fields` string[] — The fields that must be unique together
          - `config` unknown
    - `treatments` TypeSheetsSheetTreatments[] — An array of treatments that define the behavior of the sheet.
    - `collection` string — Collection in which to group the sheet
  - `actions` TypeCommonsAction[] — Actions to create on the Workbook.
    - `slug` string — **This is deprecated. Use `operation` instead.**
    - `operation` string — This will become the job operation that is triggered
    - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
    - `tooltip` string — A tooltip that appears when hovering the action button
    - `messages` TypeCommonsActionMessage[]
      - `type` 'error' | 'info', required
      - `content` string, required
    - `type` string — **This is deprecated.**
    - `description` string — The text that appears in the dialog after the action is clicked.
    - `schedule` 'weekly' | 'daily' | 'hourly'
    - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
    - `confirm` boolean — Whether to show a modal to confirm the action
    - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
    - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
    - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
    - `inputForm` TypeCommonsInputForm
      - `type` 'simple', required
      - `fields` TypeCommonsInputField[], required
        - `key` string, required — Unique key for a Field.
        - `label` string, required — Visible name of a Field.
        - `description` string — Brief description below the name of the Field.
        - `type` string, required — Field Types inform the user interface how to sort and display data.
        - `defaultValue` unknown
        - `config` TypeCommonsInputConfig
          - `options` TypeCommonsInputEnumPropertyOption[], required
            - `label` string — A visual label for this option, defaults to value if not provided
            - `description` string — A short description for this option
            - `color` string — An optional color to assign this option
            - `icon` string — A reference pointer to a previously registered icon
            - `meta` object — An arbitrary JSON object to be associated with this option and made available to hooks
            - `value` unknown, required
        - `constraints` TypeCommonsInputConstraint[] — Indicate additional validations that will be applied to the Field.
          - `type` 'required', required
    - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
      - union
        - object
          - `type` 'hasAllValid', required — Discriminator value: hasAllValid
          - `ignoreSelection` boolean
        - object
          - `type` 'hasSelection', required — Discriminator value: hasSelection
        - object
          - `type` 'hasData', required — Discriminator value: hasData
        - object
          - `type` 'hasColumnEnabled', required — Discriminator value: hasColumnEnabled
    - `mount` union
      - object
        - `type` 'sheet', required — Discriminator value: sheet
        - `slugs` string[]
      - object
        - `type` 'workbook', required — Discriminator value: workbook
        - `slugs` string[]
      - object
        - `type` 'field', required — Discriminator value: field
        - `keys` string[]
      - object
        - `type` 'document', required — Discriminator value: document
      - object
        - `type` 'file', required — Discriminator value: file
    - `guide` TypeCommonsGuide
      - `content` string, required — Markdown guidance for this action
    - `guardrail` TypeCommonsGuardrail
      - `content` string, required — Markdown guardrail for this action
    - `createdFrom` string — Action ID
    - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
    - `deletedAt` string, date-time — The time this action was deleted
    - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
    - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
    - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
    - `label` string, required — The text on the Button itself
  - `settings` TypeWorkbooksWorkbookConfigSettings — Settings for a workbook
    - `trackChanges` boolean — Whether to track changes for this workbook. Defaults to false. Tracking changes on a workbook allows for disabling workbook and sheet actions while data in the workbook is still being processed. You must run a recordHook listener if you enable this feature.
    - `noMappingRedirect` boolean — When noMappingRedirect is set to true, dragging a file into a sheet will not redirect to the mapping screen. Defaults to false.
    - `sheetSidebarOrder` TypeCommonsSheetId[] — Used to set the order of sheets in the sidebar. Sheets that are not specified will be shown after those listed.
    - `autoRunAnalysis` boolean — Whether to automatically run analysis on the workbook when the inlineTransform feature is enabled. Defaults to true.
  - `metadata` unknown
  - `treatments` TypeWorkbooksWorkbookTreatments[] — Treatments for the workbook
  - `storageStrategy` 'RAINBOW_TABLES' | 'CELL_HISTORY' | 'HYPERCUBE' | 'QUICKSTORE' | 'DUCKDB' | 'FOREIGNDB' | 'MEMCSV'
  - `folder` string — The folder to group the workbook in

## Response `200`

Response with status 200

- TypeWorkbooksWorkbookResponse
  - `data` TypeWorkbooksWorkbook, required — A collection of one or more sheets
    - `id` string, required — Workbook ID
    - `name` string — Name of the Workbook.
    - `spaceId` string, required — Space ID
    - `environmentId` string, required — Environment ID
    - `sheets` TypeSheetsSheet[] — A list of Sheets associated with the Workbook.
      - `id` string, required — Sheet ID
      - `workbookId` string, required — Workbook ID
      - `name` string, required — The name of the Sheet.
      - `slug` string, required — The slug of the Sheet.
      - `config` TypeSheetsSheetConfig, required — Describes shape of data as well as behavior
        - `name` string, required — The name of your Sheet as it will appear to your end users.
        - `description` string — A sentence or two describing the purpose of your Sheet.
        - `slug` string — A unique identifier for your Sheet.
        - `readonly` boolean — A boolean specifying whether or not this sheet is read only. Read only sheets are not editable by end users.
        - `allowAdditionalFields` boolean — Allow end users to add fields during mapping.
        - `mappingConfidenceThreshold` number, double — The minimum confidence required to automatically map a field
        - `access` TypeSheetsSheetAccess[] — Control Sheet-level access for all users.
        - `fields` TypePropertyProperty[], required — Where you define your Sheet's data schema.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `actions` TypeCommonsAction[] — An array of actions that end users can perform on this Sheet.
          - `slug` string — **This is deprecated. Use `operation` instead.**
          - `operation` string — This will become the job operation that is triggered
          - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
          - `tooltip` string — A tooltip that appears when hovering the action button
          - `messages` TypeCommonsActionMessage[]
            - `type` 'error' | 'info', required
            - `content` string, required
          - `type` string — **This is deprecated.**
          - `description` string — The text that appears in the dialog after the action is clicked.
          - `schedule` 'weekly' | 'daily' | 'hourly'
          - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
          - `confirm` boolean — Whether to show a modal to confirm the action
          - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
          - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
          - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
          - `inputForm` TypeCommonsInputForm
            - `type` 'simple', required
            - `fields` TypeCommonsInputField[], required
              - …
          - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
            - union
              - …
          - `mount` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `guide` TypeCommonsGuide
            - `content` string, required — Markdown guidance for this action
          - `guardrail` TypeCommonsGuardrail
            - `content` string, required — Markdown guardrail for this action
          - `createdFrom` string — Action ID
          - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
          - `deletedAt` string, date-time — The time this action was deleted
          - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
          - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
          - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
          - `label` string, required — The text on the Button itself
        - `metadata` unknown
        - `constraints` TypeSheetsSheetConstraint[] — An array of constraints that end users can perform on this Sheet.
          - union
            - object
              - …
            - object
              - …
        - `treatments` TypeSheetsSheetTreatments[] — An array of treatments that define the behavior of the sheet.
        - `collection` string — Collection in which to group the sheet
      - `metadata` unknown
      - `namespace` string — The scoped namespace of the Sheet.
      - `lockedBy` string — The actor who locked the Sheet.
      - `updatedAt` string, date-time, required — Date the sheet was last updated
      - `createdAt` string, date-time, required — Date the sheet was created
      - `lockedAt` string, date-time — The time the Sheet was locked.
      - `recordCounts` TypeRecordsRecordCounts
        - `total` integer, required
        - `valid` integer, required
        - `error` integer, required
        - `errorsByField` object
        - `byField` object — Counts for valid, error, and total records grouped by field key
      - `createdFrom` string — Sheet ID
      - `lastPropagatedAt` string, date-time — The last time the sheet template configuration was propagated to this sheet
      - `treatments` TypeSheetsSheetTreatments[] — An array of treatments that define the behavior of the sheet.
      - `collection` string — Collection in which to group the sheet
    - `labels` string[] — A list of labels for the Workbook.
    - `actions` TypeCommonsAction[] — A list of Actions associated with the Workbook.
      - `slug` string — **This is deprecated. Use `operation` instead.**
      - `operation` string — This will become the job operation that is triggered
      - `mode` 'foreground' | 'background' | 'toolbarBlocking' — Foreground actions will prevent interacting with the resource until complete
      - `tooltip` string — A tooltip that appears when hovering the action button
      - `messages` TypeCommonsActionMessage[]
        - `type` 'error' | 'info', required
        - `content` string, required
      - `type` string — **This is deprecated.**
      - `description` string — The text that appears in the dialog after the action is clicked.
      - `schedule` 'weekly' | 'daily' | 'hourly'
      - `primary` boolean — A primary action will be more visibly present, whether in Sheet or Workbook.
      - `confirm` boolean — Whether to show a modal to confirm the action
      - `icon` string — Icon will work on primary actions. It will only accept an already existing Flatfile design system icon.
      - `requireAllValid` boolean — **This is deprecated. Use `constraints` instead.**
      - `requireSelection` boolean — **This is deprecated. Use `constraints` instead.**
      - `inputForm` TypeCommonsInputForm
        - `type` 'simple', required
        - `fields` TypeCommonsInputField[], required
          - `key` string, required — Unique key for a Field.
          - `label` string, required — Visible name of a Field.
          - `description` string — Brief description below the name of the Field.
          - `type` string, required — Field Types inform the user interface how to sort and display data.
          - `defaultValue` unknown
          - `config` TypeCommonsInputConfig
            - `options` TypeCommonsInputEnumPropertyOption[], required
              - …
          - `constraints` TypeCommonsInputConstraint[] — Indicate additional validations that will be applied to the Field.
            - `type` 'required', required
      - `constraints` TypeCommonsActionConstraint[] — A limitation or restriction on the action.
        - union
          - object
            - `type` 'hasAllValid', required — Discriminator value: hasAllValid
            - `ignoreSelection` boolean
          - object
            - `type` 'hasSelection', required — Discriminator value: hasSelection
          - object
            - `type` 'hasData', required — Discriminator value: hasData
          - object
            - `type` 'hasColumnEnabled', required — Discriminator value: hasColumnEnabled
      - `mount` union
        - object
          - `type` 'sheet', required — Discriminator value: sheet
          - `slugs` string[]
        - object
          - `type` 'workbook', required — Discriminator value: workbook
          - `slugs` string[]
        - object
          - `type` 'field', required — Discriminator value: field
          - `keys` string[]
        - object
          - `type` 'document', required — Discriminator value: document
        - object
          - `type` 'file', required — Discriminator value: file
      - `guide` TypeCommonsGuide
        - `content` string, required — Markdown guidance for this action
      - `guardrail` TypeCommonsGuardrail
        - `content` string, required — Markdown guardrail for this action
      - `createdFrom` string — Action ID
      - `lastPropagatedAt` string, date-time — The last time this action was propagated to a workbook
      - `deletedAt` string, date-time — The time this action was deleted
      - `invalidConditionalMessaging` boolean — When enabled, shows dynamic confirmation messages based on record validation status instead of the static description
      - `validRecordsMessage` string — Custom message to show when all records are valid (only used when invalidConditionalMessaging is true)
      - `invalidRecordsMessage` string — Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true)
      - `label` string, required — The text on the Button itself
    - `settings` TypeWorkbooksWorkbookConfigSettings — Settings for a workbook
      - `trackChanges` boolean — Whether to track changes for this workbook. Defaults to false. Tracking changes on a workbook allows for disabling workbook and sheet actions while data in the workbook is still being processed. You must run a recordHook listener if you enable this feature.
      - `noMappingRedirect` boolean — When noMappingRedirect is set to true, dragging a file into a sheet will not redirect to the mapping screen. Defaults to false.
      - `sheetSidebarOrder` TypeCommonsSheetId[] — Used to set the order of sheets in the sidebar. Sheets that are not specified will be shown after those listed.
      - `autoRunAnalysis` boolean — Whether to automatically run analysis on the workbook when the inlineTransform feature is enabled. Defaults to true.
    - `metadata` unknown
    - `treatments` TypeWorkbooksWorkbookTreatments[] — Treatments for the workbook
    - `namespace` string
    - `updatedAt` string, date-time, required — Date the workbook was last updated
    - `createdAt` string, date-time, required — Date the workbook was created
    - `expiredAt` string, date-time — Date the workbook was created
    - `storageType` string — The storage type of the workbook
    - `storageStrategy` 'RAINBOW_TABLES' | 'CELL_HISTORY' | 'HYPERCUBE' | 'QUICKSTORE' | 'DUCKDB' | 'FOREIGNDB' | 'MEMCSV'
    - `createdFrom` string — Workbook ID
    - `lastPropagatedAt` string, date-time — The last time the workbook template configuration was propagated to this workbook
    - `folder` string — The folder to group the workbook in

## Other responses

- `400` — Error response with status 400

---

[API](https://skmtc.net/flatfile/apis/api-reference.md) · [All operations](https://skmtc.net/flatfile/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/flatfile/api-reference/revisions/9d3a9979cd96/schema)
