vexa-ai API

vexa-ai API as documented publicly: 101 operations. Contract generated from the documentation by API Evangelist (2026-10-31); not the provider's own document.

Operations 101

GET / GET / #
POST / POST / #
PUT / PUT / #
POST /MyRoom POST /MyRoom #
POST /abc-defg-hij POST /abc-defg-hij #
POST /acme/knowledge.git POST /acme/knowledge.git #
DELETE /admin/tokens/{id} Delete an API token #
POST /admin/users Create user #
GET /admin/users/email/{email} Resolve a returning user by email (find-or-create) #
POST /admin/users/{id}/tokens Mint a scoped session token #
PATCH /admin/users/{userId} Update an account's limits and platform-billing fields. #
POST /agent/chat Dispatch a streamed chat turn (not available on hosted service or Kubernetes). #
POST /agent/events Fire a triage on a new email by posting an event. #
POST /agent/meeting/start Start a live meeting copilot to surface decisions and action items during the call. #
GET /agent/meeting/stream Stream the merged transcript and copilot-output feed for a live meeting (not available on hosted service or Kubernetes). #
GET /agent/workspace/attached Check what workspace is currently attached and what is parked. #
GET /agent/workspace/file Read a workspace file. #
GET /agent/workspace/git Get git state including branch, uncommitted changes, and recent commits. #
POST /agent/workspace/init Initialize a fresh workspace (idempotent). #
POST /agent/workspace/swap Swap in an external git repo as the active workspace. #
GET /agent/workspace/tree Browse the file tree of the workspace knowledge graph. #
POST /agent/workspace/upload Add files to the workspace so agents can ground on them. #
POST /api/chat Stream a chat turn returning Server-Sent Events. #
POST /api/chat/reset Reset a chat session. #
GET /api/meeting/relay-health Get typed transcript-relay health status. #
GET /api/meeting/stream Stream the merged transcript and copilot-output feed as Server-Sent Events. #
POST /api/meeting/{start} Launch a live-meeting copilot with SSE merge of transcript and copilot output. #
GET /api/meetings/live Retrieve live-meeting copilot registrations. #
GET /api/models Fetch the resolved model names for this subject. #
GET /api/routines Fetch all routines for this subject. #
POST /api/routines Create a new routine. #
PATCH /api/routines/{name}/enabled Enable or disable a routine. #
GET /api/sessions Fetch all sessions for this subject. #
GET /api/sessions/{session}/history Fetch the chat history of a session. #
POST /api/workspace/git-token Save a reusable GitHub PAT for workspace git operations. #
GET /api/workspace/git/show Retrieve a commit's unified diff for highlighted rendering in the UI. #
POST /api/workspace/init Initialize the workspace. #
POST /api/workspace/invites Create an invite to share a workspace with a read/write contributor role. #
POST /api/workspace/invites/accept Accept an invite and join a shared workspace. #
GET /api/workspace/invites/preview Preview an invite without granting membership or consuming a use. #
DELETE /api/workspace/invites/{id} Revoke an invite by id. #
POST /api/workspace/swap Attach an external git repo as the active workspace (parks the current one; omit `repo` to swap back to the seed). #
POST /api/workspace/upload Upload files to the workspace. #
GET /api/workspace/{tree} Read workspace tree, file content, or git state. #
GET /auth/me Fetch the user's identity and account limits. #
GET /bots List meetings. #
POST /bots Spawn a bot on a meeting link. #
POST /bots/internal/callback/lifecycle Receive lifecycle.v1 LifecycleEvent to advance FSM and persist to DB. #
GET /bots/status Fetch bot status. #
GET /bots/{platform}/{nativeMeetingId}/chat Restored, empty — the owner boundary is real; the message list is always empty (0.12 does not persist in-meeting chat server-side). #
POST /bots/{platform}/{nativeMeetingId}/chat Not implemented — no bot-command (send) backend in the 0.12 core. #
PUT /bots/{platform}/{nativeMeetingId}/config Update config — change language/task mid-call (currently returns 404 in v0.12 open-core). #
POST /bots/{platform}/{nativeMeetingId}/speak Make the bot speak — TTS into the call (currently returns 404 in v0.12 open-core). #
POST /calendar/ical/…/basic.ics POST /calendar/ical/…/basic.ics #
PUT /calendar/ical/…/basic.ics PUT /calendar/ical/…/basic.ics #
POST /calendar/ical/…/private-…/basic.ics POST /calendar/ical/…/private-…/basic.ics #
POST /events Dispatch an event as a unit invocation. #
GET /health Fetch the health status of the agent-api service. #
PUT /hooks/vexa PUT /hooks/vexa #
POST /internal/validate A raw token → {user_id, scopes, max_concurrent, email, webhook_*} (fail-closed) #
POST /invocations Dispatch a unit; the sink every trigger funnels through. #
GET /meetings List meetings with lightweight rows. #
POST /meetings Plan a meeting on a link. #
GET /meetings/{meetingId} Single meeting — fetch full meeting detail with complete data. #
POST /meetings/{meetingId}/transcribe Not implemented — no on-demand re-transcribe backend in the 0.12 core. #
DELETE /meetings/{platform}/{nativeMeetingId} Delete a planned meeting by native key or delete durable artifacts from a terminal meeting. #
PATCH /meetings/{platform}/{nativeMeetingId} Edit a planned meeting by native key (resolves to your newest owned row). #
GET /meetings/{platform}/{nativeMeetingId}/participants Get meeting participants. #
POST /meetings/{platform}/{nativeMeetingId}/share Create a share capability token for the meeting's transcript. #
POST /meetings/{platform}/{nativeMeetingId}/workspace Bind a meeting to a shared workspace. #
GET /recordings List recordings. #
DELETE /recordings/{recordingId} Delete one recording. #
GET /recordings/{recordingId} Recording detail. #
GET /recordings/{recordingId}/master Master metadata (finalize-on-read). #
GET /recordings/{recordingId}/media/{mediaFileId}/download Download a recording media file. #
GET /recordings/{recordingId}/media/{mediaFileId}/raw Download recording media byte stream. #
POST /runtime/callback Receive workload state/terminal ACK from runtime kernel. #
GET /transcripts Get transcripts. #
POST /transcripts/share/accept Redeem a share token from another authenticated Vexa user to access a transcript. #
POST /transcripts/{platform}/{nativeMeetingId}/share Share a transcript. #
GET /user/calendar Retrieve the first active calendar connection. #
PUT /user/calendar Create or update the first active calendar connection. #
GET /user/calendar/sync Read the aggregate last synchronization result across all active connections. #
POST /user/calendar/sync Synchronize all active calendar connections and return aggregate results. #
GET /user/calendars Fetch all calendar connections for the user. #
POST /user/calendars Create a new calendar connection. #
DELETE /user/calendars/{calendarId} Disconnect a calendar connection. #
PATCH /user/calendars/{calendarId} Update a calendar connection. #
GET /user/calendars/{calendarId}/sync Read the last synchronization result for a calendar connection. #
POST /user/calendars/{calendarId}/sync Synchronize a calendar connection immediately. #
GET /user/models Read the account's LLM settings. #
PUT /user/models Configure the account's LLM settings. #
GET /user/transcription Read the account's speech-to-text endpoint override. #
PUT /user/transcription Set the transcription backend for the user account. #
GET /user/webhook Read the account's webhook configuration. #
PUT /user/webhook Configure the account's webhook delivery. #
GET /user/webhook/deliveries Read the account's webhook delivery history. #
PUT /v1 PUT /v1 #
GET /v1/models Verify the names exposed by your gateway's available models. #
PUT /vexa PUT /vexa #
POST /ws/authorize-subscribe Identity-scoped subscribe authorization. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vexa-ai:vexa-ai-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vexa-ai-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: vexa-ai API
  version: '2026-10-31'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-31: 101 operation(s) read from 40 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; vexa-ai has published no machine-readable contract
    that the pipeline could find. Engine: anthropic.'
  x-evidence-tiers:
    code-example: 12
    documentation: 89
    pages-with-code: 16
    pages-read: 40
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-31'
  x-generator: generate-contract-from-docs.py
  x-engine: anthropic
  x-sources:
  - https://docs.vexa.ai/api/agent.md
  - https://docs.vexa.ai/api/errors.md
  - https://docs.vexa.ai/api/calendar.md
  - https://docs.vexa.ai/api/meetings.md
  - https://docs.vexa.ai/api/settings.md
  - https://github.com/Vexa-ai/vexa/tree/main/core/agent/services/agent-api
  - https://github.com/Vexa-ai/vexa/tree/main/core/identity/services/admin-api
  - https://github.com/Vexa-ai/vexa/tree/main/core/meetings/services/meeting-api
  - https://docs.vexa.ai/webhooks.md
  - https://docs.vexa.ai/quickstart.md
  - https://docs.vexa.ai/quickstart
  - https://docs.vexa.ai/authentication
  - https://docs.vexa.ai/comparison
  - https://docs.vexa.ai/how-to/calendar-sync
  - https://docs.vexa.ai/how-to/send-a-bot
  - https://docs.vexa.ai/how-to/google-meet-transcript-api
  - https://docs.vexa.ai/how-to/stream-transcript
  - https://docs.vexa.ai/how-to/custom-stt
  - https://docs.vexa.ai/how-to/recordings
  - https://docs.vexa.ai/how-to/deferred-transcription
  - https://docs.vexa.ai/n8n
  - https://docs.vexa.ai/obsidian
  - https://docs.vexa.ai/interactive-bots
  - https://docs.vexa.ai/how-to/workspace-files
  - https://docs.vexa.ai/how-to/email-triage
  - https://docs.vexa.ai/how-to/plan-a-meeting
  - https://docs.vexa.ai/how-to/post-meeting-report
  - https://docs.vexa.ai/chatgpt-transcript-share-links
  - https://docs.vexa.ai/core/meetings
  - https://docs.vexa.ai/core/identity
  - https://docs.vexa.ai/core/workspaces
  - https://docs.vexa.ai/architecture/evaluation
  - https://docs.vexa.ai/architecture/control-plane
  - https://docs.vexa.ai/api/meetings
  - https://docs.vexa.ai/api/calendar
  - https://docs.vexa.ai/api/settings
  - https://docs.vexa.ai/api/agent
  - https://docs.vexa.ai/api/errors
  - https://docs.vexa.ai/deployment
  - https://docs.vexa.ai/deployment-lite
servers:


# --- truncated at 32 KB (91 KB total) ---
# Full source: https://artifacts.apis.io/vexa-ai/openapi/_ae-authored/vexa-ai-openapi-generated.yml