Skip to main content
POST
/
v1
/
data_sources
Create a data source
curl --request POST \
  --url https://api.notion.com/v1/data_sources \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Notion-Version: <notion-version>' \
  --data '
{
  "parent": {
    "database_id": "<string>",
    "type": "<string>"
  },
  "properties": {},
  "title": [
    {
      "text": {
        "content": "<string>",
        "link": {
          "url": "<string>"
        }
      },
      "annotations": {
        "bold": true,
        "italic": true,
        "strikethrough": true,
        "underline": true,
        "code": true,
        "color": "default"
      },
      "type": "<string>"
    }
  ],
  "icon": {
    "file_upload": {
      "id": "<string>"
    },
    "type": "<string>"
  }
}
'
{
  "object": "<unknown>",
  "message": "<string>",
  "code": "invalid_json",
  "status": "<unknown>",
  "additional_data": {}
}
Use this API to add an additional data source to an existing database. The properties follow the same structure as the initial schema passed to initial_data_source[properties] in the Create a database API, but can be managed independently of the properties of any sibling data sources. A standard “table” view is created alongside the new data source. To customize database views, use the Notion app. Managing views is not currently supported in the API.

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

Body

application/json
parent
object
required

An object specifying the parent of the new data source to be created.

properties
object
required

Property schema of data source.

title
object[]

Title of data source as it appears in Notion.

Maximum array length: 100
icon
object

Page icon.

Response

object
any
required
message
string
required
code
enum<string>
required
Available options:
invalid_json,
invalid_request_url,
invalid_request,
missing_version,
validation_error
status
any
required
additional_data
object