Skip to main content
POST
/
bases
Create database
curl --request POST \
  --url https://tables.fillout.com/api/v1/bases \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "<string>",
  "tables": [
    {
      "name": "<string>",
      "fields": [
        {
          "type": "single_line_text",
          "name": "<string>",
          "template": {}
        }
      ]
    }
  ]
}'
{
"id": "bad4b276-f604-47ad-86e5-d2ae4f60968f",
"name": "<string>",
"tables": [
{
"id": "<string>",
"name": "<string>",
"order": 123,
"primaryFieldId": "<string>",
"fields": [
{
"id": "<string>",
"name": "<string>",
"type": "single_line_text",
"template": {},
"order": 123
}
],
"views": [
{
"id": "<string>",
"name": "<string>",
"type": "<string>",
"config": {
"sorts": [
{}
],
"hiddenFieldIds": [
"<string>"
],
"fieldWidths": {},
"orderedFieldIds": [
"<string>"
]
}
}
]
}
],
"createdAt": "2025-10-18T02:08:14.784Z",
"updatedAt": "2025-10-18T02:08:14.784Z",
"workspaceId": "<string>"
}
Creates a new database with complete table and field structure in a single API call.
  • Each table requires at least one field
  • Table names must be unique within your database
  • Field names must be unique within each table
  • Field types must match the Field Types Reference

Authorizations

Authorization
string
header
required

Body

application/json
name
string
required
Minimum length: 1
tables
object[]
required
Minimum length: 1

Response

id
string<uuid>
required
Example:
name
string
required
tables
object[]
required
createdAt
string<date-time>
required
Example:
updatedAt
string<date-time>
required
Example:
workspaceId
string