API v1
Workflows
Workflows CRUD

Create Workflow

Create a new workflow (orchestration) with specified configuration and nodes

post/v1/workflows

Request

  • Base URL
    https://api.xpander.ai (the document declares no server; this is the origin it was published from)
  • Auth
    API key in header x-api-key

Request body

namestring required

Human-readable name for the workflow. Examples: 'Customer Onboarding Pipeline', 'Daily Report Generator'.

descriptionstring nullable

Description of what this workflow does, its trigger conditions, and expected outcomes.

iconstring nullable

Identity string xpi:<icon>:<colour> rendered as a gradient tile, never an emoji.

avatarstring nullable

Avatar identifier for visual representation.

model_provider'openai' | 'nim' | 'amazon_bedrock' | 'azure_ai_foundary' | 'huggingFace' | 'friendlyAI' | 'anthropic' | 'gemini' | 'fireworks' | 'google_ai_studio' | 'helicone' | 'bytedance' | 'tzafon_lightcone' | 'cerebras' | 'open_router' | 'nebius' | 'cloudflare_ai_gw' | 'z_ai'
model_namestring nullable

Default model for LLM-powered nodes. Individual nodes can override.

llm_reasoning_effort'low' | 'medium' | 'high' | 'xhigh'
llm_api_basestring nullable

Custom API base URL for the LLM provider.

llm_credentials_keystring nullable

Reference key to stored LLM credentials.

llm_credentials_key_type'xpander' | 'custom'
llm_extra_headersobject nullable

Extra headers for LLM API requests.

expected_outputstring nullable

Description of the workflow's expected final output.

output_format'text' | 'markdown' | 'json' | 'voice'
output_schemaobject nullable

JSON Schema for structured workflow output (when output_format is 'json').

deployment_type'serverless' | 'container'
access_scope'personal' | 'organizational' | 'project'
environment_idstring nullable

Target deployment environment.

using_nemoboolean nullable

Enable NeMo guardrails.

on_prem_event_streamingboolean nullable

Enable real-time event streaming.

use_oidc_pre_authboolean nullable

Require OIDC pre-authentication before workflow execution.

pre_auth_audiencesstring[] nullable

Allowed OIDC token audiences.

use_oidc_pre_auth_token_for_llmboolean nullable

Forward OIDC token to LLM provider.

oidc_pre_auth_token_llm_audiencestring nullable

OIDC audience for LLM access.

oidc_pre_auth_token_mcp_audiencestring nullable

OIDC audience for MCP server access.

Response

Successful Response

idstring nullable
unique_namestring nullable
origin_templatestring nullable
environment_idstring nullable
runtime_environment_idstring nullable
deployment_type'serverless' | 'container'
promptsstring[] nullable
is_latestboolean nullable
has_pending_changesboolean nullable
deep_planningboolean nullable
enforce_deep_planningboolean nullable
use_agent_gatewayboolean nullable
namestring required
frameworkstring nullable
descriptionstring nullable
iconstring nullable
avatarstring nullable
access_scope'personal' | 'organizational' | 'project'
project_idstring nullable
oasobject nullable
is_omniboolean nullable
kind'gateway' | 'cloud_code'

A platform-made agent: the gateway one is hidden from lists, counts and delegation; every kind stays out of the agents quota.

skillsobject[] nullable
runtime_environmentobject nullable
company_brain_enabledboolean
agent_brainsstring[] nullable
secret_bindingsobject[] nullable
required_secretsobject[]
gated_commandsobject[] nullable
status'DRAFT' | 'ACTIVE' | 'INACTIVE'

Enumeration of possible agent statuses.

Attributes: DRAFT: Agent is in a draft state. ACTIVE: Agent is active and operational. INACTIVE: Agent is inactive and not operational.

versioninteger nullable
organization_idstring required
created_bystring nullable
default_user_idstring nullable

Organization user to run as when a non-UI invocation has no resolved user.

background_user_overridesobject
created_atstring date-time nullable
type'manager' | 'regular' | 'a2a' | 'curl' | 'orchestration'

Enumeration of the agent types.

Attributes: Manager: marks the agent as a Managing agent. Regular: marks the agent as a regular agent. A2A: marks the agent as an external agent used via A2A protocol. Curl: marks the agent as an external agent used via a CURL. Orchestration: marks the agent as an Orchestration object.

using_nemoboolean nullable
deletableboolean nullable
model_provider'openai' | 'nim' | 'amazon_bedrock' | 'azure_ai_foundary' | 'huggingFace' | 'friendlyAI' | 'anthropic' | 'gemini' | 'fireworks' | 'google_ai_studio' | 'helicone' | 'bytedance' | 'tzafon_lightcone' | 'cerebras' | 'open_router' | 'nebius' | 'cloudflare_ai_gw' | 'z_ai'
model_namestring nullable
llm_reasoning_effort'low' | 'medium' | 'high' | 'xhigh'
llm_api_basestring nullable
output_format'text' | 'markdown' | 'json' | 'voice'
voice_idstring nullable
output_schemaobject nullable
llm_credentials_keystring nullable
llm_credentials_key_type'xpander' | 'custom'
llm_extra_headersobject nullable
expected_outputstring nullable
on_prem_event_streamingboolean nullable
is_supervisedboolean nullable
use_oidc_pre_authboolean nullable
pre_auth_audiencesstring[] nullable
use_oidc_pre_auth_token_for_llmboolean nullable
oidc_pre_auth_token_llm_audiencestring nullable
oidc_pre_auth_token_mcp_audiencestring nullable
can_self_scheduleboolean nullable
can_archive_conversationsboolean nullable
max_self_schedulesinteger nullable
use_dynamic_toolsboolean nullable
workspace_tools_enabledboolean nullable
live_surface_sharing_enabledboolean nullable
is_autonomousboolean nullable
discoverableboolean nullable
conversation_retentionAgentConversationRetention
with_auto_context_managementboolean nullable
developer_accessboolean nullable
should_stage_before_publishboolean nullable
webhook_urlstring required

Changes

No recorded changes to this operation across all 4 revisions of this API.