Skip to main content
POST
/
api
/
v1
/
notion
/
bulk-insert
Bulk insert records
curl --request POST \
  --url https://{deployment}/api/v1/notion/bulk-insert \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --header 'X-Notion-Token: <api-key>' \
  --data '
{
  "notion_id": "26f...",
  "records": [
    {
      "Name": "Page 1",
      "Status": "Active"
    }
  ]
}
'
{
  "success": true,
  "total": 123,
  "successful": 123,
  "failed": 123,
  "results": [
    {
      "index": 123,
      "success": true,
      "page_id": "<string>",
      "data": {},
      "error": "<string>",
      "error_code": "<string>"
    }
  ],
  "failed_data": [
    {}
  ],
  "error_message": "<string>"
}

Authorizations

X-API-KEY
string
header
required

Your deployment's API key (MMK_API_KEY).

X-Notion-Token
string
header
required

Your Notion integration token / internal token. Supplied by the caller (not stored server-side).

Body

application/json

Provide one of data_source_id / notion_id / database_id to identify the target (priority: data_source_id > notion_id > database_id).

records
object[]
required

Simple property maps, one per page (max 100).

database_id
string

Legacy database ID.

data_source_id
string

Data source ID (multi-data-source databases).

notion_id
string

Auto-detect — accepts either a database or data source ID.

config
object

Optional concurrency/retry config.

page_options
object

Global page-creation options applied to every created page.

Response

Per-record insert results

success
boolean
total
integer
successful
integer
failed
integer
results
object[]
failed_data
object[]
error_message
string