Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.snorbe.deskrex.ai/llms.txt

Use this file to discover all available pages before exploring further.

Get Run Status

Get the current status of an agent run. Use this to poll progress for long-running agent executions.

Request

GET /api/v1/agent/run/{runId}/status

Path Parameters

ParameterTypeDescription
runIdstringAgent run ID

Headers

HeaderRequiredDescription
AuthorizationYesAPI key in Bearer snorbe_... format

Response

{
  "id": "clxyz...",
  "status": "completed",
  "createdAt": "2026-04-16T09:36:01.351Z",
  "updatedAt": "2026-04-16T09:36:08.352Z",
  "pendingPlanDraft": false,
  "pendingReportDraft": false,
  "pendingMatrixDraft": false,
  "browseState": {
    "isBrowsing": true,
    "askHumanQuestion": "Which menu should I open after logging in?"
  },
  "skillState": {
    "isRunningSkill": true,
    "skillName": "patent-search",
    "pendingSecretKeys": ["PATENT_API_KEY"]
  }
}

Response Fields

FieldTypeDescription
idstringAgent run ID
statusstringStatus ("completed", "running", "error", etc.)
createdAtstringCreation timestamp (ISO 8601)
updatedAtstringLast update timestamp (ISO 8601)
pendingPlanDraftbooleanWhether a plan draft is pending review
pendingReportDraftbooleanWhether a report draft is pending review
pendingMatrixDraftbooleanWhether a matrix draft is pending review
browseStateobjectReturned only while the browse tool is active
browseState.isBrowsingbooleanWhether browser automation is still active
browseState.askHumanQuestionstringQuestion waiting for a human answer during browsing. Omitted when absent
skillStateobjectReturned while a skill is running or waiting for secrets
skillState.isRunningSkillbooleanWhether the skill session is active
skillState.skillNamestringSkill name that is running or requesting secrets
skillState.pendingSecretKeysstring[]Secret key names waiting to be registered
When pendingPlanDraft, pendingReportDraft, or pendingMatrixDraft is true, you need to complete the review using the corresponding HITL endpoint. After that, resume execution via the streaming resume endpoint.
If browseState.askHumanQuestion is present, this is not a plan review. It is a browser automation question. Send the answer to /browser/answer-question, not to /agent/run/{runId}/.... The request needs the browse-start.payload.websocketInfo.session_id value captured from the active SSE stream.
If skillState.pendingSecretKeys has values, the skill is waiting for secrets. Register each key through /secret so the waiting skill execution can continue.

Examples

curl "https://app.snorbe.deskrex.ai/api/v1/agent/run/clxyz123/status" \
  -H "Authorization: Bearer snorbe_your_api_key_here"

Error Responses

HTTP StatusDescription
401Invalid API key
400Invalid runId format