Skip to content

API overview

The Meetingize REST API v1 gives programmatic access to your meetings, diarized transcripts, AI reports and documents, lets you create meetings from recordings and generate documents, and manages webhooks. It is a JSON API over HTTPS described by an OpenAPI 3.1 specification.

All endpoints live under:

https://app.meetingize.com/api/v1

Requests must use HTTPS and carry a bearer credential (see Authentication).

The API version is 2026-10-01. It is returned in the Meetingize-Version response header and in the api_version field of webhook events. Backward compatible additions (new fields, new endpoints, new event types) can happen at any time: ignore unknown fields. Breaking changes will come with a new version.

  • JSON in UTF-8, dates in ISO 8601 UTC (2026-10-11T14:03:22Z).
  • Amounts are EUR decimal strings ("0.0123"), never floats.
  • Every response carries an X-Request-Id header, also present in error bodies. Give it to support when you report a problem.
  • Errors follow RFC 9457 problem details with a stable code: see Errors and limits.
ObjectFormatExample
MeetingUUID1b9e5c4a-...
Documentdoc_<n>doc_1234
Templatetpl_<n>tpl_42
Jobjob_<hex>job_9b0c2d...
Webhook endpointwe_<hex>we_3f...
Webhook event / deliveryevt_<hex> / whd_<hex>
Ledger entryled_<hex>

List endpoints use cursor pagination:

GET /v1/meetings?limit=20&cursor=eyJ...
{ "data": [ ... ], "has_more": true, "next_cursor": "eyJ..." }

limit defaults to 20 (max 100 on most lists). Keep calling with cursor=next_cursor while has_more is true. An altered cursor returns 400 invalid_cursor.

All POST requests accept an Idempotency-Key header (any unique string, for example a UUID), remembered for 24 hours:

  • same key and same body: the original response is replayed, with Idempotent-Replayed: true;
  • same key, different body: 422 idempotency_key_reused;
  • same key while the first request is still running: 409 idempotency_key_in_use.

Always send one when you create jobs, so that a network retry never starts the same transcription twice.

AreaEndpointsScope
AccountGET /meany
MeetingsGET /meetings, GET /meetings/{id}, /summary, /participants, /exportread:meetings
TranscriptsGET /meetings/{id}/transcriptread:transcripts
TemplatesGET /templates, GET /templates/{id}, GET /personasread:meetings or write:documents
DocumentsPOST /meetings/{id}/documents, GET /documents, GET /documents/{id}write:documents / read:documents
Create, update, delete meetingsPOST /meetings, PATCH /meetings/{id}, DELETE /meetings/{id}write:meetings
FeedbackPOST /feedbackany
JobsGET /jobs, GET /jobs/{id}any
UsageGET /usage, GET /usage/ledgerread:usage
Webhooks/webhook_endpoints and sub-resourceswebhooks

Full details in the reference and the interactive API explorer.