Skip to main content
POST
/
bases
/
{databaseId}
/
tables
/
{tableId}
/
fields
Create field
curl --request POST \
  --url https://tables.fillout.com/api/v1/bases/{databaseId}/tables/{tableId}/fields \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "single_select",
  "name": "Status",
  "template": {
    "options": [
      {
        "label": "Active",
        "color": "green"
      },
      {
        "label": "Inactive",
        "color": "gray"
      }
    ]
  }
}'
{
"id": "<string>",
"name": "<string>",
"type": "single_line_text",
"template": {},
"order": 123
}
Adds a new field to an existing table using either the table ID or table name.
Both type and name are required. The template object structure varies by field type - see Field Types Reference for complete details

Example Field Creation

Here’s how to create a single select field:
{
  "type": "single_select",
  "name": "Status",
  "template": {
    "options": [
      {"label": "Active", "color": "#10b981"},
      {"label": "Inactive", "color": "#6b7280"},
      {"label": "Pending", "color": "#f59e0b"},
      {"label": "Archived", "color": "#ef4444"}
    ]
  }
}

Authorizations

Authorization
string
header
required

Path Parameters

databaseId
string
required
tableId
string
required

Body

application/json
type
enum<string>
required
Available options:
single_line_text,
long_text,
email,
url,
phone_number,
number,
currency,
percent,
rating,
duration,
single_select,
multiple_select,
checkbox,
date,
datetime,
attachment,
linked_record,
lookup
name
string
required
Minimum length: 1
template
object

Response

id
string
required
name
string
required
type
enum<string>
required
Available options:
single_line_text,
long_text,
email,
url,
phone_number,
number,
currency,
percent,
rating,
duration,
single_select,
multiple_select,
checkbox,
date,
datetime,
attachment,
linked_record,
lookup
template
object
required
order
integer
required