Bases
10 operations, generated from the OpenAPI document.
The plan limits at 80% or more that touch the base: its records and the workspace's other limits (creators and owners)
GET /api/bases/{baseId}/usage-warnings
Access: base:read_usage on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).
Parameters
| Name | In | Type | Required |
|---|---|---|---|
baseId | path | string (uuid) | yes |
Responses
200SuccessworkspaceIdstring (uuid) requiredplanobject requiredidstring requirednamestring required
warningsarray of object requiredmetric"recordsPerBase" | "attachmentBytesPerWorkspace" | "automationRunsPerMonth" | "apiCallsPerMonth" | "editorsPerWorkspace" | "aiCreditsPerMonth" requiredlevel"near" | "full" requiredusedinteger requiredlimitinteger requiredbaseobject | null requiredidstring (uuid) requirednamestring required
resetsOnstring (date) | null required
upgradeUrlstring | null required
401Not signed in403Signed in, but the role is too low404No such resource, or no access to it429Too many requests: a rate limit was reached (see Retry-After)
The bases of a workspace the caller can see (a base-only collaborator sees only theirs)
GET /api/workspaces/{workspaceId}/bases
Access: any signed-in user, for their own data; personal access tokens need schema.bases:read.
Parameters
| Name | In | Type | Required |
|---|---|---|---|
workspaceId | path | string (uuid) | yes |
Responses
200Successbasesarray of object requiredidstring (uuid) requiredworkspaceIdstring (uuid) requirednamestring requireddescriptionstring | null requirediconstring | null requiredcolorstring | null requiredrole"owner" | "creator" | "editor" | "commenter" | "read_only" requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) required
401Not signed in429Too many requests: a rate limit was reached (see Retry-After)
Create a base (owners and creators)
POST /api/workspaces/{workspaceId}/bases
Access: base:create on the workspace (see ACTIONS for the minimum role); personal access tokens need schema.bases:write.
Parameters
| Name | In | Type | Required |
|---|---|---|---|
workspaceId | path | string | yes |
Request body
namestring requireddescriptionstringiconstringcolorstring
Responses
201Successidstring (uuid) requiredworkspaceIdstring (uuid) requirednamestring requireddescriptionstring | null requirediconstring | null requiredcolorstring | null requiredrole"owner" | "creator" | "editor" | "commenter" | "read_only" requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) required
401Not signed in403Signed in, but the role is too low404No such resource, or no access to it422The request failed validation429Too many requests: a rate limit was reached (see Retry-After)
Read a base
GET /api/bases/{baseId}
Access: base:read on the base (see ACTIONS for the minimum role); personal access tokens need schema.bases:read.
Parameters
| Name | In | Type | Required |
|---|---|---|---|
baseId | path | string | yes |
Responses
200Successidstring (uuid) requiredworkspaceIdstring (uuid) requirednamestring requireddescriptionstring | null requirediconstring | null requiredcolorstring | null requiredrole"owner" | "creator" | "editor" | "commenter" | "read_only" requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) required
401Not signed in403Signed in, but the role is too low404No such resource, or no access to it429Too many requests: a rate limit was reached (see Retry-After)
Update a base
PATCH /api/bases/{baseId}
Access: base:update on the base (see ACTIONS for the minimum role); personal access tokens need schema.bases:write.
Parameters
| Name | In | Type | Required |
|---|---|---|---|
baseId | path | string | yes |
Request body
namestringdescriptionstring | nulliconstring | nullcolorstring | null
Responses
200Successidstring (uuid) requiredworkspaceIdstring (uuid) requirednamestring requireddescriptionstring | null requirediconstring | null requiredcolorstring | null requiredrole"owner" | "creator" | "editor" | "commenter" | "read_only" requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) required
401Not signed in403Signed in, but the role is too low404No such resource, or no access to it422The request failed validation429Too many requests: a rate limit was reached (see Retry-After)
Move a base to the trash
DELETE /api/bases/{baseId}
Access: base:delete on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).
Parameters
| Name | In | Type | Required |
|---|---|---|---|
baseId | path | string | yes |
Responses
204Success, no content401Not signed in403Signed in, but the role is too low404No such resource, or no access to it429Too many requests: a rate limit was reached (see Retry-After)
Duplicate a base into this or another workspace, with or without its records, in the background
POST /api/bases/{baseId}/duplicate
Access: base:duplicate on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).
Parameters
| Name | In | Type | Required |
|---|---|---|---|
baseId | path | string | yes |
Request body
namestringworkspaceIdstring (uuid)withRecordsboolean
Responses
201Successidstring (uuid) requiredbaseIdstring (uuid) requiredworkspaceIdstring (uuid) requiredwithRecordsboolean requiredstatus"running" | "done" | "failed" requiredprogressobject requiredrecordsinteger requiredtotalRecordsinteger required
baseobject | null requiredidstring (uuid) requiredworkspaceIdstring (uuid) requirednamestring requireddescriptionstring | null requirediconstring | null requiredcolorstring | null requiredrole"owner" | "creator" | "editor" | "commenter" | "read_only" requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) required
errorstring | null requiredcreatedAtstring requiredfinishedAtstring | null required
401Not signed in403Signed in, but the role is too low404No such resource, or no access to it422The request failed validation429Too many requests: a rate limit was reached (see Retry-After)
A base duplicate's progress (only who started it)
GET /api/bases/{baseId}/duplicates/{duplicateId}
Access: base:duplicate on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).
Parameters
| Name | In | Type | Required |
|---|---|---|---|
baseId | path | string | yes |
duplicateId | path | string (uuid) | yes |
Responses
200Successidstring (uuid) requiredbaseIdstring (uuid) requiredworkspaceIdstring (uuid) requiredwithRecordsboolean requiredstatus"running" | "done" | "failed" requiredprogressobject requiredrecordsinteger requiredtotalRecordsinteger required
baseobject | null requiredidstring (uuid) requiredworkspaceIdstring (uuid) requirednamestring requireddescriptionstring | null requirediconstring | null requiredcolorstring | null requiredrole"owner" | "creator" | "editor" | "commenter" | "read_only" requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) required
errorstring | null requiredcreatedAtstring requiredfinishedAtstring | null required
401Not signed in403Signed in, but the role is too low404No such resource, or no access to it429Too many requests: a rate limit was reached (see Retry-After)
Ask the AI assistant for a change plan (creators): new tables, fields, formulas, views and automations for the base. The model gets the base's schema, and a few records only with includeRecords. Nothing is changed
POST /api/bases/{baseId}/assistant/plan
Access: base:ai_assistant on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).
Parameters
| Name | In | Type | Required |
|---|---|---|---|
baseId | path | string | yes |
Request body
promptstring requiredincludeRecordsboolean
Responses
200Successplanobject requiredsummarystring requiredbaseNamestring | null requiredoperationsarray of object required
problemsarray of object requiredoperationinteger requiredfieldstring | null requiredkind"formula" | "reference" | "name" | "type" requiredmessagestring required
attemptsinteger required
401Not signed in403Signed in, but the role is too low404No such resource, or no access to it422The request failed validation429Too many requests: a rate limit was reached (see Retry-After)
Apply a change plan the user confirmed (creators), in one transaction through the same checks as the API
POST /api/bases/{baseId}/assistant/apply
Access: base:ai_assistant on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).
Parameters
| Name | In | Type | Required |
|---|---|---|---|
baseId | path | string | yes |
Request body
planobject requiredsummarystring requiredbaseNamestring | null requiredoperationsarray of object required
Responses
200SuccessbaseIdstring (uuid) requiredtablesinteger requiredfieldsinteger requiredviewsinteger requiredautomationsinteger requiredfirstTableIdstring (uuid) | null required
401Not signed in403Signed in, but the role is too low404No such resource, or no access to it422The request failed validation429Too many requests: a rate limit was reached (see Retry-After)