Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Notion Blocks API

Blocks are the fundamental units of content in Notion. Every page is composed of blocks, which can be paragraphs, headings, images, tables, lists, and many other types. Blocks can have children, forming a tree structure. Use these endpoints to retrieve, update, delete blocks and manage block children.

Notion Blocks API is one of 6 APIs that Notion publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

This API exposes 3 JSON Schema definitions.

Tagged areas include Blocks. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an AsyncAPI specification, a JSON-LD context, authentication docs, a getting-started guide, and 3 JSON Schemas.

This API exposes 5 operations across 2 paths, and defines 5 schemas. It is described by OpenAPI 3.1.0, at version 2022-06-28.

Requests are made against a single base URL, https://api.notion.com/v1.

5 operations 2 paths 5 schemas 1 DELETE2 GET2 PATCH

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2022-06-28
Server
https://api.notion.com/v1
Authentication
HTTP Bearer
Terms of Service
Resource Areas
1

Authentication & Security 1

Notion Blocks API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

  • bearerAuth — Notion API uses bearer token authentication. Obtain an integration token from https://www.notion.so/my-integrations. Pass the token in the Authorization header…

Paths & Operations 5

Across 2 paths, the API surfaces 5 operations — 1 DELETE, 2 GET, 2 PATCH. Each is listed below with its method, path, parameters, and response codes.

Blocks 5

Blocks are the fundamental units of content in Notion. Every page is composed of blocks, which can be paragraphs, headings, images, tables, lists, and many other types. Blocks can…

GET
/blocks/{block_id}
Notion Retrieve a block
retrieveBlock 2 params → 200401404429
PATCH
/blocks/{block_id}
Notion Update a block
updateBlock 2 params body → 200400401404429
DELETE
/blocks/{block_id}
Notion Delete a block
deleteBlock 2 params → 200401404429
GET
/blocks/{block_id}/children
Notion Retrieve block children
retrieveBlockChildren 4 params → 200401404429
PATCH
/blocks/{block_id}/children
Notion Append block children
appendBlockChildren 2 params body → 200400401404429

Schemas 5

The contract defines 5 schemas that model the data the API accepts and returns. The most detailed are Block (11 properties), PaginatedList (6 properties), Error (5 properties), Parent (5 properties). Each schema is shown below with its type and property counts.

PaginatedList
object
A paginated list of results returned by list and query endpoints. All paginated responses follow the same structure with a results array, pagination info, and…
6 properties 4 required
Block
object
A Block object represents a piece of content within a Notion page. Blocks are the building blocks of all page content and can be of many types including paragr…
11 properties 6 required
Parent
object
A Parent object represents the parent of a page, database, or block. The parent can be a workspace, page, database, or block.
5 properties 1 required
PartialUser
object
A partial User object containing only the object type and ID. Used in createdby and lasteditedby fields.
2 properties 2 required
Error
object
An error response from the Notion API.
5 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

notion-blocks-api-openapi.yml Raw ↑

Other APIs Notion publishes across the network.

Notion Comments API
Notion Databases API
Notion Pages API
Notion Search API
Notion Users API