Skip to main content

How the Convex HTTP API works

Connvo exposes every public Convex function over HTTPS so you can call it from any language or tool that speaks REST. The OpenAPI document generated by npx convex-helpers open-api-spec captures these endpoints and their schemas.

Core endpoints

  • POST /api/query — Invoke a Convex query for side-effect free reads.
  • POST /api/mutation — Run a mutation that writes data within a transaction.
  • POST /api/action — Execute an action for long-running or external operations.
  • POST /api/run/{module/function} — Call a specific exported function by path, replacing the usual : separator with / (for example messages/list).
All requests share the same JSON envelope:
{
  "args": { "name": "Example" },
  "format": "json"
}
  • args contains the named parameters expected by the function’s validator.
  • format currently supports only json, but remains extensible for future transports.

Understanding responses

Convex wraps responses in a status object:
  • status: "success" includes a value property that contains the function result.
  • status: "error" includes errorMessage, optional errorData, and logLines.
  • logLines replays anything printed during execution, which is invaluable for debugging in Mintlify’s playground.

Reactive vs HTTP behaviour

Convex queries are reactive when consumed through the browser/client SDKs. The HTTP API served to Mintlify is request/response only: every call returns the current result and does not maintain subscriptions. For live updates use the Convex JavaScript client in tandem with the documented endpoints. As you explore the generated endpoints, pay attention to the tags assigned by the enhancement script (Users, Meetings, Transcripts, Insights, Prompts, Notes, WebRTC, System). They group related functions so the reference stays easy to navigate.