Skip to content

Revoye API Documentation

Updated
Reading time
3 min

The Revoye API takes a prompt and returns an answer from one of the AI accounts you are already signed into. You send a request to https://api.revoye.com/v1/completions with a bearer token; Revoye puts the job in your own queue, dispatches it to a free agent in Revoye Desk on your own machine, and returns the answer that agent produced. There are no provider API keys anywhere in the path, and no per-token charge.

Before the API will do anything

The API is one end of an ecosystem. The other end is your own machine, and it has to be set up before a prompt has anywhere to go:

  1. A Revoye account, with a verified email.
  2. Revoye Desk installed and paired — the desktop app that answers your API. Windows or macOS. Download
  3. At least one agent in Revoye Desk: sign in to one of your AI accounts inside Revoye Desk and create an agent. No browser extension is needed; the optional Browser Agent can use the accounts already signed in to your browser instead.
  4. An API key, created in the dashboard.

If you have not done this yet, start here. If you have, the quickstart is four commands long.

Start here

QuickstartKey, status check, first prompt. About five minutes
How the API executes a promptWhat happens between send and the answer, and why it takes as long as it does
AuthenticationCreating keys, scopes, rotation, what a key cannot do
Revoye API integration skillOne downloadable file covering the whole public API. Hand it to an AI coding agent, or read it yourself

API reference

POST /v1/completionsThe native endpoint. Everything Revoye can do is expressible here
POST /v1/chat/completionsOpenAI-shaped, for existing SDKs
GET /v1/modelsYour enabled providers, in the shape a model picker expects
GET /v1/statusCan anything answer right now?
OpenAPI specificationThe machine-readable contract

Guides

Retrying safelyIdempotency keys, and why a lost response is not a lost job
WebhooksSignature verification and at-least-once delivery
ErrorsEvery code, whether to retry, and what it says about your fleet
Rate limits and capacityYour limits, our limits, and the difference
Using an OpenAI SDKOne base URL change, and the three things that differ
Best practicesGetting the most out of a router backed by your own accounts

Three things to know before you build

wait: true is a long poll, not a synchronous call. The job is durable the moment it is accepted. A dropped connection loses nothing — the result is at GET /v1/completions/{id} or on its way to your webhook.

Prompts take 20 to 90 seconds. The answer comes from a full chat product on your own account, at the speed it would answer you directly. You get throughput by running more agents, not by waiting less. Design for it: queue work, take webhooks, and do not put Revoye behind a spinner someone is watching.

Your machine has to be on. If no paired device is connected, work queues until one returns. That is a feature for batch work and a constraint for everything else.

Everything is versioned under /v1

/v1 is a stable contract. Additive changes — a new optional field, a new error code — may ship at any time. Anything that would break a working integration ships as /v2 alongside it.