API v2

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/v2

All 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.
  • GET operations take query parameters. POST and PATCH operations 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). A dateTo given 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.

CodeHTTP statusMeaning
invalid_request400The body is not valid JSON, or a parameter is missing or invalid. details lists the failing fields.
unauthorized401Missing, malformed, or revoked API key.
insufficient_credits402Your plan has no credits left for Ask Optiverse.
forbidden403You can read this resource but not change it, for example a board you don't own.
not_found404The resource does not exist or you cannot access it.
conflict409The Ask Optiverse session is already answering another message.
payload_too_large413The request body is larger than 1 MB.
rate_limited429Too many requests. Wait for Retry-After seconds.
cancelled400An Ask Optiverse answer was stopped with Cancel while you were waiting for it.
internal_error500Unexpected server error. Retryable.
upstream_unavailable503A dependent service is temporarily unavailable. Retryable.
timeout504The operation took too long. Retryable.

Rate Limits

Limits apply per user and per minute, and are shared between the REST API and MCP:

ClassOperationsLimit
ReadEvery GET operation120 per minute
WriteBoard, task, upload, and session cancel operations60 per minute
AgentPOST /v2/agent/ask10 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

AreaOperations
Ask OptiverseAsk the agent, list sessions, read session messages, cancel a running answer
MeetingsSearch transcripts, list and load meetings, analysis, contacts, calendar, topics, trends, summaries
Boards & TasksList, read, and edit boards, columns, labels, and tasks
Help CenterSearch and read Optiverse Academy articles
UploadsUpload 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.