Skip to main content

Documentation Index

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

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

Jobs API

Jobs represent asynchronous executions (pathway runs, receptor invocations). Start a run via POST /v1/pathways/:id/execute (Pathways) or POST /v1/jobs with { "pathway_id": "<uuid>", "input": { ... } }; both return job_id. Then poll GET /v1/jobs/:jobId/status or consume GET /v1/jobs/:jobId/stream (SSE). Trace chat’s POST /v1/chat/:traceId also returns a job_id for the same queue type; its body may include optional neuron_task_options (validated like Invoke neuron—use trace_type: "system" only when you intentionally want system-scoped engrams, which is rare for dashboard chat).

Start pathway run

POST /v1/jobs
Body: pathway_id (required for stored pathway) or inline pathway, optional input or data. Response: { "job_id": "...", "status": "pending" }.

List jobs

GET /v1/jobs
Query: pathway_id, receptor_id, status, limit, offset. Response: { "jobs": [...], "total", "limit", "offset" }. Workspace-scoped.

Get job status

GET /v1/jobs/:jobId/status
Returns status, progress, current_step, failedReason, result (when completed), waitingFor (when paused for input). Status is authoritative from BullMQ; an optional Redis key may be used internally for early “queued” visibility. Response fields: job_id, status (pending | running | completed | failed | waiting | paused), progress, current_step, failedReason, result, waitingFor, created_at, processed_at, finished_at.
const status = await auvy.jobs.getStatus(jobId)

Stream job progress

GET /v1/jobs/:jobId/stream
SSE stream; consume until a terminal event (complete or error). Same workspace check as status. Query: after (optional) — Redis stream id in the form 12345-0. When set, the server only sends entries after that id (use the last SSE id: line you received before a disconnect). Omit after to replay the full stream still retained in Redis (bounded by stream max length and TTL). Wire format: Events are delivered as id: <redisStreamId> followed by data: <json>. Comment lines (: ping) are sent periodically as keepalives and should be ignored. 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/cancel
Returns 400 if job is already completed or failed.

Resume job

POST /v1/jobs/:jobId/resume
Use for workflows that are waiting or paused (e.g. human node).

Submit input (waiting job)

POST /v1/jobs/:jobId/input
Body: { "workspace_id": "<uuid>", "input": { "type": "intervention_response", "interventionId": "<id>", "action": "approve" | "reject" | "submit_input" | "answer_questions" | "decline_questions", ... } }. The input object must match the paused run’s intervention; see docs/dev-docs/interventions.md in the repo. Other shapes are rejected with 400.

Transcribe audio

POST /v1/transcribe
Uploads a single audio blob for asynchronous transcription and returns a job_id.
{
  "audio_base64": "base64-audio",
  "mime_type": "audio/webm"
}
Use auvy.jobs.transcribe(file) in the TypeScript SDK or the public receptor transcription route when you need share-token access.