Meetings
List, read, export, rename, delete meetings, and manage summaries and speaker labels.
Meetings are the core resource. You can list and read them, export, rename, delete, read and overwrite summaries, regenerate a summary, and set speaker labels. Note: you cannot create a meeting over the API; meetings come from the recording flow.
Endpoints
| Method + path | Scope | Notes |
|---|---|---|
GET /v1/meetings | Read | Pagination via ?limit(max 200, default 50) and ?offset. |
GET /v1/meetings/:id | Read | Returns a single MeetingDto. |
GET /v1/meetings/:id/transcript | Read | Returns {meeting_id,title,segments:[...]}. |
GET /v1/meetings/:id/summary | Read | Returns {meeting_id,status,result?,error?,updated_at}. |
GET /v1/meetings/:id/export | Read | ?format=json|md|txt, default json. |
GET /v1/search?q= | Read | Full-text search across meetings. Capped (?limit default 50, max 200) and returns {results} only, with no total - unlike GET /v1/meetings, a client cannot tell whether results were truncated, so widen q or raise limit if you may be at the cap. |
PATCH /v1/meetings/:id | Write | Rename. Body {title}, title max 500 chars. |
DELETE /v1/meetings/:id | Delete | Irreversible. Cascades to the meeting's transcript and summary. |
PUT /v1/meetings/:id/summary | Write | Overwrites the summary text. |
POST /v1/meetings/:id/summary/regenerate | Write | Returns 202 with a process_id. 422 if the transcript is empty. Default template daily_standup. |
PUT /v1/meetings/:id/speaker-labels | Write | Maps cluster keys to display names. |
Irreversible - read first, confirm, least privilege
This resource has destructive operations. DELETE /v1/meetings/:id permanently removes the meeting and cascades to its transcript and summary; PUT .../summary overwrites the existing summary. Read the target first, confirm with the operator before acting, and never wrap a delete in an unbounded loop over all meetings. Deletion requires the delete scope by design.
List meetings
curl -s "http://127.0.0.1:8420/v1/meetings?limit=20" -H "Authorization: Bearer $MEETILY_PRO_TOKEN"meetily-pro meetings list --limit 20from meetily_agent import MeetilyClient
print(MeetilyClient().meetings.list(limit=20))Export a meeting
curl -s "http://127.0.0.1:8420/v1/meetings/MEETING_ID/export?format=md" -H "Authorization: Bearer $MEETILY_PRO_TOKEN"meetily-pro meetings export MEETING_ID --format mdfrom meetily_agent import MeetilyClient
print(MeetilyClient().meetings.export("MEETING_ID", format="md"))Regenerate a summary
Regenerating a summary does not block. The call returns 202 with a process_id immediately, and the summary updates asynchronously once the job finishes.
curl -s -X POST http://127.0.0.1:8420/v1/meetings/MEETING_ID/summary/regenerate -H "Authorization: Bearer $MEETILY_PRO_TOKEN" -H "content-type: application/json" -d '{"template_id":"daily_standup"}'meetily-pro summary regenerate MEETING_ID --template-id daily_standupfrom meetily_agent import MeetilyClient
print(MeetilyClient().meetings.regenerate_summary("MEETING_ID", template_id="daily_standup"))Last updated on
