Base URL
http://localhost:8013/api/v1
All endpoints require Bearer token authentication in the Authorization header.
Meetings
Create Meeting
/api/v1/meetingsCreate a new meeting record.
Request Body:
{
"title": "Q4 Budget Review",
"meeting_type": "review",
"language": "ar",
"participants": ["Ahmed Al Mansoori", "Fatima Al Hashimi"],
"scheduled_at": "2024-01-15T14:00:00Z"
}
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Meeting title (1-500 characters) |
meeting_type | string | No | cabinet, committee, review, standup, general, board, workshop (default: general) |
language | string | No | ar, en, auto (default: auto) |
participants | string[] | No | List of participant names |
scheduled_at | datetime | No | Scheduled meeting time (ISO 8601) |
Response:
{
"id": "mtg-a1b2c3",
"title": "Q4 Budget Review",
"meeting_type": "review",
"status": "created",
"language": "ar",
"audio_filename": null,
"duration": null,
"participants": ["Ahmed Al Mansoori", "Fatima Al Hashimi"],
"created_by": "user-123",
"scheduled_at": "2024-01-15T14:00:00Z",
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-15T10:00:00Z",
"has_transcript": false,
"has_summary": false,
"action_item_count": 0
}
List Meetings
/api/v1/meetingsQuery Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
page_size | integer | 20 | Results per page (max 100) |
meeting_type | string | - | Filter by meeting type |
status | string | - | Filter by status |
search | string | - | Search in meeting titles |
Get Meeting Details
/api/v1/meetings/{meeting_id}Returns full meeting details including summary and action items.
Response:
{
"id": "mtg-a1b2c3",
"title": "Q4 Budget Review",
"meeting_type": "review",
"status": "summarized",
"language": "ar",
"audio_filename": "budget_review.mp3",
"duration": 3540.0,
"participants": ["Ahmed Al Mansoori", "Fatima Al Hashimi"],
"summary": {
"agenda": ["Q4 budget utilization review", "2025 budget planning"],
"key_points": ["Budget utilization at 94.2%", "AI investment approved"],
"decisions": ["Approved additional AED 5M for AI infrastructure"],
"action_items": [...],
"next_steps": ["Follow-up review in 30 days"]
},
"action_items": [...],
"created_by": "user-123",
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-15T11:30:00Z"
}
Audio & Transcription
Upload Audio
/api/v1/meetings/{meeting_id}/uploadUpload a meeting audio file. Accepts multipart/form-data with a file field. Triggers automatic transcription.
Get Transcript
/api/v1/meetings/{meeting_id}/transcriptReturns the meeting transcript with speaker-attributed segments.
Response:
{
"meeting_id": "mtg-a1b2c3",
"segments": [
{
"speaker": "Speaker 1",
"start": 0.0,
"end": 12.5,
"text": "بسم الله الرحمن الرحيم، نبدأ اجتماع اليوم"
}
],
"full_text": "...",
"language": "ar",
"duration": 3540.0
}
Summarization
Summarize Meeting
/api/v1/meetings/{meeting_id}/summarizeGenerate an AI summary of the meeting transcript. Produces structured sections (agenda, key points, decisions, action items, next steps) and extracts action items.
Action Items
Get Action Items
/api/v1/meetings/{meeting_id}/actionsList action items for a meeting, optionally filtered by status.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status: pending, in_progress, completed, cancelled |
Update Action Item
/api/v1/meetings/{meeting_id}/actions/{action_id}Update an action item's status, assignee, deadline, priority, or description.
Request Body:
{
"status": "in_progress",
"assignee": "Dr. Ahmed Al Mansoori",
"deadline": "2024-02-15T17:00:00Z",
"priority": "high"
}
Export
Export Meeting
/api/v1/meetings/{meeting_id}/exportExport the meeting in a structured format.
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
format | string | markdown | Export format: markdown or json |
Templates
Create Template
/api/v1/templatesList Templates
/api/v1/templatesGet Template
/api/v1/templates/{template_id}Update Template
/api/v1/templates/{template_id}Delete Template
/api/v1/templates/{template_id}Requires admin role. Built-in templates cannot be deleted.
Health & Metrics
Health Check
/api/v1/healthMetrics
/api/v1/metricsReturns uptime, total requests, and error counts.