Queue a rollback to a successful release
The source must be a live deployment of this service with a retained image. Reuses its configuration and encrypted secret snapshot to queue a new deployment. confirm is the service name. This is not an in-place status edit.
Kept in memory for this page. Requests go through this documentation site to the live Openstead API and can change your workspace. Use a read-only key to explore read operations.
The source must be a live deployment of this service with a retained image. Reuses its configuration and encrypted secret snapshot to queue a new deployment. confirm is the service name. This is not an in-place status edit.
Workspace-scoped rnv_ API key. Read scope allows GET; write scope is additionally constrained by current membership, role, email verification, expiry and workspace MFA policy.
In: header
Path Parameters
Workspace UUID; it must match the bearer key scope.
uuidService UUID in this workspace.
uuidDeployment UUID in this service.
uuidHeader Parameters
Optional correlation identifier; invalid values are replaced. The accepted/generated value is returned in X-Request-ID and error body requestId. This is not an idempotency key.
^[A-Za-z0-9][A-Za-z0-9._-]*$length <= 64Required on browser-session writes: obtain csrfToken from /api/bootstrap and retain its cookies. Not required for a validated bearer key.
Optional retry key of visible ASCII characters without spaces. Successful responses are retained for 24 hours, scoped to workspace, actor, credential, method and path. Changed payload with the same key returns 409 idempotency_conflict. If body requestId is supplied it must match.
^[!-~]+$1 <= length <= 160Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.openstead.tech/api/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/services/497f6eca-6276-4993-bfeb-53cbbbba6f08/deploys/497f6eca-6276-4993-bfeb-53cbbbba6f08/rollback" \ -H "Authorization: Bearer <OPENSTEAD_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "confirm": "my-api" }'{ "deployment": { "actor": "developer@example.com", "blockedReason": "", "branch": "main", "canRollback": false, "cancelRequested": false, "commitMessage": "", "commitSha": "", "createdAt": "2026-09-25T12:00:00Z", "error": "", "finishedAt": null, "id": "00000000-0000-4000-8000-000000000001", "sourceDeploymentId": null, "startedAt": null, "status": "queued", "steps": [], "trigger": "manual" }}Request deployment cancellation POST
Terminal deployments reject new cancellation requests. cancelRequested:true acknowledges the request; a running worker must still stop safely. Poll the deployment for its terminal state.
Read or tail service logs GET
Without after returns the newest retained batch in ascending numeric ID order. With after returns later lines in ascending ID order. Continue with response cursor; this is not opaque collection pagination. Retention depends on the plan, and search is limited to 200 characters.