The Management API is available on selected plans. If your organization’s plan
does not include it, every endpoint answers
403 with the current and allowed
plans in the body.Authentication
The Management API uses its own credential — a management key, prefixedop-mak-. Mint one in the platform UI under Settings → API keys, then send it
as a bearer token:
op-… key is not accepted here — it will be rejected with 403. The
two credentials are deliberately different things:
Scopes
Every management key carries an explicit list of scopes, chosen when you mint it. A request whose key lacks the scope an endpoint requires is rejected with403
and a required_scope field naming what was missing.
Grant the narrowest set that does the job. A CI pipeline that only rotates keys
needs
apikeys:write and nothing else.
Response shape
Every response is an envelope withmeta and data. Single resources leave
meta empty; collections use it for total_count.
Provision a project and a runtime key
The common pipeline is two calls: create the project, then mint a key inside it.1
Create the project
409.
The response carries the project uuid you need for the next call.2
Mint a runtime key inside it
3
Use it for model calls
The minted key is an ordinary runtime key, scoped to that project. Hand it to
the service as
OPPER_API_KEY and call the v3 API with it.Lifecycle notes
- Updates are partial.
PATCHa project withname,description, or both; omit a field to leave it unchanged, and send"description": nullto clear it. A body with neither field is rejected rather than treated as a no-op. - Deleting a project deletes its keys. The project is soft-deleted, but every runtime key bound to it is permanently destroyed and stops working immediately.
- Retention is not set here. It is a control-plane rule — see data retention.
Revoke a leaked management key
If a management key is exposed, disable it with the key itself:Endpoints
Projects
List, create, fetch, update, and delete projects.
API keys
List, mint, and delete a project’s runtime keys.