Skip to content
REST API

Generate a note from sources

POST
/notes/{noteId}/generate

Writes a note from the note's own files, recordings and text, as the app's Generate button does. The generation runs as a job: poll GET /jobs/{jobId} until it ends. An empty note gets the result written in when you apply it (intoNote is true); a note with text gets a preview to apply or discard. Counts as an AI use.

Required scopes: generation:start

Authorization

AuthorizationBearer <token>

In: header

Path Parameters

noteId*string

Note id, scoped to the key's user.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Header Parameters

Idempotency-Key?string

A client-generated key (1 to 255 visible ASCII characters) that makes this POST safe to retry. A retry with the same key and body replays the original response; the same key with a different body returns 409 idempotency_conflict. Stored for 24 hours.

Match^[\x21-\x7E]{1,255}$
Length1 <= length <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/notes/497f6eca-6276-4993-bfeb-53cbbbba6f08/generate" \  -H "Content-Type: application/json" \  -d '{    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",    "sources": {      "fileIds": [        "ede129fb-d491-4897-912f-401a8573064f"      ],      "recordingIds": [        "ea761e80-df65-459d-985a-43b6340026cd"      ],      "includeNote": true    },    "depth": "standard"  }'
{  "data": {    "jobId": "7d6c5b4a-3f2e-4d1c-8b0a-9f8e7d6c5b4a",    "intoNote": false  }}