For the complete documentation index, see llms.txt. This page is also available as Markdown.

Workflows

Use workflows to automate multi-step processes

The Workflow Execution object

A Workflow Execution represents an instance of a workflow run triggered by your backend or frontend application. You can run workflows on a Transactionlink-hosted page, embed the form in your app, or execute them entirely in the background.

Use this object to initialize the flow, pass context, and retrieve completion status via webhooks or polling.

We recommend creating a new execution each time a user starts a workflow, to ensure that the flow is fresh and state is isolated for every attempt.

Initialise a new workflow execution

post

Initialise a new workflow execution. Requires can_run permission on the workflow definition.

Authorizations
AuthorizationstringRequired

Organization API token (tot_) — preferred authentication method. Pass the token directly without Bearer prefix.

Header parameters
AuthorizationstringRequired

Organization token (tot_) — preferred method, or legacy Bearer JWT token. Pass the tot_ token directly without Bearer prefix; use Bearer <jwt> for legacy JWT auth.

Example: Bearer eyJhbGciOiJub25lIn0.eyJ3b3Jrc3BhY2VJZCI6ImRmYjI0ODU5LTA0OWUtNDcwZi1hNjY5LThhNzE0ZmYzNjU2YyIsICJpYXQiOjE3NTY3Mzc3MzIsICJleHAiOjE3NTY3NDEzMzIsICJjdXN0b206dGVhbUlkIjoiZjM1ZmVhZmYtNmI5OS00YWJkLTg0ZWItMjI3MDg0MzM1NDMyIn0.
Content-TypestringRequired

Content type of the request - application/json

Example: application/json;charset=UTF-8
Body
workflowDefinitionIdstringRequired

Identifier of the workflow definition to execute

localestringRequired

Locale for the workflow execution, e.g., 'en', 'fr'

parametersobjectRequired

Key-value pairs of parameters required for the workflow execution

expiresAtstring · nullableOptional

Optional expiration date-time for the workflow execution in ISO 8601 format. Must be between 30 minutes and 30 days from the current time

recordIduuid · nullableOptional

Optional recordId this workflow refers to

Responses
200

200

application/json;charset=UTF-8
Responseone of
or
post/workflows
POST /workflows HTTP/1.1
Host: api.transactionlink.io
Authorization: text
Content-Type: application/json;charset=UTF-8
Accept: */*
Content-Length: 143

{
  "workflowDefinitionId": "0940b863-eb4e-471a-8ae4-40a24b889e03",
  "locale": "uk",
  "parameters": {},
  "recordId": "00000000-0000-0000-0000-000000000001"
}
{
  "id": "e3c23802-537d-4aa4-89f1-397c120f5565",
  "workspaceId": "dfb24859-049e-470f-a669-8a714ff3656c",
  "workflowDefinitionId": "0940b863-eb4e-471a-8ae4-40a24b889e03",
  "parameters": {},
  "name": "workflow-name",
  "revision": "abc",
  "status": "RUNNING",
  "locale": "uk",
  "expiresAt": "2025-09-01T15:42:12.820469Z",
  "uiOptions": {},
  "recordId": "00000000-0000-0000-0000-000000000001",
  "executionType": "BACKGROUND",
  "executionVersion": 1,
  "origin": {
    "workspaceId": "81b016ab-87a1-4ac3-9da0-0ec084ee10c1",
    "type": "API"
  }
}

Find a workflow execution by its ID

get

Find a workflow execution by its ID. Requires can_view_workspace permission on the workspace.

Authorizations
AuthorizationstringRequired

Organization API token (tot_) — preferred authentication method. Pass the token directly without Bearer prefix.

Path parameters
workflowIdstringRequired

Unique identifier of the workflow execution to retrieve

Header parameters
AuthorizationstringRequired

Organization token (tot_) — preferred method, or legacy Bearer JWT token. Pass the tot_ token directly without Bearer prefix; use Bearer <jwt> for legacy JWT auth.

Example: Bearer eyJhbGciOiJub25lIn0.eyJ3b3Jrc3BhY2VJZCI6IjNjNjdjZWNhLTU1OTctNGIyZi05OTcxLWMyZGY0NWFkYzY1NyIsICJpYXQiOjE3NTY3Mzc3MzIsICJleHAiOjE3NTY3NDEzMzIsICJjdXN0b206dGVhbUlkIjoiODVmMDU3OTctNjE1OS00Yjk1LWI4MmItNWUzZDgxYTY3Yzc0In0.
Responses
200

200

application/json;charset=UTF-8
get/workflows/{workflowId}
GET /workflows/{workflowId} HTTP/1.1
Host: api.transactionlink.io
Authorization: text
Accept: */*
{
  "id": "f01fd001-1456-426f-b8a1-972bc1d6218b",
  "workspaceId": "3c67ceca-5597-4b2f-9971-c2df45adc657",
  "workflowDefinitionId": "121ecef8-76c0-4100-a845-a4350679e08a",
  "parameters": {},
  "name": "workflow-name",
  "revision": "abc",
  "status": "RUNNING",
  "locale": "uk",
  "expiresAt": "2025-09-01T15:42:12.548500Z",
  "uiOptions": {},
  "executionType": "BACKGROUND",
  "executionVersion": 1,
  "origin": {
    "workspaceId": "3c67ceca-5597-4b2f-9971-c2df45adc657",
    "type": "API"
  }
}

