API Reference
Complete reference for the Mira REST API. All endpoints require a valid API key in the Authorization header.
OpenAPI Spec
The full OpenAPI 3.0 specification is available at GET /api/v1/openapi.json. You can import it into Postman, Insomnia, or any OpenAPI-compatible tool.
Meetings
/api/v1/meetingsList meetings for your organization with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | Default: 1 | Page number |
limit | integer | Default: 20 | Items per page (max 100) |
status | string | Optional | Filter by status: pending, fetched, processing, completed, failed, no_transcript |
user_id | uuid | Optional | Filter meetings by user |
from | ISO 8601 | Optional | Meetings after this date |
to | ISO 8601 | Optional | Meetings before this date |
curl "https://your-domain.com/api/v1/meetings?status=completed&limit=10" \
-H "Authorization: Bearer mira_live_xxxx"/api/v1/meetings/{id}Get a single meeting by ID, including the full transcript.
/api/v1/meetings/{id}/reportGet all coaching reports associated with a specific meeting.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | uuid | Required | Meeting ID |
Templates
/api/v1/templatesList coaching/scoring templates for your organization.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | Default: 1 | Page number |
limit | integer | Default: 20 | Items per page |
is_active | boolean | Optional | Filter by active status |
call_type | string | Optional | Filter by call type |
/api/v1/templatesCreate a new coaching template. Requires 'write' permission.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Required | Template name |
prompt_template | string | Required | The coaching prompt template |
grading_criteria | array | Required | Array of grading criteria objects |
description | string | Optional | Template description |
coaching_tone | string | Optional | One of: direct, encouraging, data-driven |
call_type | string | Optional | One of: discovery, demo, negotiation, follow-up, closing, cold-call, general |
industry_context | string | Optional | Industry context for the template |
{
"name": "Discovery Call Scoring",
"prompt_template": "Evaluate the sales rep...",
"grading_criteria": [
{ "name": "Rapport Building", "weight": 25, "description": "..." },
{ "name": "Needs Discovery", "weight": 35, "description": "..." },
{ "name": "Next Steps", "weight": 20, "description": "..." },
{ "name": "Active Listening", "weight": 20, "description": "..." }
],
"coaching_tone": "encouraging",
"call_type": "discovery"
}/api/v1/templates/{id}Get a single template by ID with full details.
/api/v1/templates/{id}Update a template. Requires 'write' permission.
/api/v1/templates/{id}Delete a template. Requires 'write' permission.
Reports
/api/v1/reportsList coaching reports with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | Default: 1 | Page number |
limit | integer | Default: 20 | Items per page |
user_id | uuid | Optional | Filter reports by user |
from | ISO 8601 | Optional | Reports created after this date |
to | ISO 8601 | Optional | Reports created before this date |
min_score | number | Optional | Minimum overall score |
max_score | number | Optional | Maximum overall score |
/api/v1/reports/{id}Get a full coaching report by ID, including criteria scores and feedback.
Team
/api/v1/team/statsGet aggregated team performance statistics.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_range | string | Default: month | One of: week, month, quarter, year, all |
{
"data": {
"time_range": "month",
"team_size": 12,
"total_meetings": 87,
"total_reports": 64,
"average_score": 7.3,
"top_performers": [
{
"user_id": "...",
"name": "Jane Smith",
"avg_score": 8.9,
"report_count": 8
}
]
},
"error": null,
"meta": null
}Insights
/api/v1/insightsList marketing insights extracted from sales calls.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | Default: 1 | Page number |
limit | integer | Default: 20 | Items per page |
date_from | ISO 8601 | Optional | Insights after this date |
date_to | ISO 8601 | Optional | Insights before this date |
industry | string | Optional | Filter by industry (partial match) |
prospect_title | string | Optional | Filter by prospect title (partial match) |
Roleplay
/api/v1/roleplay/sessionsList roleplay practice sessions with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | Default: 1 | Page number |
limit | integer | Default: 20 | Items per page |
user_id | uuid | Optional | Filter by user |
status | string | Optional | Filter by session status |