API reference

Endpoint reference

Resources, verbs, and the conventions every endpoint follows.

The reference is generated from the OpenAPI description, so it says exactly what the running service accepts. The machine-readable version is served by the API itself at /ext/v1/openapi.json, and needs no key.

Every page here is generated

The reference is built from the OpenAPI description the running service publishes, and the build refuses to produce one that disagrees with the routes — a route nobody documented, or a documented path nobody mounted, fails it by name. So these pages say what the service actually accepts.

Resources

Conventions

VerbUsed forBody
GETReading a record or a collectionNone
POSTCreating a record, or an action on oneJSON
PATCHChanging some fields of a recordJSON, partial
DELETERemoving a recordNone

Identifiers are UUIDs. Recordings additionally carry a referenceNB-3F2A-9C1D-7E5B — which exists for people to quote to support, not for you to parse or look anything up by.

Timestamps are ISO 8601 in UTC, with milliseconds. Durations are integers in seconds — except inside a transcript, where offsets and talk time are milliseconds and say so in the field name (start_ms, end_ms, talkMs).

A representative call

GET/recordings/{runId}

Reads one recording with its summary and action items. Add ?include=transcript for the utterances.

curl "https://api-notetaker.nabrah.ai/ext/v1/recordings/$RUN_ID?include=transcript" \
  -H "Authorization: Bearer $NABRAH_API_KEY"
{
  "data": {
    "runId": "9f8c2e10-4b71-4d2a-8e93-1c7f5a604b18",
    "reference": "NB-3F2A-9C1D-7E5B",
    "scope": "full",
    "owned": true,
    "sharedBy": null,
    "state": "ready",
    "meetingId": "3f2a9c1d-7e5b-4a80-9c11-2d90b8e4c177",
    "title": "Weekly product sync",
    "startsAt": "2026-08-12T09:00:00.000Z",
    "platform": "meet",
    "recordingSeconds": 2740,
    "shortSummary": "The team agreed to ship the billing rework behind a flag.",
    "detailedSummary": "Billing was the whole call. …",
    "attendees": [{ "name": "Sara Al-Otaibi", "email": "sara@acme.com" }],
    "topics": [{ "label": "Billing rework", "share": 0.62 }],
    "actionItems": [
      {
        "id": "6b1f0c34-9a52-4f77-b0d8-51ee2c9a7f03",
        "title": "Draft the migration note",
        "owner": "sara@acme.com",
        "due": "2026-08-15",
        "status": "active",
        "context": "Needed before the flag goes on.",
        "tags": ["billing"]
      }
    ],
    "transcript": [
      { "start_ms": 12400, "end_ms": 15200, "speaker": "Sara", "text": "Let's start with billing." }
    ],
    "speakers": [{ "name": "Sara", "talkMs": 918000, "words": 2140, "share": 0.34 }]
  }
}

Consuming the description directly

curl https://api-notetaker.nabrah.ai/ext/v1/openapi.json