{
  "columns": [
    {
      "name": "First Name",
      "key": "first_name",
      "required": true,
      "description": "The first name of the user",
      "suggested_mappings": ["First", "Name"],
      "data_type": "string"
    },
    {
      "name": "Age",
      "data_type": "number"
    },
    {
      "name": "Joined On",
      "data_type": "date"
    },
    {
      "name": "Active",
      "data_type": "boolean"
    }
  ]
}

Column data types are used to define the output format of your data as well as add basic data validations (for number, boolean, and date). A data type can be set on a column by adding the data_type field. If not provided, the column will default to being a string.


string (default)

Accepts: Any value.
Outputs: The cell value as a string.

{
  "name": "First Name",
  "data_type": "string"
}
number

Accepts: An integer or decimal of any size and range. Non-numeric cells will display an error on the review screen for the user to resolve before submitting.
Outputs: The cell value as a number or null if the cell is blank.

{
  "name": "Age",
  "data_type": "number"
}
date

Accepts: A datetime string in any format (see full list of examples). Invalid date cells will display an error on the review screen for the user to resolve before submitting.
Outputs: The cell value as an RFC 3339 datetime (example: 2012-08-24T11:09:00-07:00) or null if the cell is blank.

{
  "name": "Joined On",
  "data_type": "date"
}
boolean

Accepts: "true", "t", "1" or "false", "f", "0" (case-insensitive). Non-boolean cells will display an error on the review screen for the user to resolve before submitting.
Outputs: The cell value as a boolean or null if the cell is blank.

{
  "name": "Active",
  "data_type": "boolean"
}