Skip to main content
PATCH
/
v1
/
databases
/
{database_id}
TypeScript SDK
import { Client } from "@notionhq/client"

const notion = new Client({ auth: process.env.NOTION_API_KEY })

const response = await notion.databases.update({
  database_id: "d9824bdc-8445-4327-be8b-5b47500af6ce",
  title: [{ text: { content: "Updated Database Title" } }]
})
{
  "object": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
Deprecated as of version 2025-09-03
This page describes the API for versions up to and including 2022-06-28. In the new 2025-09-03 version, the concepts of databases and data sources were split up, as described in Upgrading to 2025-09-03.Refer to the new APIs instead:
Updates the database object — the title, description, or properties — of a specified database. Returns the updated database object. Database properties represent the columns (or schema) of a database. To update the properties of a database, use the properties body param with this endpoint. Learn more about database properties in the database properties and Update database properties docs. To update a relation database property, share the related database with the integration. Learn more about relations in the database properties page. For an overview of how to use the REST API with databases, refer to the Working with databases guide.

How database property type changes work

All properties in pages are stored as rich text. Notion will convert that rich text based on the types defined in a database’s schema. When a type is changed using the API, the data will continue to be available, it is just presented differently. For example, a multi select property value is represented as a comma-separated list of strings (eg. “1, 2, 3”) and a people property value is represented as a comma-separated list of IDs. These are compatible and the type can be converted. Note: Not all type changes work. In some cases data will no longer be returned, such as people type → file type.

Interacting with database rows

This endpoint cannot be used to update database rows. To update the properties of a database row — rather than a column — use the Update page properties endpoint. To add a new row to a database, use the Create a page endpoint. Developers are encouraged to keep their database schema size to a maximum of 50KB. To stay within this schema size limit, the number of properties (or columns) added to a database should be managed. Database schema updates that are too large will be blocked by the REST API to help developers keep their database queries performant.

Errors

Each Public API endpoint can return several possible error codes. See the Error codes section of the Status codes documentation for more information.
The following database properties cannot be updated via the API:
  • formula
  • select
  • status
  • Synced content
  • A multi_select database property’s options values. An option can be removed, but not updated.
Database relations must be shared with your integrationTo update a database relation property, the related database must also be shared with your integration.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Notion-Version
enum<string>
required

The API version to use for this request. The latest version is 2025-09-03.

Available options:
2025-09-03

Path Parameters

database_id
string
required

ID of a Notion database, a container for one or more data sources.

Body

application/json
parent
Page Id · object

The parent page or workspace to move the database to. If not provided, the database will not be moved.

title
(Text · object | Mention · object | Equation · object)[]

The updated title of the database, if any. If not provided, the title will not be updated.

Maximum array length: 100
description
(Text · object | Mention · object | Equation · object)[]

The updated description of the database, if any. If not provided, the description will not be updated.

Maximum array length: 100
is_inline
boolean

Whether the database should be displayed inline in the parent page. If not provided, the inline status will not be updated.

icon
File Upload · object

The updated icon for the database, if any. If not provided, the icon will not be updated.

cover
File Upload · object

The updated cover image for the database, if any. If not provided, the cover will not be updated.

in_trash
boolean

Whether the database should be moved to or from the trash. If not provided, the trash status will not be updated.

is_locked
boolean

Whether the database should be locked from editing in the Notion app UI. If not provided, the locked state will not be updated.

Response

object
string
required

The database object type name.

Allowed value: "database"
id
string<uuid>
required

The ID of the database.