V2
Create Database
Create a database and define its property schema under a page or the workspace root.
Create Database
Use Case
Use this endpoint to create a database and define its property schema. The database can be created under a page or in the current workspace root.
Endpoint
| Item | Value |
|---|---|
| Method | POST |
| Path | /v2/databases |
| Request body | database create parameters |
| Returns | database |
| Scope | databases.write |
Permissions
Requires databases.write and write access to the parent page when one is provided.
Headers
| Header | Required | Description |
|---|---|---|
Authorization |
Yes | Bearer <token>. |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
parent.page_id |
string | No | Parent page ID. Omit parent to create the database in the current workspace root. |
title |
rich_text[] | No | Database title. |
description |
rich_text[] | No | Database description. |
icon |
object or null | No | Database icon. |
cover |
object or null | No | Database cover. |
properties |
object | Yes | Database property schema. |
is_inline |
boolean | No | Whether to create an inline database. |
Request Example
{
"parent": {
"page_id": "55555555-5555-4555-8555-555555555555"
},
"title": [
{
"type": "text",
"text": {
"content": "Task Board"
}
}
],
"properties": {
"Name": {
"name": "Name",
"type": "title"
},
"Status": {
"name": "Status",
"type": "select",
"select": {
"options": [
{
"name": "To Do",
"color": "grey"
},
{
"name": "Doing",
"color": "yellow"
},
{
"name": "Done",
"color": "green"
}
]
}
}
}
}
Response Example
{
"object": "database",
"id": "66666666-6666-4666-8666-666666666666",
"created_time": "2026-04-09T08:00:00.000Z",
"last_edited_time": "2026-04-09T09:30:00.000Z",
"created_by": {
"object": "user",
"id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb"
},
"last_edited_by": {
"object": "user",
"id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb"
},
"title": [
{
"type": "text",
"text": {
"content": "Task Board",
"link": null
},
"plain_text": "Task Board",
"href": null
}
],
"description": [],
"icon": null,
"cover": null,
"parent": {
"type": "page_id",
"page_id": "55555555-5555-4555-8555-555555555555"
},
"properties": {
"Name": {
"id": "title",
"type": "title",
"name": "Name"
},
"Status": {
"id": "16161616-1616-4616-8616-161616161616",
"type": "select",
"name": "Status"
}
},
"in_trash": false,
"is_inline": false,
"url": "https://buildin.ai/database/66666666-6666-4666-8666-666666666666"
}
Behavior
propertiesis required and must include a title property.propertiesdescribes schema, not record values.- If
parentis omitted, the database is created in the current token workspace root. is_inlinecontrols whether the database is displayed inline in the parent page.
Errors
400 validation_error: missing or invalid properties, or no title property.401 unauthorized: invalid or expired token.403 forbidden: missingdatabases.writeor no access to the parent.404 not_found: parent page does not exist.