Skip to main content
GET /api/v1/cloud/environments/{environment_id}/work/poll Claims one available work item for a self_hosted Environment. Polling with no available work returns HTTP 200 OK with a JSON null body. Polling delivers a work item but does not acknowledge it. A worker should call Acknowledge work item before executing the Session work.

Path parameters

ParameterTypeDescription
environment_idstringEnvironment ID with the env_ prefix

Headers

HeaderRequiredDescription
AuthorizationYesBearer $QODER_PAT
Worker-IDNoStable worker identity. Recommended for queue stats and ack identity checks

Query parameters

ParameterTypeRequiredDefaultDescription
block_msintegerNo-Long-poll wait time in milliseconds. Must be between 1 and 999. Omit for non-blocking poll
reclaim_older_than_msintegerNo5000Redeliver a queued item when it was delivered but not acknowledged for at least this many milliseconds. Must be non-negative

Example request

curl -X GET "https://api.qoder.com/api/v1/cloud/environments/env_019e64e01a137caf953ac2ac7b42ec5c/work/poll?block_ms=999" \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Worker-ID: byoc-worker-01"

Example response: work available

HTTP 200 OK
{
  "id": "work_019f3be4fd2475d9a784bf2c739e1194",
  "type": "work",
  "environment_id": "env_019e64e01a137caf953ac2ac7b42ec5c",
  "data": {
    "type": "session",
    "id": "sess_019f3be3fa66750bb9a1fbcde85b5fe1"
  },
  "state": "queued",
  "created_at": "2026-07-01T08:15:01Z",
  "acknowledged_at": null,
  "started_at": null,
  "latest_heartbeat_at": null,
  "stop_requested_at": null,
  "stopped_at": null,
  "metadata": {}
}

Example response: no work

HTTP 200 OK
null

Response fields

Returns a Work item object, or null when no item is available.

Errors

HTTPTypeTrigger
400invalid_request_errorblock_ms is not an integer between 1 and 999
400invalid_request_errorreclaim_older_than_ms is not a non-negative integer
400invalid_request_errorThe Environment is not self_hosted
401authentication_errorPAT invalid or expired
403permission_errorNot authorized for this operation
404not_found_errorEnvironment not found
See Errors for the full error envelope.

Notes

  • Worker-ID is a worker-chosen business identifier, not an authentication credential.
  • If both poll and ack provide Worker-ID, ack fails with 409 when the values do not match.
  • Long polling waits at most once for block_ms; clients should repeat polling when they receive null.

Cloud environment setup

Choose the container, network, and dependencies your agent runs in.