Overview

The Mavio API gives you programmatic access to your meeting data. You can retrieve recordings, search transcripts, pull summaries, manage action items, and receive real-time webhook notifications when events occur. All API requests are made to the following base URL:
https://api.mavioapp.com/v1

Versioning

The API is versioned via the URL path. The current version is v1. When breaking changes are introduced, a new version will be released (e.g., /v2). Non-breaking additions such as new fields or endpoints will be added to the current version without a version bump. We will always provide at least 12 months of overlap when deprecating a version, and you will be notified via email and the developer changelog.

Request format

All request bodies must be sent as JSON with the Content-Type: application/json header. Query parameters should be URL-encoded.
curl https://api.mavioapp.com/v1/meetings \
  -H "Authorization: Bearer mvo_live_abc123" \
  -H "Content-Type: application/json"

Response format

All responses are returned as JSON. Successful responses include the data directly or wrapped in a data array for list endpoints. Every list endpoint supports pagination via limit and offset parameters.
Successful response
{
  "data": [...],
  "pagination": {
    "total": 142,
    "limit": 20,
    "offset": 0,
    "has_more": true
  }
}
Error response
{
  "error": {
    "code": "not_found",
    "message": "Meeting with ID mtg_xyz789 was not found.",
    "request_id": "req_abc123def456"
  }
}

SDKs

Official client libraries are available for the following languages:

Python

pip install mavio-ai

Node.js

npm install @mavio-ai/sdk

Go

go get github.com/mavioapp/mavio-go

Quick example

import mavio

client = mavio.Client(api_key="mvo_live_abc123")

meetings = client.meetings.list(limit=10)
for meeting in meetings.data:
    print(f"{meeting.title}{meeting.started_at}")

Support

If you encounter issues or have questions about the API, reach out via: