Bearer token authentication
All API requests require a valid API key passed in theAuthorization header as a Bearer token.
| Prefix | Environment | Usage |
|---|---|---|
mvo_live_ | Production | Live data, production integrations |
mvo_test_ | Sandbox | Test data, safe for development |
Generating API keys
Open your dashboard
Navigate to mavioapp.com/settings/api and sign in.
Create a new key
Click Create API Key, give it a descriptive name (e.g., “Slack integration”), and select the scopes you need.
Scopes
API keys can be scoped to limit access. When creating a key, select only the scopes your integration requires.| Scope | Description |
|---|---|
meetings:read | List and retrieve meetings |
meetings:write | Delete meetings |
transcripts:read | Retrieve and search transcripts |
summaries:read | Retrieve summaries |
summaries:write | Regenerate summaries |
action_items:read | List action items |
action_items:write | Update action item status, assignee, due date |
webhooks:read | List webhook subscriptions |
webhooks:write | Create, update, and delete webhook subscriptions |
OAuth 2.0
For applications that act on behalf of Mavio users (e.g., third-party integrations), use the OAuth 2.0 Authorization Code flow.1. Register your application
Register your app at mavioapp.com/settings/oauth-apps to receive aclient_id and client_secret.
2. Redirect the user to authorize
Your OAuth application’s client ID.
The URL to redirect back to after authorization. Must match a registered redirect URI.
Must be
code.Space-separated list of scopes to request.
A random string to prevent CSRF attacks. Verify this value when the user is redirected back.
3. Exchange the authorization code for tokens
After the user authorizes your app, they are redirected to yourredirect_uri with a code parameter. Exchange it for an access token:
4. Refresh the access token
Access tokens expire after 1 hour. Use the refresh token to obtain a new one:Security best practices
- Store API keys and tokens in environment variables or a secrets manager, never in source code.
- Rotate API keys periodically and immediately if you suspect a leak.
- Use scoped keys with the minimum permissions required.
- For OAuth, always validate the
stateparameter to prevent CSRF attacks. - Monitor your API usage on the dashboard for unexpected activity.