Jobs
Job status and management
Jobs API
Jobs represent asynchronous executions. Start runs via the resource clients:
- Neuron:
POST /v1/neurons/:id/invoke—auvy.neurons.invoke(Neurons) - Pathway:
POST /v1/pathways/:id/execute—auvy.pathways.execute(Pathways) - Receptor ingress:
POST /v1/receptors/:id/fire—auvy.receptors.fire
POST /v1/jobs remains for stored pathway queueing with { "pathway_id": "<uuid>", "input": { ... } }. Then poll GET /v1/jobs/:jobId/status or consume GET /v1/jobs/:jobId/stream (SSE).
POST /v1/chat/:traceId (receptor_id + data) returns 410 — use neurons.invoke with trace_id, stream, and optional client_nonce instead.
Start pathway run
POST /v1/jobsBody: pathway_id (required for stored pathway) or inline pathway, optional input or data. Response: { "job_id": "...", "status": "pending" }.
List jobs
GET /v1/jobsQuery: pathway_id, receptor_id, status, limit, offset. Response: { "jobs": [...], "total", "limit", "offset" }. Workspace-scoped.
Get job status
GET /v1/jobs/:jobId/statusReturns status, progress, current_step, failedReason, result (when completed), waitingFor (when paused for input).
Response fields: job_id, status (pending | running | completed | failed | waiting | paused), progress, current_step, failedReason, result, waitingFor, created_at, processed_at, finished_at.
typescript const status = await auvy.jobs.getStatus(jobId)
Stream job progress
GET /v1/jobs/:jobId/streamSSE stream; consume until a terminal event (complete or error). Same workspace check as status.
Query: after (optional) — SSE stream cursor (12345-0). When set, the server only sends entries after that id (use the last SSE id: line from before a disconnect).
Wire format: id: <cursor> then data: <json>. Comment lines (: ping) are keepalives.
The public share route GET /v1/public/jobs/:jobId/stream supports the same after parameter (in addition to share/trace query params).
Cancel job
POST /v1/jobs/:jobId/cancelReturns 400 if job is already completed or failed.
Resume job
POST /v1/jobs/:jobId/resumeUse for workflows that are waiting or paused (e.g. human node).
Submit input (waiting job)
POST /v1/jobs/:jobId/inputBody: { "workspace_id": "<uuid>", "input": { "type": "intervention_response", "interventionId": "<id>", "action": "approve" | "reject" | ... } }. The input object must match the paused run’s intervention.
Related
-
Pathways API — Execute pathway by ID or via POST /v1/jobs
-
Receptors API — Invoke by receptor (returns job_id)
-
Public Endpoints — Shared agent runs and transcription
-
Jobs, streaming, and errors — error patterns