Read a Workflow draft
GET /v1/workflows/{workflow_id}
Property Value Operation get_workflowGroup Workflows Scope workflows:readRoute class readIdempotency No Idempotency-Key Audit Not audited: A configuration read; a Workflow is not Call content. Released in 1.59.0 Phase 0 host Served (the hosted api pins 1.65.0)
Request
Set VOCAL_API to the base URL of your API and VOCAL_API_KEY to an API key with the workflows:read scope (Authentication and keys ). Replace each placeholder, such as agt_... or <name>, with your own value.
cURL Node.js Python
curl "$VOCAL_API/v1/workflows/wfl_..." \
-H "Authorization: Bearer $VOCAL_API_KEY"const response = await fetch(`${process.env.VOCAL_API}/v1/workflows/wfl_...`, {
headers: {
Authorization: `Bearer ${process.env.VOCAL_API_KEY}`,
},
});
console.log(response.status, await response.text());import os
import requests
response = requests.get(
f"{os.environ['VOCAL_API']}/v1/workflows/wfl_...",
headers={
"Authorization": f"Bearer {os.environ['VOCAL_API_KEY']}",
},
)
print(response.status_code, response.text)
Parameters
Name In Type Required Description workflow_idpath WorkflowId yes The id of a Workflow: wfl_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log.
Responses
Fields of the 200 answer
The shape is Workflow .
Field Type Required Description active_versioninteger or null yes The version the next Agent version publish pins, or null when none is active. agent_idAgentId no Conversation scope only, and required there: the default Agent, which supplies voice, transcriber, model, Policies, Tools and destinations. archived_atTimestamp or nullyes When DELETE archived the Workflow, or null. An archived Workflow takes no write, publish or activation (409 workflow_archived); its pinned versions keep running. correlationWorkflowCorrelation no created_atTimestamp yes descriptionstring or null yes For reviewers; never spoken or sent to a model. entryWorkflowNodeId yes idWorkflowId yes inputsmap of WorkflowField no Call variables (conversation) or start inputs (process). latest_versioninteger or null yes The highest published version, or null before the first publish. limitsWorkflowLimits yes namestring yes Kebab-case, unique per Organization. nodesarray of WorkflowNode yes Exactly one entry node; at most 200 nodes, loop bodies included (target). object"workflow"yes organization_idOrganizationId yes outputsmap of WorkflowField no The typed result returned to a parent or a starting Process. revisioninteger yes Counts writes to the draft; returned as the ETag and required in If-Match. scopeWorkflowScope yes settingsmap of WorkflowSetting no Process scope: named thresholds and constants that evaluate nodes read. slotsmap of WorkflowField no Conversation scope: the Session's typed slots. updated_atTimestamp yes varsmap of WorkflowField no Process scope: the instance's working data.