Bases
Workbench Bases — developer-facing table/database API.
Query Parameters
active (default) or the soft-archived set. Archived rows have the SAME shape as live ones — this is a predicate, not a different resource.
"active"Value in
- "active"
- "archived"
Response Body
application/json
curl -X GET "https://example.com/api/v1/bases"[ { "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ] }]Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/bases" \ -H "Content-Type: application/json" \ -d '{ "slug": "string", "name": "string" }'{ "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ], "materialized": true}curl -X GET "https://example.com/api/v1/bases/string"{ "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ]}curl -X GET "https://example.com/api/v1/bases/string/fields/deleted"[ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} }]Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/bases/string/change-requests" \ -H "Content-Type: application/json" \ -d '{ "fields": { "property1": null, "property2": null } }'{ "id": "string", "baseId": "string", "headCommitId": "string", "parentRecordId": "string", "parentCommitId": "string", "status": "active", "createdBy": "string", "createdByUser": null, "fieldUsers": {}, "archivedAt": "string", "createdAt": "string", "updatedAt": "string", "base": { "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ] }, "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "materialized": true}Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/bases/string/records/bulk-change-request" \ -H "Content-Type: application/json" \ -d '{ "records": [ { "property1": null, "property2": null } ] }'{ "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "status": "in_review", "submittedBy": "string", "submittedByUser": null, "sourceAttribution": { "displayName": "string", "ownerName": "string", "channel": "web_ui" }, "sourceMeta": { "property1": null, "property2": null }, "reviewPolicySnapshot": { "property1": null, "property2": null }, "mergeSummary": { "property1": null, "property2": null }, "rejectedReason": "string", "reviewedAt": "string", "mergedAt": "string", "createdAt": "string", "updatedAt": "string", "base": { "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ] }, "node": { "id": "string", "parentId": "string", "type": "folder", "slug": "string", "name": "string", "description": "string", "metadata": {}, "settings": {}, "explicitVisibility": null, "icon": null, "position": 0, "createdAt": "string", "updatedAt": "string", "baseId": "string", "children": [ { "id": "string", "parentId": "string", "type": "folder", "slug": "string", "name": "string", "description": "string", "metadata": {}, "settings": {}, "explicitVisibility": null, "icon": null, "position": 0, "createdAt": "string", "updatedAt": "string", "baseId": "string", "children": [ null ], "hasChildren": true, "shared": true } ], "hasChildren": true, "shared": true }, "operations": [ { "id": "string", "changeRequestId": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operation": "node_create", "status": "pending", "targetRecordId": "string", "targetViewId": "string", "filePath": "string", "sourceRecordId": "string", "sourceCommitId": "string", "baseCommitId": "string", "headCommitId": "string", "deleteMode": "archive", "mergedRecordId": "string", "mergedViewId": "string", "position": 0, "createdAt": "string", "updatedAt": "string", "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "baseFields": { "property1": null, "property2": null } } ], "primaryOperation": { "id": "string", "changeRequestId": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operation": "node_create", "status": "pending", "targetRecordId": "string", "targetViewId": "string", "filePath": "string", "sourceRecordId": "string", "sourceCommitId": "string", "baseCommitId": "string", "headCommitId": "string", "deleteMode": "archive", "mergedRecordId": "string", "mergedViewId": "string", "position": 0, "createdAt": "string", "updatedAt": "string", "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "baseFields": { "property1": null, "property2": null } }, "operationCount": 0, "reviews": [ { "id": "string", "changeRequestId": "string", "reviewerId": "string", "reviewer": null, "verdict": "approved", "reason": "string", "visibleOperationHeads": { "property1": "string", "property2": "string" }, "createdAt": "string" } ]}Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/bases/string/records/bulk-update-change-request" \ -H "Content-Type: application/json" \ -d '{ "updates": [ { "recordId": "string", "fields": { "property1": null, "property2": null } } ] }'{ "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "status": "in_review", "submittedBy": "string", "submittedByUser": null, "sourceAttribution": { "displayName": "string", "ownerName": "string", "channel": "web_ui" }, "sourceMeta": { "property1": null, "property2": null }, "reviewPolicySnapshot": { "property1": null, "property2": null }, "mergeSummary": { "property1": null, "property2": null }, "rejectedReason": "string", "reviewedAt": "string", "mergedAt": "string", "createdAt": "string", "updatedAt": "string", "base": { "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ] }, "node": { "id": "string", "parentId": "string", "type": "folder", "slug": "string", "name": "string", "description": "string", "metadata": {}, "settings": {}, "explicitVisibility": null, "icon": null, "position": 0, "createdAt": "string", "updatedAt": "string", "baseId": "string", "children": [ { "id": "string", "parentId": "string", "type": "folder", "slug": "string", "name": "string", "description": "string", "metadata": {}, "settings": {}, "explicitVisibility": null, "icon": null, "position": 0, "createdAt": "string", "updatedAt": "string", "baseId": "string", "children": [ null ], "hasChildren": true, "shared": true } ], "hasChildren": true, "shared": true }, "operations": [ { "id": "string", "changeRequestId": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operation": "node_create", "status": "pending", "targetRecordId": "string", "targetViewId": "string", "filePath": "string", "sourceRecordId": "string", "sourceCommitId": "string", "baseCommitId": "string", "headCommitId": "string", "deleteMode": "archive", "mergedRecordId": "string", "mergedViewId": "string", "position": 0, "createdAt": "string", "updatedAt": "string", "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "baseFields": { "property1": null, "property2": null } } ], "primaryOperation": { "id": "string", "changeRequestId": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operation": "node_create", "status": "pending", "targetRecordId": "string", "targetViewId": "string", "filePath": "string", "sourceRecordId": "string", "sourceCommitId": "string", "baseCommitId": "string", "headCommitId": "string", "deleteMode": "archive", "mergedRecordId": "string", "mergedViewId": "string", "position": 0, "createdAt": "string", "updatedAt": "string", "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "baseFields": { "property1": null, "property2": null } }, "operationCount": 0, "reviews": [ { "id": "string", "changeRequestId": "string", "reviewerId": "string", "reviewer": null, "verdict": "approved", "reason": "string", "visibleOperationHeads": { "property1": "string", "property2": "string" }, "createdAt": "string" } ]}Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/bases/string/fields" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "slug": "string" }'{ "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ]}Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/bases/string/fields/change-requests" \ -H "Content-Type: application/json" \ -d '{ "operation": "create" }'{ "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "status": "in_review", "submittedBy": "string", "submittedByUser": null, "sourceAttribution": { "displayName": "string", "ownerName": "string", "channel": "web_ui" }, "sourceMeta": { "property1": null, "property2": null }, "reviewPolicySnapshot": { "property1": null, "property2": null }, "mergeSummary": { "property1": null, "property2": null }, "rejectedReason": "string", "reviewedAt": "string", "mergedAt": "string", "createdAt": "string", "updatedAt": "string", "base": { "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ] }, "node": { "id": "string", "parentId": "string", "type": "folder", "slug": "string", "name": "string", "description": "string", "metadata": {}, "settings": {}, "explicitVisibility": null, "icon": null, "position": 0, "createdAt": "string", "updatedAt": "string", "baseId": "string", "children": [ { "id": "string", "parentId": "string", "type": "folder", "slug": "string", "name": "string", "description": "string", "metadata": {}, "settings": {}, "explicitVisibility": null, "icon": null, "position": 0, "createdAt": "string", "updatedAt": "string", "baseId": "string", "children": [ null ], "hasChildren": true, "shared": true } ], "hasChildren": true, "shared": true }, "operations": [ { "id": "string", "changeRequestId": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operation": "node_create", "status": "pending", "targetRecordId": "string", "targetViewId": "string", "filePath": "string", "sourceRecordId": "string", "sourceCommitId": "string", "baseCommitId": "string", "headCommitId": "string", "deleteMode": "archive", "mergedRecordId": "string", "mergedViewId": "string", "position": 0, "createdAt": "string", "updatedAt": "string", "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "baseFields": { "property1": null, "property2": null } } ], "primaryOperation": { "id": "string", "changeRequestId": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operation": "node_create", "status": "pending", "targetRecordId": "string", "targetViewId": "string", "filePath": "string", "sourceRecordId": "string", "sourceCommitId": "string", "baseCommitId": "string", "headCommitId": "string", "deleteMode": "archive", "mergedRecordId": "string", "mergedViewId": "string", "position": 0, "createdAt": "string", "updatedAt": "string", "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "baseFields": { "property1": null, "property2": null } }, "operationCount": 0, "reviews": [ { "id": "string", "changeRequestId": "string", "reviewerId": "string", "reviewer": null, "verdict": "approved", "reason": "string", "visibleOperationHeads": { "property1": "string", "property2": "string" }, "createdAt": "string" } ]}Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/bases/string/fields/convert/preview" \ -H "Content-Type: application/json" \ -d '{ "fieldId": "string", "newType": "text" }'{ "totalCount": 0, "convertibleCount": 0, "nullCount": 0, "conflicts": [ { "recordId": "string", "currentValue": null } ]}Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/bases/string/lifecycle/change-requests" \ -H "Content-Type: application/json" \ -d '{ "operation": "archive" }'{ "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "status": "in_review", "submittedBy": "string", "submittedByUser": null, "sourceAttribution": { "displayName": "string", "ownerName": "string", "channel": "web_ui" }, "sourceMeta": { "property1": null, "property2": null }, "reviewPolicySnapshot": { "property1": null, "property2": null }, "mergeSummary": { "property1": null, "property2": null }, "rejectedReason": "string", "reviewedAt": "string", "mergedAt": "string", "createdAt": "string", "updatedAt": "string", "base": { "id": "string", "nodeId": "string", "slug": "string", "name": "string", "description": "string", "reviewPolicy": { "kind": "single", "requiredApprovals": 0 }, "createdAt": "string", "fields": [ { "id": "string", "baseId": "string", "slug": "string", "name": "string", "type": "text", "required": true, "position": 0, "options": {} } ] }, "node": { "id": "string", "parentId": "string", "type": "folder", "slug": "string", "name": "string", "description": "string", "metadata": {}, "settings": {}, "explicitVisibility": null, "icon": null, "position": 0, "createdAt": "string", "updatedAt": "string", "baseId": "string", "children": [ { "id": "string", "parentId": "string", "type": "folder", "slug": "string", "name": "string", "description": "string", "metadata": {}, "settings": {}, "explicitVisibility": null, "icon": null, "position": 0, "createdAt": "string", "updatedAt": "string", "baseId": "string", "children": [ null ], "hasChildren": true, "shared": true } ], "hasChildren": true, "shared": true }, "operations": [ { "id": "string", "changeRequestId": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operation": "node_create", "status": "pending", "targetRecordId": "string", "targetViewId": "string", "filePath": "string", "sourceRecordId": "string", "sourceCommitId": "string", "baseCommitId": "string", "headCommitId": "string", "deleteMode": "archive", "mergedRecordId": "string", "mergedViewId": "string", "position": 0, "createdAt": "string", "updatedAt": "string", "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "baseFields": { "property1": null, "property2": null } } ], "primaryOperation": { "id": "string", "changeRequestId": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operation": "node_create", "status": "pending", "targetRecordId": "string", "targetViewId": "string", "filePath": "string", "sourceRecordId": "string", "sourceCommitId": "string", "baseCommitId": "string", "headCommitId": "string", "deleteMode": "archive", "mergedRecordId": "string", "mergedViewId": "string", "position": 0, "createdAt": "string", "updatedAt": "string", "headCommit": { "id": "string", "baseId": "string", "targetType": "base", "nodeId": "string", "operationId": "string", "parentCommitId": "string", "payload": { "property1": null, "property2": null }, "operation": "node_create", "message": "string", "author": "string", "authorUser": null, "createdAt": "string" }, "baseFields": { "property1": null, "property2": null } }, "operationCount": 0, "reviews": [ { "id": "string", "changeRequestId": "string", "reviewerId": "string", "reviewer": null, "verdict": "approved", "reason": "string", "visibleOperationHeads": { "property1": "string", "property2": "string" }, "createdAt": "string" } ]}