Jobs API

Execute workflows and track job status

Create Job

POST /api/trpc/jobs.create

{
  "workflow_id": "wf_xxx",
  "params": {
    "url": "https://example.com",
    "username": "testuser",
    "password": "testpass"
  }
}

Response:
{
  "job_id": "job_xxx",
  "status": "pending"
}

Get Job Status

GET /api/trpc/jobs.get?id=job_xxx

Response:
{
  "id": "job_xxx",
  "status": "completed",
  "result": {
    "title": "Welcome",
    "message": "Hello, testuser!"
  },
  "credits_used": 3,
  "started_at": "2026-01-15T...",
  "completed_at": "2026-01-15T..."
}

List Jobs

GET /api/trpc/jobs.list?status=completed&limit=10

Cancel Job

POST /api/trpc/jobs.cancel

{
  "job_id": "job_xxx"
}

Stream Logs (WebSocket)

// Subscribe to job logs via WebSocket
const subscription = client.streaming.subscribeJob.subscribe(
  { jobId: 'job_xxx' },
  {
    onData(event) {
      console.log('Job event:', event)
    }
  }
)

Job Status Values

  • pending - Job queued, waiting to start
  • running - Job executing
  • completed - Job finished successfully
  • failed - Job failed with error
  • cancelled - Job was cancelled

CLI Examples

# Run a job
hellcat run "test login flow" --follow

# Get job status
hellcat jobs get job_xxx

# List jobs
hellcat jobs list --status completed

# Cancel job
hellcat jobs cancel job_xxx