openstead
API

Errors and request IDs

Handle machine-readable errors, throttling, and asynchronous outcomes.

Suggest a change

API errors include a readable message and a stable machine-readable code. Handle the code rather than matching the message text.

{
  "errors": [
    {
      "message": "This idempotency key was already used with different request values.",
      "code": "idempotency_conflict"
    }
  ],
  "requestId": "client-trace-01"
}

An error entry may also include field to identify an invalid input.

HTTP status codes

StatusMeaningNext step
400Invalid JSON, values, pagination, or operationCorrect the request using its error code.
401Missing, invalid, or expired authenticationCheck or replace the credential.
403Scope, role, email, MFA, or entitlement restrictionResolve the named access requirement.
404The resource is unavailable to this callerCheck the UUID and workspace.
405Unsupported HTTP methodUse the method shown in the reference.
409Resource state, uniqueness, or idempotency conflictRead existing state before submitting another write.
413Request is too largeKeep the JSON body at or below 256 KiB.
429Request throttledHonor Retry-After before retrying.
5xxA server-side failureRetry reads or supported keyed writes with bounded backoff.

The API provides a Retry-After header on 429 responses. Do not assume a fixed allowance of requests per minute; use the returned delay.

Correlate a request

All API responses include X-Request-ID. Error bodies repeat it as requestId.

You may supply a trace value using X-Request-ID: 1–64 letters, digits, dots, underscores, or hyphens, beginning with a letter or digit. Invalid values are replaced by a generated identifier. Record the returned value with the timestamp and endpoint when contacting support.

X-Request-ID identifies a request for diagnostics. The legacy write-body field also named requestId is an alias for Idempotency-Key and has different semantics. See idempotency.

Deployment failures

A successful HTTP request can return a deployment whose current state is failed. The transport succeeded; the deployment did not. Check status, review its build or runtime logs, and inspect the returned deployment's safe error details.

A local timeout while polling means your observation window ended. It does not cancel the remote job or prove it failed. Resume with the existing deployment or operation ID.

Safe diagnostics

Store status, error code, request ID, resource IDs, and SDK version where appropriate. Avoid recording complete request bodies, bearer credentials, revealed variables, or unrestricted application logs. SDK exception messages omit sensitive response contents by default; explicitly accessed error entries still require careful handling.

Need a hand? Contact Openstead support.

On this page