Skip to main content
The blocks.children namespace provides methods to work with child blocks - blocks nested inside other blocks or pages.

Methods

  • list() - Retrieve a list of child blocks
  • append() - Add new child blocks to a parent block or page

List Block Children

Retrieves a paginated list of child blocks for a given parent block or page.

Method Signature

Source: Client.ts:645-656

Parameters

block_id
string
required
The ID of the parent block or page whose children you want to retrieve
start_cursor
string
Pagination cursor for the next page of results. If provided, the API returns results starting from this cursor.
page_size
number
Number of items to return per page. Maximum is 100 (default).
auth
string
Optional authentication token to override the client-level auth

Response

Returns a paginated list of blocks.
object
string
Always "list"
type
string
Always "block"
results
Array<BlockObjectResponse>
Array of child block objects
next_cursor
string | null
Cursor for the next page of results, or null if there are no more results
has_more
boolean
Whether there are more results available

Examples

List All Children

Paginate Through Children

Use Pagination Helper

Filter Children by Type


Append Block Children

Adds new child blocks to a parent block or page. You can append multiple blocks in a single request.

Method Signature

Source: Client.ts:629-640

Parameters

block_id
string
required
The ID of the parent block or page to append children to
children
Array<BlockObjectRequest>
required
Array of block objects to append. Each block must include a type and type-specific content.
after
string
Deprecated. Use position instead. Block ID to insert after.
position
ContentPositionSchema
Position to insert the blocks:
  • { type: "start" } - Insert at the beginning
  • { type: "end" } - Insert at the end (default)
  • { type: "after_block", after_block: { id: "block-id" } } - Insert after a specific block
auth
string
Optional authentication token to override the client-level auth

Response

Returns a list containing the newly created blocks.
object
string
Always "list"
type
string
Always "block"
results
Array<BlockObjectResponse>
Array of newly created block objects with IDs assigned
next_cursor
string | null
Always null for append operations
has_more
boolean
Always false for append operations

Examples

Append a Single Paragraph

Append Multiple Blocks

Append a Code Block

Append To-Do Items

Append with Nested Children

Insert at Specific Position

Append Callout with Emoji

Limitations

  • Maximum of 100 blocks can be appended in a single request
  • Nested children can only be one level deep (blocks with children property cannot themselves have children in the request)
  • Some block types cannot have children (e.g., dividers, images)

Error Handling