Skip to main content
POST
cURL
Notes are saved into the meeting’s Page and its legacy content form in one transaction. The form projection, custom fields, and agenda remain available to older integrators. Shared historical forms are copied into each owner’s Page. New senders can provide a canonical page document (schema version 1) with a positive, increasing sourceRevision. Stale revisions and conflicting retries return HTTP 409. Repeating an unchanged revision is idempotent. A deleted note requires a newer revision to restore it. Older senders can continue using summaryMarkdown, detailBlocks, and actionItems. The backend converts these into Page content. Omitted fields retain existing content; an explicit empty detailBlocks array clears details. A summary-only edit retains existing photos. The response includes the note id, meeting meetingId, prefixed pageId, templateResponseId, syncedTo: "meetingTemplateResponse", and updatedAt. The template response remains a real, readable legacy projection. Notes are identified by your authenticated integration and externalSourceId. Reusing the same ID updates your note; another integration can use that ID independently. sourceApp records the source application and does not grant ownership.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

builderId
string
required
Example:

"buil_clgbsb90b001qjy0f0eo1hspp"

meetingId
string
required
Example:

"extapitoolboxmeeting01"

Body

application/json

Canonical page writes require sourceRevision; legacy fields remain supported. The meeting owns its note. Editing a historically shared form detaches that meeting first.

externalSourceId
string

Your source record ID, scoped to the authenticated integration. When omitted, a new ID is generated and returned; reuse it for subsequent updates and deletion.

Example:

"external-note-123"

sourceApp
string

Identifier for the source application. Omission preserves the existing source app, or uses external for a new note. This label does not grant ownership.

Example:

"example-integrator"

Example:

"buildpass://meetings/extapitoolboxmeeting01/notes/external-note-123"

Example:

"https://app.buildpass.com.au/meetings/extapitoolboxmeeting01"

title
string | null
Example:

"Site walk note"

summaryMarkdown
string | null
Example:

"Captured decisions from the site walk."

detailBlocks
object[] | null
actionItems
unknown
capturedStartedAt
string<date-time> | null
Example:

"2026-01-15T12:00:00.000Z"

capturedEndedAt
string<date-time> | null
Example:

"2026-01-15T12:10:00.000Z"

page
object

Authoritative snapshot. Maximum 500 blocks across the whole tree and four Page levels including root. Source block IDs are unique among siblings.

sourceRevision
integer

Required when page is supplied. Omit page to retain legacy Markdown behavior.

Required range: 1 <= x <= 9007199254740991

Response

The created or updated meeting note

syncedTo
enum<string>
required
Available options:
meetingTemplateResponse
pageId
string
required
Pattern: ^page_
templateResponseId
string | null
id
string
Pattern: ^mnote_
meetingId
string
blockId
string
updatedAt
string<date-time>
externalSourceId
string

Source record ID to reuse for subsequent updates and deletion. Generated when omitted on creation.

sourceApp
string