Skip to main content

REST API

Everything you can do in the app — list projects, manage features, dispatch and watch runs, read results, manage groups, drive generation, and more — is also available over the TestVibe REST API (the /api/v1/ops/* surface). The same API powers the testvibe CLI, the MCP server for AI tools, and the in-app Assistant's own tool calls, so all three stay in sync with what the API can do.

Authentication

Every request carries a bearer key created in Settings → CLI & API keys:

Authorization: Bearer tvb_...

A key is scoped to the account it was created in and inherits that account's project access. Revoke a key from the same panel if a machine is retired or a key may have leaked — see CLI & API keys.

Rate Limits

Requests to the ops API (and therefore the CLI and MCP server, which are HTTP clients of it) are token-bucket limited:

BucketDefault limitNotes
Per account5,000 requests/hourKeyed on the account, not the individual key — creating more keys doesn't raise the ceiling.
Per IP10,000 requests/hourApplied before key validation, so an invalid-key flood can't be used to probe or overload the API.

Exceeding a limit returns 429 Too Many Requests with a Retry-After header. Self-hosted instances can disable rate limiting entirely via configuration if it isn't needed on a private network.

The testvibe CLI And MCP Server

The testvibe CLI and its MCP stdio server (for Claude Desktop/Code, Codex, and similar AI tools) wrap the same authenticated API — install once, then use the CLI directly or point an AI tool at the MCP server.

Install it from the npm registry:

npm install -g testvibe

No npm? Settings → CLI & API keys also shows npm-free commands that download and set up the CLI directly from your TestVibe server.