Skip to content

Errors

Every refusal has the same JSON body:

{"error": "Not a member of this project", "code": "PERMISSION_DENIED", "message": "Not a member of this project",
"remedy": "Use a credential whose scope, kind and project reach this operation, or ask a project administrator for access.",
"docs": "/docs/reference/errors/#permission_denied", "request_id": "req_4f0c..."}

code is stable; message (also sent as error, for older clients) is for people. request_id equals the X-Request-Id header that every response carries; quote it when you report a failure. docs links to the code’s heading below. A 503 with busy carries Retry-After.

Generated from the Platform’s error policy by tools/errors_page.py; do not edit by hand.

Correct the request: compare its fields with the operation’s schema in /api/v1/openapi.json and send it again.

Sign in again, or send a current project access key as Authorization: Bearer.

Use a credential whose scope, kind and project reach this operation, or ask a project administrator for access.

Send the bearer credential alone: no browser cookie and no Origin header.

Send a current agent key as Authorization: Bearer, or sign in (RFC 6750).

Check the project, operation and identifiers; list them again to find current ones.

Use the HTTP method the operation documents: POST for operations, GET for resources.

Send a smaller request, within the limit the message names.

Retry later; if it persists, ask the deployment’s operator to check the service.

Retry after the number of seconds in Retry-After.

Retry once; if it fails again, report the request id to the deployment’s operator.

Report the request id to the deployment’s operator; the request was not completed.

The payload store cannot be reached: retry later.

The script runner is not available on this deployment: retry later or ask its operator.

The embedding model is not available: retry later, or search by words.

Ask the source’s owner for access, or reconnect with a credential that can read it.

The upstream item was deleted: select another one.

The upstream item is gone: select another one, or reconnect the source.

Review the source’s mapping or selection in the Workspace, then try again.

The upstream system cannot be reached: retry later, or ask its administrator.

The source is still being prepared: retry after it is ready.

The requested upstream revision is no longer available: fetch the current one.

The cursor is older than the retained history: start again from changes/head.

The agent’s scopes, budget or expiry do not allow this: ask its owner to widen them, or act yourself.

AI-use permissions changed: read them again and repeat the grant.

This is a copy of a project owned elsewhere: make changes on the owning deployment.

This project moved to another deployment: make changes there.

The agent’s budget for today is spent: retry tomorrow, or ask its owner to raise it.

Reduce the request (fewer rows, a smaller area or file) to fit the stated limit.

This command id belongs to another request: use a new command id.

Send the expected generation (or revision) you read, so the change applies only to that state.

The well or wellbore changed or already exists: read it again and repeat the change.

The result group changed: read it again and repeat the change.

Choose inputs whose scientific context (CRS, units, datum) matches the operation.

The stored content does not match what was expected: read it again before changing it.

Use a relationship the registry allows for these subject and object kinds (GET /api/v1/contracts).

Check the identifiers; list the assets or entities again to find current ones.

Propose the exact request with agents/propose, have it approved, and send X-Ophiolite-Plan naming the plan.

Recipients changed since you read them: read the current grants and repeat the change.

A newer revision exists: read the current revision and repeat the change against it.

The source selection changed: read it again and repeat the change.

The review stage changed: read it again and repeat the transition.

Use a public HTTPS address; private, loopback and link-local addresses are refused.

Choose one of the supported CRSs the message lists.

The webhook changed: read it again and repeat the change with its current generation.

Read the current state again and repeat the change against it.

The request was cancelled before it finished: send it again.

Retry once; if it fails again, report the request id.

Retry later, with a smaller request if you can.

It already exists: read it instead of creating it again.

Retry later, or reduce the request.

Read the current state and bring it to what the operation needs first.

Read the current state again and repeat the change against it.

Use values inside the range the message names.

This deployment does not offer the operation.

Report the request id to the deployment’s operator.