{
  "columns": [
    {
      "name": "First Name",
      "key": "first_name",
      "required": true,
      "description": "The first name of the user",
      "suggested_mappings": ["First", "Name"]
    },
    {
      "name": "Last Name"
    },
    {
      "name": "Email",
      "required": true,
      "description": "The email of the user"
    }
  ]
}

A template holds an array of columns that you expect from the user during an import. You can use the template directly in the front-end SDKs (React or JavaScript) or create it with the API.

Template Columns

name
string
required

The name of the column.

key
string

The key of the column which is used when retrieving data. Note this must be unique (case-insensitive) and only contain letters, numbers, and underscores. If not provided, a key will be generated from the name by converting to lower case, replacing all spaces with underscores, and removing any non-alphanumeric characters.

required
boolean
default: "false"

During the “Map Columns” step of the import, users must map a column from their file to this column to proceed.

description
string

Set a description displayed as a tooltip in the importer.

suggested_mappings
string

An array of column header names that the importer will use to auto-select the mapping for the user if the column header in their file matches one of these values (case-insensitive). Note that these must be unique across all columns.

data_type
string

Define the output format of your data as well as add basic data validations. See all available options on Data Types.

validations
array

Add validations to enforce the cell values not being blank, matching a regex pattern, and more. See all available options on Validations.