---
title: "HTTP API"
description: "Every route the console and the CLI call, with what each one takes and answers."
order: 7
---

The console and the CLI do everything through this API, so anything they do, a script can do too. Every route is under the address you log in to, for example `https://ops.syncronet.dev/api/v1/projects`.

## Tokens

Send a token as `Authorization: Bearer opst_…`. Create one in the console under a project's Settings, or let `ops login` create one for the CLI. A token acts with the role it was given, and a token pinned to a project reaches that project alone. The doc set reads and the public status need no token.

## Answers

Bodies are JSON and times are RFC 3339 strings. A refusal answers `{"error": "…"}` with a sentence that says what to change: 401 for a missing or dead token, 403 when your role does not allow the action, 404 when there is nothing there, 409 for a conflict and 422 for a value that is refused. Public reads answer 429 after 120 requests a minute from one address.

## Routes

| Page | Routes | What it covers |
| --- | --- | --- |
| [Projects and environments](projects.md) | 16 | Create and read projects, their environments, previews and the events that happened in them, and promote one environment onto another. |
| [Resources](resources.md) | 22 | Services, databases, buckets, jobs, domains and secret groups: list, create, change and remove them, and run the actions each kind offers. |
| [Builds and deployments](delivery.md) | 23 | Connect a repository, follow builds, deploy and roll back services, and read the deployment history. |
| [Members, roles and tokens](access.md) | 30 | Who can do what in a project: members, roles, environment rules, tokens, notification settings and the audit log. |
| [Login and the CLI](device.md) | 9 | How the CLI and an MCP client get a token (a device code that someone with a console login approves), and the CLI releases it updates itself from. |
| [Logs, traces and metrics](observe.md) | 6 | Search the logs, traces and metrics your services send. |
| [Packages and registries](packages.md) | 19 | The npm and cargo registries your packages are published to and installed from, and the reads behind the Packages pages. |
| [Translations](translations.md) | 13 | A project's own translation bundles, the shared ones it uses, its overrides and the composed locale its build pulls. |
| [Docs](docs.md) | 10 | Publish and yank versions of a doc set, read them without a token, and follow the revision a docs reader serves. |
| [Assistant and tools](assistant.md) | 11 | The tools the assistant and an MCP client call, each run with the permissions of whoever calls it. |
| [Status and health](status.md) | 3 | The public status of the platform and its health probes. |
