{
  "sheets": [
    {
      "name": "Products",
      "description": "A list of products available for sale",
      "slug": "products",
      "readOnly": false,
      "allowAdditionalFields": false,
      "access": ["add", "edit"],
      "constraints": [{ name: "constraint name", fields: ["field_key_one", "field_key_two"], type: "unique", strategy: "concat"}],
      "fields": [
        {
          "key": "code",
          "label": "Product Code",
          "type": "string"
        },
        {
          "key": "description",
          "type": "string"
        },
        {
          "key": "price",
          "type": "number"
        }
      ],
      "actions": [],
      "metadata": {},
    }
  ]
}

Sheets have some basic options that determine their 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. Used to reference your Sheet in code, for example in a Record Hook.

readonly
boolean

A boolean specifying whether or not this sheet is read only. Read only sheets are not editable by end users.

allowAdditionalFields
boolean

When this is set to true, your Sheet will be able to accept additional fields beyond what you specify in its configuration. These additional fields can be added via API, or by end users during the file import process. These fields will have a treatment of “user-defined”.

access
array

An array specifying the access controls for this Sheet. Read more about access controls.

fields
array
required

This is where you define your Sheet’s data schema. The collection of fields in your Sheet detemines the shape of data you wish to accept.

Learn more about Field types, Constraints, and Relationships.

actions
array

An array of actions that end users can perform on this Sheet. Read more about actions.

metadata
object

Use metadata to store any extra contextual information about your Sheet. Must be valid JSON.

mappingConfidenceThreshold
number
default: ".5"

Use mappingConfidenceThreshold to configure the minimum required confidence for mapping jobs targeting that sheet. This can be used to tune the behavior of fuzzy matches, or disable fuzzy matches entirely. Must be greater than 0 and less than or equal to 1 (exact match)

constraints
array

Use the constraints option to define constraints for a specific Sheet.

Learn more about Constraints.