Skip to main content
POST
TypeScript SDK
Creates a meeting notes block and begins processing its source media. The response includes the ID of the created block. A full block response also includes its current processing status. Source types allow you to directly attach a file upload, or create a meeting note block from an existing audio or video file block: For a file upload source, upload the media and wait until the file upload has a status of uploaded before calling this endpoint. See Uploading small files for the complete upload flow.
For a .m4a audio file, use the audio/mp4 content type. WebM audio is not supported.

Processing status

Processing continues asynchronously after the endpoint returns. Use Retrieve a block with the returned block ID and check meeting_notes.status. When summary generation is enabled, wait for notes_ready before retrieving the generated summary and notes from the IDs in meeting_notes.children. By default, Notion starts summary generation after transcription. Set options.kickoff_summary to false to transcribe the media without generating a summary. If you provide a title and enable summary generation, treat the title as provisional. Notion may replace it when processing completes.
This endpoint is not idempotent. Retrying a request may create duplicate meeting notes blocks.

Requirements

The integration must have the Insert content capability. Read content is also required to use an existing block as the source or receive the full meeting notes block in the response. Without Read content, a request using a file upload source returns only the created block’s object and id. The user associated with the integration must also have access to AI meeting notes. See the capabilities guide and Notion pricing.

Errors

Returns a 400 HTTP response if AI meeting notes are not available to the integration’s user or if the request contains an invalid source, parent, or processing option. Each Public API endpoint can return several possible error codes. See the Error codes section for more information.

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 2026-03-11.

Available options:
2026-03-11

Body

application/json
source
object
required

Audio or video source for the meeting note.

parent
object

Parent page for the new meeting note. Required when source.type is file_upload.

title
string

Title for the meeting note.

Maximum string length: 2000
language
enum<string>

Language hint for transcription. Defaults to automatic detection.

Available options:
auto,
en,
zh-CN,
zh-TW,
es,
fr,
de,
ja,
ko,
pt,
ru,
th,
vi,
id,
da,
fi,
no,
nl,
it,
sv,
ar,
he,
pl
options
object

Optional processing settings.

Response

object
string
required

Always "block".

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

The ID of the meeting note block.