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.
Requests and credentials
Section titled “Requests and credentials”INVALID_ARGUMENT
Section titled “INVALID_ARGUMENT”Correct the request: compare its fields with the operation’s schema in /api/v1/openapi.json and send it again.
UNAUTHENTICATED
Section titled “UNAUTHENTICATED”Sign in again, or send a current project access key as Authorization: Bearer.
PERMISSION_DENIED
Section titled “PERMISSION_DENIED”Use a credential whose scope, kind and project reach this operation, or ask a project administrator for access.
MACHINE_AUTH_REQUIRED
Section titled “MACHINE_AUTH_REQUIRED”Send the bearer credential alone: no browser cookie and no Origin header.
invalid_token
Section titled “invalid_token”Send a current agent key as Authorization: Bearer, or sign in (RFC 6750).
NOT_FOUND
Section titled “NOT_FOUND”Check the project, operation and identifiers; list them again to find current ones.
METHOD_NOT_ALLOWED
Section titled “METHOD_NOT_ALLOWED”Use the HTTP method the operation documents: POST for operations, GET for resources.
PAYLOAD_TOO_LARGE
Section titled “PAYLOAD_TOO_LARGE”Send a smaller request, within the limit the message names.
Service state
Section titled “Service state”UNAVAILABLE
Section titled “UNAVAILABLE”Retry later; if it persists, ask the deployment’s operator to check the service.
Retry after the number of seconds in Retry-After.
REQUEST_FAILED
Section titled “REQUEST_FAILED”Retry once; if it fails again, report the request id to the deployment’s operator.
INTERNAL
Section titled “INTERNAL”Report the request id to the deployment’s operator; the request was not completed.
store-unavailable
Section titled “store-unavailable”The payload store cannot be reached: retry later.
runner-unavailable
Section titled “runner-unavailable”The script runner is not available on this deployment: retry later or ask its operator.
embedding-unavailable
Section titled “embedding-unavailable”The embedding model is not available: retry later, or search by words.
Upstream sources
Section titled “Upstream sources”SOURCE_ACCESS_DENIED
Section titled “SOURCE_ACCESS_DENIED”Ask the source’s owner for access, or reconnect with a credential that can read it.
SOURCE_DELETED
Section titled “SOURCE_DELETED”The upstream item was deleted: select another one.
SOURCE_MISSING
Section titled “SOURCE_MISSING”The upstream item is gone: select another one, or reconnect the source.
SOURCE_NEEDS_REVIEW
Section titled “SOURCE_NEEDS_REVIEW”Review the source’s mapping or selection in the Workspace, then try again.
SOURCE_OFFLINE
Section titled “SOURCE_OFFLINE”The upstream system cannot be reached: retry later, or ask its administrator.
SOURCE_PENDING
Section titled “SOURCE_PENDING”The source is still being prepared: retry after it is ready.
SOURCE_REVISION_UNAVAILABLE
Section titled “SOURCE_REVISION_UNAVAILABLE”The requested upstream revision is no longer available: fetch the current one.
Data and collaboration
Section titled “Data and collaboration”CURSOR_EXPIRED
Section titled “CURSOR_EXPIRED”The cursor is older than the retained history: start again from changes/head.
agent-refused
Section titled “agent-refused”The agent’s scopes, budget or expiry do not allow this: ask its owner to widen them, or act yourself.
ai-use-changed
Section titled “ai-use-changed”AI-use permissions changed: read them again and repeat the grant.
authority-copy
Section titled “authority-copy”This is a copy of a project owned elsewhere: make changes on the owning deployment.
authority-transferred
Section titled “authority-transferred”This project moved to another deployment: make changes there.
budget-exhausted
Section titled “budget-exhausted”The agent’s budget for today is spent: retry tomorrow, or ask its owner to raise it.
capacity-exceeded
Section titled “capacity-exceeded”Reduce the request (fewer rows, a smaller area or file) to fit the stated limit.
command-owned
Section titled “command-owned”This command id belongs to another request: use a new command id.
condition-required
Section titled “condition-required”Send the expected generation (or revision) you read, so the change applies only to that state.
entity-conflict
Section titled “entity-conflict”The well or wellbore changed or already exists: read it again and repeat the change.
group-changed
Section titled “group-changed”The result group changed: read it again and repeat the change.
incompatible-context
Section titled “incompatible-context”Choose inputs whose scientific context (CRS, units, datum) matches the operation.
integrity-conflict
Section titled “integrity-conflict”The stored content does not match what was expected: read it again before changing it.
invalid-relationship
Section titled “invalid-relationship”Use a relationship the registry allows for these subject and object kinds (GET /api/v1/contracts).
not-found
Section titled “not-found”Check the identifiers; list the assets or entities again to find current ones.
plan-required
Section titled “plan-required”Propose the exact request with agents/propose, have it approved, and send X-Ophiolite-Plan naming the plan.
recipients-changed
Section titled “recipients-changed”Recipients changed since you read them: read the current grants and repeat the change.
revision-conflict
Section titled “revision-conflict”A newer revision exists: read the current revision and repeat the change against it.
selection-changed
Section titled “selection-changed”The source selection changed: read it again and repeat the change.
stage-changed
Section titled “stage-changed”The review stage changed: read it again and repeat the transition.
unsafe-destination
Section titled “unsafe-destination”Use a public HTTPS address; private, loopback and link-local addresses are refused.
unsupported-crs
Section titled “unsupported-crs”Choose one of the supported CRSs the message lists.
webhook-changed
Section titled “webhook-changed”The webhook changed: read it again and repeat the change with its current generation.
Native service (gRPC status names)
Section titled “Native service (gRPC status names)”CONFLICT
Section titled “CONFLICT”Read the current state again and repeat the change against it.
CANCELLED
Section titled “CANCELLED”The request was cancelled before it finished: send it again.
UNKNOWN
Section titled “UNKNOWN”Retry once; if it fails again, report the request id.
DEADLINE_EXCEEDED
Section titled “DEADLINE_EXCEEDED”Retry later, with a smaller request if you can.
ALREADY_EXISTS
Section titled “ALREADY_EXISTS”It already exists: read it instead of creating it again.
RESOURCE_EXHAUSTED
Section titled “RESOURCE_EXHAUSTED”Retry later, or reduce the request.
FAILED_PRECONDITION
Section titled “FAILED_PRECONDITION”Read the current state and bring it to what the operation needs first.
ABORTED
Section titled “ABORTED”Read the current state again and repeat the change against it.
OUT_OF_RANGE
Section titled “OUT_OF_RANGE”Use values inside the range the message names.
UNIMPLEMENTED
Section titled “UNIMPLEMENTED”This deployment does not offer the operation.
DATA_LOSS
Section titled “DATA_LOSS”Report the request id to the deployment’s operator.
