Create Workflow

Create signing workflow

Creates a new signing workflow that defines the steps and signer roles for a
contract signing process. The workflow starts in DRAFT status.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Create a reusable signing workflow that defines the participants and the ordered stages (signature steps plus an optional wait-for-transaction step) used to drive a contract signing process. The workflow is created against a published or draft template version and starts in DRAFT status; it must be published separately before it can back a contract request. Returns the persisted workflow, including its generated id, status, and the normalized participant and stage definitions.

Authentication & access

  • Requires a client API token: Authorization: Bearer <token>.
  • The caller must hold the contracts.workflows.write permission and have the OWNER or OPERATIONS role.
  • Contract signing must be enabled for the client. If it is disabled the request returns 403.

Request body

FieldTypeConstraints
namestringRequired. 1-255 characters.
descriptionstring | nullOptional. Up to 255 characters.
template_version_idstringRequired. ID of the template version this workflow uses. The template must exist under your client and must not be archived.
variablesobjectOptional. Default template variable values applied to contract requests created from this workflow.
participantsarrayRequired, at least one entry. Participant role definitions. Participant key values must be unique.
stagesarrayRequired, at least one entry. Ordered signing and wait stages.
email_notificationsobjectOptional. Per-event email notification and attachment toggles.

Participant definition (participants[])

  • key — required, 1-64 chars; unique within the workflow.
  • source — required; who fills this role (e.g. the client signing identity, an end user, a business customer, or an external signer).
  • role — required, 1-255 chars; signer role name as defined on the template.
  • field_values — optional object of pre-filled field values.
  • readonly_fields — optional list of field names this participant cannot modify.

Stage definition (stages[])

  • index — required, starts at 1; stage indexes must be sequential starting from 1.
  • type — required; either a signature step or a wait-for-transaction step.
  • participant — required for signature stages (the participant key), and must be omitted for wait-for-transaction stages.
  • delivery — required for signature stages, and must be omitted for wait-for-transaction stages.

Behavior

Creation performs lightweight validation only: it checks that the request body is structurally valid and that the referenced template exists and is not archived. Deeper consistency checks (such as participant roles matching the template, delivery method compatibility, and stage limits) are enforced when the workflow is published, not at creation time.

Response

200 OK with the created workflow. The payload includes the generated id, name, description, template_version_id, status (always DRAFT on creation), variables, the normalized participants and stages, email_notifications, and created_at / updated_at timestamps. published_at is null until the workflow is published.

Error responses

StatusWhen
400The referenced template is archived and cannot be used for a workflow
403Contract signing is disabled for the client
404The referenced template_version_id was not found under this client
422Request body failed validation (e.g. missing/over-length name, empty participants or stages, duplicate participant keys, non-sequential stage indexes, or a signature stage missing participant/delivery)

Standard 401 (authentication), 403 (insufficient permission or role), and 429 (rate limit) responses apply to every endpoint and are documented in the Error reference.

Body Params
string
required
length between 1 and 255
length ≤ 255
string
required

ID of the contract template version this workflow uses

variables
object

Default template variable values applied to contract requests

participants
array of objects
required
length ≥ 1

Participant role definitions for this workflow

Participants*
string
required
length between 1 and 64

Unique key identifying this participant within the workflow

string
enum
required

Source that determines who fills this participant role (e.g. client or end user)

Allowed:
string
required
length between 1 and 255

Signer role name as defined in the contract template

field_values
object

Pre-filled field values for this participant

readonly_fields
array of strings

Field names that this participant cannot modify

Readonly Fields
stages
array of objects
required
length ≥ 1

Ordered signing and wait stages of this workflow

Stages*
integer
required
≥ 1

Sequential stage number, starting from 1

string
enum
required

Stage type — either a signature step or a wait-for-transaction step

Allowed:
length ≤ 64

Participant key assigned to this stage; required for signature stages

SignatureDeliveryType | null

How the signing request is delivered to the participant; required for signature stages

email_notifications
object

Per-event email notification toggles for this workflow

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json