Aller au contenu

Documents API reference

Ce contenu n’est pas encore disponible dans votre langue.

Generated from the OpenAPI specification (version 2026-10-01). Base URL: https://app.meetingize.com/api. All requests need Authorization: Bearer <API key or OAuth token>. Try them in the API explorer.

GET /v1/documents

Documents generated for your meetings, most recent first. Required scope: read:documents.

ParameterInTypeRequiredDescription
cursorquerystring
limitqueryinteger
meeting_idquerystringOnly the documents of this meeting.

Responses

  • 200:
  • 400: Validation error
  • 401: Missing or invalid credential
  • 403: Insufficient scope
  • 404: Not found (also for resources of other accounts)
  • 429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; see Retry-After
Response fields (200)
FieldTypeRequiredDescription
dataarray of objectyes
has_morebooleanyes
next_cursorstring | nullyes
Terminal window
curl -s "https://app.meetingize.com/api/v1/documents" \
-H "Authorization: Bearer $MEETINGIZE_API_KEY"
GET /v1/documents/{document_id}

format=json (default) returns the metadata and the Markdown; md the Markdown file; pdf and docx a rendered file (generated on first request, then cached). Required scope: read:documents.

ParameterInTypeRequiredDescription
document_idpathstringyes
formatquerydocx, json, md, pdfjson (default), md, pdf or docx.

Responses

  • 200:
  • 400: Validation error
  • 401: Missing or invalid credential
  • 403: Insufficient scope
  • 404: Not found (also for resources of other accounts)
  • 429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; see Retry-After
Response fields (200)
FieldTypeRequiredDescription
idstringyes
objectstringyes
meeting_idstring (uuid)yes
titlestringyes
template_idstring | null
languagestring | null
modelstring | null
formatsarray of stringyes
markdownstringOnly in GET /documents/{id}
created_atstring (date-time)yes
updated_atstring (date-time)yes
Terminal window
curl -s "https://app.meetingize.com/api/v1/documents/<document_id>" \
-H "Authorization: Bearer $MEETINGIZE_API_KEY"
POST /v1/meetings/{meeting_id}/documents

Generates a document (minutes, client report, proposal…) from the meeting AI report and transcript, either from a template (template_id, see GET /templates) or from your own instructions (prompt). Requires a completed meeting with a report (409 summary_not_ready otherwise, including transcribe_only meetings).

Response (202): a document_generation job. Poll GET /jobs/{id} until completed (then document_id is set; read it with GET /documents/{document_id}), or wait for the document.generated / document.failed webhook. Typical duration: 30 s to 2 min.

Parallel processing quota: same rule as the webapp. Your plan allows N simultaneous processings (meetings being processed + documents being generated, webapp and API together; Free 1 by default). Above it the request is refused with 429 parallel_processing_limit and Retry-After: 30; nothing is queued on our side, retry later.

Billing: consumption (audio minutes, LLM tokens) is measured after completion and debited from the monthly API allowance of your plan, then billed on demand if you enabled it (spend cap). If nothing can pay, the request is refused with 402 (insufficient_balance or spend_cap_reached).

Required scope: write:documents. Supports Idempotency-Key.

ParameterInTypeRequiredDescription
Idempotency-KeyheaderstringOptional unique key (max 255 characters, a UUID v4 is recommended) that makes the request safe to retry. If a network error leaves you unsure whether the request was received, send it again with the same key: if it was already processed, you get the original response again (header Idempotent-Replayed: true) and nothing is created twice (no duplicate meeting, no double billing). Keys are kept 24 hours per account. Same key with a different body: 422 idempotency_key_reused; same key while the first request is still being processed: 409 idempotency_key_in_use. Example: Idempotency-Key: 6f1c2a3e-9b7d-4c1e-8f2a-0d3b4c5e6f70.
meeting_idpathstringyes

Request body (application/json)

FieldTypeRequiredDescription
template_idstring
promptstring
titlestring
instructionsstring
include_transcriptboolean
metadataobject | null

Responses

  • 202:
  • 400: Validation error
  • 401: Missing or invalid credential
  • 402: Insufficient balance or spend cap reached
  • 403: Insufficient scope
  • 404: Not found (also for resources of other accounts)
  • 429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; see Retry-After
Response fields (202)
FieldTypeRequiredDescription
idstringyes
objectstringyes
kindmeeting_processing, document_generationyes
statusqueued, processing, completed, failed, canceledyesqueued -> processing -> completed | failed (or canceled)
stagequeued, downloading, transcribing, summarizing, generating, done | nullFiner progress: meeting_processing = queued, downloading (audio_url), transcribing, summarizing, done; document_generation = queued, generating, done
progressnumber | null
meeting_idstring | null
document_idstring | nulldocument_generation: doc_ once completed
parent_job_idstring | nulldocument_generation started by a meeting creation (document_templates)
transcribe_onlyboolean | null
document_templatesarray | null
document_job_idsarray | nullmeeting_processing: document jobs spawned after the AI report
errorobject | null
usageobject | null
metadataobject | null
created_atstring (date-time)yes
started_atstring | null
finished_atstring | null
Terminal window
curl -s -X POST "https://app.meetingize.com/api/v1/meetings/<meeting_id>/documents" \
-H "Authorization: Bearer $MEETINGIZE_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'