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://revoyeapi.degird.com/v1/completions with a bearer token; Revoye puts the job in your own queue, dispatches it to a free agent in the browser on your own machine, and returns the answer the agent read back. 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 gives your machine a signed identity and an authenticated connection. Windows or macOS. Download
  3. The Revoye extension installed in the Chromium browser profile where you are signed into your AI accounts, with at least one agent created. Download
  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.

Looking for the chat instead? Revoye's other half — sending one prompt to several of your AI accounts at once and comparing the answers — needs only the browser extension, with no account, no desktop app and no API key. These docs do not cover it; the chat page does. Both halves drive the same agents, so anything you set up here works for both.

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

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 browser-backed router

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. A browser is typing and a model is generating into a page. 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.