Manually trigger a deployment run.
POST /api/v1/cloud/deployments/{id}/run
Manually triggers a deployment run. The deployment must be in active status (not paused or archived). If CAS cannot create a session for the run, the returned Deployment Run has session_id: null and an error object.
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Deployment ID with the dep_ prefix |
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer $QODER_ACCESS_TOKEN |
Content-Type | Yes | application/json |
Request body
No request body is required. Send an empty JSON object {} or omit the body.
Example request
Example response
HTTP 200 OK
Returns a Deployment Run object.
Response fields (Deployment Run)
| Field | Type | Description |
|---|---|---|
id | string | Run unique identifier (drun_ prefix) |
type | string | Always "deployment_run" |
deployment_id | string | Parent Deployment ID |
agent | object | Agent reference: {id, type, version} |
error | object or null | Error details ({message, type}) when the run failed to create a session; null when session_id is present |
trigger_context | object | Trigger source: {"type": "manual"} or {"type": "schedule", "scheduled_at": "..."} |
session_id | string or null | Associated Session ID. Public rows expose exactly one of session_id or error. |
created_at | string | Record creation time (ISO 8601) |
Errors
| HTTP | Type | Trigger |
|---|---|---|
| 401 | authentication_error | PAT or SAT invalid or expired |
| 404 | not_found_error | Deployment does not exist |
| 409 | conflict_error | Deployment is archived or not in active status |