Cancel a running workflow execution

post

Cancel a running workflow execution. Requires can_view_workspace permission on the workspace.

Authorizations
AuthorizationstringRequired

Organization API token (tot_) — preferred authentication method. Pass the token directly without Bearer prefix.

Path parameters
workflowIdstringRequired

Unique identifier of the workflow execution to cancel

Header parameters
AuthorizationstringRequired

Organization token (tot_) — preferred method, or legacy Bearer JWT token. Pass the tot_ token directly without Bearer prefix; use Bearer <jwt> for legacy JWT auth.

Example: Bearer eyJhbGciOiJub25lIn0.eyJ3b3Jrc3BhY2VJZCI6IjJiZDk3OGNlLTk1OGMtNDU3NS05NTUwLTFhMTk5MmUwYTYzOSIsICJpYXQiOjE3NTY3Mzc3MzMsICJleHAiOjE3NTY3NDEzMzMsICJjdXN0b206dGVhbUlkIjoiMjYyNTY0YjUtZjk5ZS00NTk0LTk4YTAtM2Y0MDQxMmQ4Y2FiIn0.
Responses
200

200

No content

post/workflows/{workflowId}/cancel
POST /workflows/{workflowId}/cancel HTTP/1.1
Host: api.transactionlink.io
Authorization: text
Accept: */*

No content

Get the result of a workflow execution

get

Returns the JSON result payload produced by a workflow execution. The result is retrieved from storage and reflects the final output of the workflow run. Requires can_view_workspace permission on the workspace.

For result payloads exceeding 9 MB the response will not contain the full JSON body. Instead a redirect object is returned with a single $redirect key whose value is a pre-signed S3 URL valid for 5 minutes. The client must follow that URL with an unauthenticated GET request to retrieve the full payload directly from storage.

Authorizations
AuthorizationstringRequired

Organization API token (tot_) — preferred authentication method. Pass the token directly without Bearer prefix.

Path parameters
workflowIdstring · uuidRequired

Unique identifier of the workflow execution

Example: f01fd001-1456-426f-b8a1-972bc1d6218b
Header parameters
AuthorizationstringRequired

Organization token (tot_) — preferred method, or legacy Bearer JWT token. Pass the tot_ token directly without Bearer prefix; use Bearer <jwt> for legacy JWT auth.

Example: Bearer eyJhbGciOiJub25lIn0.eyJ3b3Jrc3BhY2VJZCI6IjNjNjdjZWNhLTU1OTctNGIyZi05OTcxLWMyZGY0NWFkYzY1NyIsICJpYXQiOjE3NTY3Mzc3MzIsICJleHAiOjE3NTY3NDEzMzIsICJjdXN0b206dGVhbUlkIjoiODVmMDU3OTctNjE1OS00Yjk1LWI4MmItNWUzZDgxYTY3Yzc0In0.
Responses
200

Workflow result payload. For results larger than 9 MB a redirect object is returned instead of the full payload — see the get-workflow-result-redirect example.

application/json;charset=UTF-8
Responseone of
objectOptional

Arbitrary JSON object representing the result produced by the workflow execution. Returned when the payload is 9 MB or smaller. The structure depends on the workflow definition.

or
get/workflows/{workflowId}/result
GET /workflows/{workflowId}/result HTTP/1.1
Host: api.transactionlink.io
Authorization: text
Accept: */*
{
  "parameters": {},
  "workflowId": "c30eb582-d6e7-405a-8fbf-16a3d9aebc8d",
  "createdDate": "2026-03-02T16:50:12.754731412Z",
  "origin": {
    "userId": "00000000-0000-0000-0000-000000000001",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@example.com",
    "type": "USER"
  }
}

Last updated