Developer tools: API tokens, the REST API, the CLI and «Explain this error».

Create API tokens with the right scope, work with applications from scripts and CI through the REST API, the upcoming rivervo command line, and AI explanations of failed deploys.

4 MIN READ

Everything you do with applications in the panel can also be scripted — deploys from CI, variables from a script, logs in your terminal.

API tokens

Account settings → API tokens → Create a token. Give it a name (where it is used, e.g. «GitHub Actions») and choose what it may do:

ScopeAllows
Read onlyapplications, deploys and their logs, runtime logs, domains
Read and deployread, plus deploy, roll back and restart
Full accessdeploy, plus variables (read and change) and domains (add, remove)

You can also set when it expires — after 30, 90 or 365 days, or never.

  • The token is shown once — copy it right away.
  • A token acts with your access. In someone else's account, it acts with your role in the application, and the token's scope applies on top. See Access to an application.
  • You can hold up to 20 tokens. Revoke stops a token at once.
  • Only you can create your tokens: someone signed in to your account on your behalf cannot.

The REST API

The API is documented in OpenAPI 3.1: api.rivervo.com/api/v1/openapi.json. Import it into Postman, Insomnia or a code generator.

Base address: https://api.rivervo.com/api/v1. Send the token as a bearer token:

curl -H "Authorization: Bearer $RIVERVO_TOKEN" https://api.rivervo.com/api/v1/apps

What you can do:

Method and pathWhat it doesScope
GET /appsyour applications and their servicesread
GET /apps/{id}one applicationread
GET /apps/{id}/deploymentsits deploysread
POST /apps/{id}/deploymentsdeploy: build the latest commit, or with {"rebuild": false} deploy the running version againdeploy
GET /apps/{id}/deployments/{deployment}a deploy with its build logread
POST /apps/{id}/deployments/{deployment}/rollbackgo back to that versiondeploy
POST /apps/{id}/restartrestartdeploy
GET /apps/{id}/logsruntime logs of the site, a worker or the scheduleread
GET, PUT, PATCH /apps/{id}/envread, replace or update variablesfull
GET /apps/{id}/domainsdomainsread
POST /apps/{id}/domains, DELETE /apps/{id}/domains/{name}add or remove a domainfull
  • Someone else's account: add the header X-Account: <the account's customer ID> to work with the applications of an account you were given access to.
  • Limits: 120 requests a minute per person, of them 30 changes. Past them the API answers 429 with Retry-After.
  • Language: messages come in English by default; send Accept-Language: az or ru for Azerbaijani or Russian.
  • Variables changed through the API reach the application with its next deploy, as in the panel — {"rebuild": false} is enough.

The rivervo command line — coming soon

A command line tool for deploys, logs, variables and rollbacks is on its way. It will use the same API tokens:

rivervo login                       # paste the token
rivervo deploy shop                 # build the latest commit and follow the deploy
rivervo logs shop -f                # follow the application's output
rivervo env set shop API_URL=https://example.com
rivervo rollback shop               # back to the previous version

In CI it reads the token from the RIVERVO_TOKEN variable, and deploy exits with an error when the new version does not go live, so it can gate a pipeline. Until it is published, the same can be done with the REST API.

«Explain this error»

When a deploy does not finish, or a service stops working, Explain this error appears next to the log. It reads the last lines of the log and tells you, in your language:

  • Likely cause — what went wrong;
  • How to fix it — concrete steps for your stack.

The explanation is written by AI from the log; check it before you change anything. Before anything is sent, every value of your variables and anything that looks like a key, password or token is hidden from the log. Your code and your variables themselves are never sent.

Each person can ask for up to 10 new explanations a day; an explanation already made for the same log is shown again for free.

Still stuck?

Chat with a real engineer — median response under 3 minutes, any time of day.

Contact support