API v2 Overview
Base URL, authentication, response format, errors, and rate limits for the Optiverse API v2.
API v2 gives scripts, integrations, and AI agents the same capabilities the Optiverse Agent uses: meeting search and analysis, topics, summaries, boards and tasks, the Help Center, and Ask Optiverse itself. Every v2 operation is also available as a tool on the Optiverse MCP server, with the same inputs, limits, and logging.
The machine-readable specification is always current: developer.optiverse.ai/api/v2/openapi.json (OpenAPI 3.1, no authentication required). Import it into Postman or generate a typed client from it.
Base URL
https://developer.optiverse.ai/api/v2All v2 paths in this reference are relative to https://developer.optiverse.ai/api, for example GET https://developer.optiverse.ai/api/v2/meetings/search.
Authentication
v2 uses the same personal API key as v1. Create it in Settings, API keys and send it as a bearer token:
curl "https://developer.optiverse.ai/api/v2/meetings?limit=5" \
-H "Authorization: Bearer optiuser_v1_your_key_here"Requests run as you: they see exactly the meetings, boards, and workspaces you can see in the app. A deleted key stops working within a minute. See Authentication for key handling.
Request Conventions
- Field names are camelCase.
GEToperations take query parameters.POSTandPATCHoperations take a JSON body (Content-Type: application/json).- Array query parameters can be repeated (
recordIds=a&recordIds=b) or comma-separated (recordIds=a,b). - An empty query parameter (
titleSearch=) counts as not sent. - Dates accept ISO dates (
2026-10-01) or timestamps (2026-10-01T09:00:00Z). AdateTogiven as a date includes that whole UTC day.
Response Format
Successful responses wrap the result in data. List operations add pagination:
{
"data": { "meetings": [] },
"pagination": { "limit": 20, "offset": 0, "hasMore": true, "nextOffset": 20 }
}To fetch the next page, repeat the request with offset set to nextOffset. When hasMore is false, nextOffset is null.
Every response carries an X-Request-Id header. Include it when you contact support.
Errors
Errors use one envelope on every operation:
{
"error": {
"code": "not_found",
"message": "The meeting does not exist or is not accessible.",
"retryable": false,
"requestId": "ff1ebf84-72e4-4d37-857d-9988236fbc50"
}
}Branch on code, not on message. When retryable is true, retry with backoff.
| Code | HTTP status | Meaning |
|---|---|---|
invalid_request | 400 | The body is not valid JSON, or a parameter is missing or invalid. details lists the failing fields. |
unauthorized | 401 | Missing, malformed, or revoked API key. |
insufficient_credits | 402 | Your plan has no credits left for Ask Optiverse. |
forbidden | 403 | You can read this resource but not change it, for example a board you don't own. |
not_found | 404 | The resource does not exist or you cannot access it. |
conflict | 409 | The Ask Optiverse session is already answering another message. |
payload_too_large | 413 | The request body is larger than 1 MB. |
rate_limited | 429 | Too many requests. Wait for Retry-After seconds. |
cancelled | 400 | An Ask Optiverse answer was stopped with Cancel while you were waiting for it. |
internal_error | 500 | Unexpected server error. Retryable. |
upstream_unavailable | 503 | A dependent service is temporarily unavailable. Retryable. |
timeout | 504 | The operation took too long. Retryable. |
Rate Limits
Limits apply per user and per minute, and are shared between the REST API and MCP:
| Class | Operations | Limit |
|---|---|---|
| Read | Every GET operation | 120 per minute |
| Write | Board, task, upload, and session cancel operations | 60 per minute |
| Agent | POST /v2/agent/ask | 10 per minute |
Authenticated responses include RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset headers. A 429 response also includes Retry-After. A separate limit of 600 requests per minute per IP address applies before authentication.
Credits
Direct operations (search, meetings, topics, boards, help) are free. Each Ask Optiverse message uses one credit from your plan, the same as asking in the app.
Operations
| Area | Operations |
|---|---|
| Ask Optiverse | Ask the agent, list sessions, read session messages, cancel a running answer |
| Meetings | Search transcripts, list and load meetings, analysis, contacts, calendar, topics, trends, summaries |
| Boards & Tasks | List, read, and edit boards, columns, labels, and tasks |
| Help Center | Search and read Optiverse Academy articles |
| Uploads | Upload a recording for transcription |
v1
API v1 keeps working at https://developer.optiverse.ai/api/v1 and at its original address, https://api.optiverse.ai/external-api/v1. New integrations should use v2.

