Skip to main content
POST
/
v1
/
workflows
/
{workflow_id}
/
invoke
/
async
curl --request POST \
  --url https://api.xpander.ai/v1/workflows/{workflow_id}/invoke/async \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "input": {
    "text": "What is xpander.ai?",
    "user": {
      "id": "user-uuid",
      "email": "user@example.com"
    }
  }
}
'
{
  "id": "87b81bf7-7777-456e-805d-2767da39c62d",
  "agent_id": "47c3b020-9a6b-4699-8d94-d92d71929b53",
  "organization_id": "91fbe9bc-35b3-41e8-b59d-922fb5a0f031",
  "status": "pending",
  "result": null,
  "created_at": "2026-04-10T19:01:35.114410Z",
  "finished_at": null,
  "source": "api"
}
Invoke a workflow asynchronously. Returns immediately with a task ID while the pipeline executes in the background. Poll Get Task to check when results are ready.

Path Parameters

workflow_id
string
required
Workflow ID (UUID)

Query Parameters

version
string
The workflow version to invoke. Defaults to the latest deployed version.

Request Body

Same as Invoke Workflow (Sync) — see that page for full request body documentation.

Response

id
string
Task ID — use this to poll for status and results
status
string
Initial status, typically pending or executing

Example Request

curl -X POST "https://api.xpander.ai/v1/workflows/<workflow-id>/invoke/async" \
  -H "Content-Type: application/json" \
  -H "x-api-key: <your-api-key>" \
  -d '{"input": {"text": "Run the full analysis pipeline"}}'

Notes

  • Returns immediately without waiting for the pipeline to complete
  • Use Get Task to poll for results
  • Ideal for multi-step workflows where the pipeline takes time to execute across all nodes

Authorizations

x-api-key
string
header
required

API Key for authentication

Path Parameters

workflow_id
string
required

Query Parameters

version
string | null

The workflow version to invoke. default = latest

Body

application/json
input
AgentExecutionInput · object
required
id
string

Pass the id from a previous response to continue a multi-turn conversation with the same agent. Omit for a new conversation.

Example:

"02843b37-4d77-48a0-8da7-2c76afe54401"

Response

Successful Response

id
string

Unique task identifier. Use this to poll for results when invoking async.

Example:

"02843b37-4d77-48a0-8da7-2c76afe54401"

agent_id
string
Example:

"47c3b020-9a6b-4699-8d94-d92d71929b53"

organization_id
string
Example:

"91fbe9bc-35b3-41e8-b59d-922fb5a0f031"

status
enum<string>

pending | executing | completed | error

Available options:
pending,
executing,
completed,
error,
failed,
stopped
Example:

"completed"

result
string | null

The agent's response. Populated when status is 'completed'. Null for async until polling shows completed.

Example:

"Hello! 👋"

created_at
string<date-time>
Example:

"2026-04-10T19:01:22.898813Z"

finished_at
string<date-time> | null

Null until the task completes.

Example:

"2026-04-10T19:01:33.120590Z"

source
string
Example:

"api"