Skip to navigation

Create Workflow

Create a new workflow. Optionally provide steps to define the workflow’s step graph.

When steps is omitted, the workflow is created with default steps (TRIGGER → PARSE). When steps is provided, the step graph is validated and the draft version is populated with the given steps.

Note: The default steps may change in the future. If your integration depends on a specific step graph, provide steps explicitly.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Headers

x-extend-api-version"2026-02-09"OptionalDefaults to 2026-02-09

API version to use for the request. If you’re using an SDK, you can ignore this parameter. If you are not using an SDK and do not specify a version, you will either receive a 400 Bad Request or be set to a previous legacy version. See API Versioning for more details.

Request

This endpoint expects an object.
namestringRequired
The name of the workflow.
stepslist of objectsOptional

The steps that define the workflow’s processing graph. Each step has a type, a unique name, and optional next entries that define routing to downstream steps.

When omitted, the workflow is created with default steps (TRIGGER → PARSE). The default steps may change in the future.

See the Configuring Workflows via API guide for step definitions, branching patterns, and examples.

Response

Workflow created successfully
objectenum

The type of object. Always "workflow".

Allowed values:
idstring
The ID of the workflow.
namestring
The name of the workflow.
createdAtstringformat: "date-time"

The time (in UTC) at which the object was created. Will follow the RFC 3339 format.

Example: "2024-03-21T16:45:00Z"

updatedAtstringformat: "date-time"

The time (in UTC) at which the object was last updated. Will follow the RFC 3339 format.

Example: "2024-03-21T16:45:00Z"

draftVersionobject
A workflow version with its step definitions.
createdByobject

The actor that created this resource.

  • user — the resource was created via the studio by a logged-in user. The user’s email is exposed.
  • api_key — the resource was created via the API using an API key. The key’s name is exposed.

May be null for resources created before attribution.

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error