Skip to main content
POST
/
v1
/
workflows
/
{workflow_id}
/
runs
/
sync
Create Sync Run
curl --request POST \
  --url https://api.example.com/v1/workflows/{workflow_id}/runs/sync \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "input": {},
  "node_ids": [
    "<string>"
  ],
  "single_node_id": "<string>",
  "group_id": "<string>",
  "workflow_version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "tracing": false,
  "debugger": "<string>",
  "callback_url": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "output": {}
}
This endpoint creates and waits for a workflow run to complete before returning the result. It blocks until the run reaches a terminal state or the request times out (120 seconds max). For long-running workflows, use the async run endpoint with SSE streaming or a callback_url instead.

Parameters

Path Parameters

workflow_id
string
required
The ID of the workflow to run.

Query Parameters

output_only
boolean
default:"false"
When true, the response contains only the workflow output (not the full run object). Useful when you only need the result.
use_output_ids
boolean
default:"false"
When true, output keys use node IDs instead of human-readable labels.

Body Parameters

input
object
required
Key-value pairs mapping input node labels (or IDs) to their values. The keys depend on how your workflow’s input nodes are configured.
{
  "User Question": "What is machine learning?",
  "Context": "Explain for a beginner"
}
callback_url
string
Optional webhook URL. Even though this is a synchronous endpoint, you can still receive a webhook callback when the run completes. Must be a valid HTTP(S) URL — invalid URLs are rejected with a 422 at creation time.
workflow_version_id
string (uuid)
Run a specific saved version of the workflow. If omitted, the latest (current) version is used.
node_ids
string[]
Limit execution to a subset of node IDs. Only these nodes (and their dependencies) will run. If omitted, the full workflow runs.
single_node_id
string
Run a single node in isolation. The provided input must satisfy all of the node’s input requirements.
tracing
boolean
default:"false"
Enable OpenTelemetry tracing for this run. Traces are sent to your configured observability provider.
group_id
string
Override the workspace (group) for this run. Defaults to the workspace associated with the API key.
debugger
string
Debugger session ID for live debugging in the workflow editor.

Examples

Basic synchronous run

curl -X POST https://backend.noxus.ai/v1/workflows/{workflow_id}/runs/sync \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {
      "User Question": "What are the benefits of renewable energy?"
    }
  }'

Output only

Returns just the workflow output without the full run metadata:
curl -X POST "https://backend.noxus.ai/v1/workflows/{workflow_id}/runs/sync?output_only=true" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {"Query": "Summarize this"}
  }'

Run a specific version

curl -X POST https://backend.noxus.ai/v1/workflows/{workflow_id}/runs/sync \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {"Query": "Hello"},
    "workflow_version_id": "version-uuid-here"
  }'

Authorizations

X-API-Key
string
header
required

Path Parameters

workflow_id
string
required

Query Parameters

output_only
boolean
default:false
use_output_ids
boolean
default:false

Body

application/json
input
Input · object
required
node_ids
string[] | null
single_node_id
string | null
group_id
string | null
workflow_version_id
string<uuid> | null
tracing
boolean
default:false
debugger
string | null
callback_url
string<uri> | null
Required string length: 1 - 2083

Response

Successful Response

id
string<uuid>
required
output
Output · object
required