Duplicate a database
Copies a database's fields, views, and settings into a new database named after the original, and copies its records as well when `includeRecords` is set. Requires read access to the source database and `databases:write` to create the copy; if record copying fails partway the new database is removed rather than left half-populated.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/workspaces/string/databases/string/duplicate" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "string", "workspaceId": "string", "itemId": "string", "parentItemId": "string", "key": "string", "label": "string", "description": "string", "icon": "string", "order": 0, "settings": {}, "recordLayout": { "version": 2, "pageWidth": "default", "propertyColumns": 1, "propertyDensity": "comfortable", "propertyOrder": [ "string" ], "hiddenFieldKeys": [ "string" ], "sections": [ { "id": "string", "label": "string", "fieldKeys": [ "string" ] } ], "contentPosition": "before_properties", "showComments": true, "showActivity": true, "pinnedFieldKeys": [ "string" ], "autoAddNewFields": true, "collapsedSectionIds": [ "string" ], "relationViews": { "property1": { "defaultViewId": "string", "position": "properties", "collapsed": true }, "property2": { "defaultViewId": "string", "position": "properties", "collapsed": true } }, "showReferences": true }, "archived": true, "fields": [ { "id": "string", "workspaceId": "string", "databaseId": "string", "key": "string", "label": "string", "kind": "text", "required": true, "defaultValue": "string", "options": [ { "id": "string", "key": "string", "name": "string", "color": "string", "order": 0 } ], "settings": {}, "order": 0, "createdAt": "string", "updatedAt": "string" } ], "views": [ { "id": "string", "workspaceId": "string", "databaseId": "string", "key": "string", "label": "string", "kind": "table", "placement": "database", "manifest": {}, "relationFieldId": "string", "ownerUserId": "string", "scope": "shared", "locked": true, "definitionVersion": 0, "createdAt": "string", "updatedAt": "string" } ], "createdAt": "string", "updatedAt": "string" }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Create a database from a template
Builds a new database from a saved template's manifest, creating its fields and views, and returns the full database detail. Optional `label`, `parentItemId`, and `order` place the new database in the workspace tree. Requires `databases:write` in the workspace; an unknown template returns not-found.
List the record templates of a database
Returns the database's record templates ordered by label, including their prefilled field data, linked content surface, and which one is the default for new records. Requires `databases:read` on the database.