Workflow API

Record lifecycles and status transitions, approvals, triggers and running workflows.

Service
Data service and workflow engine
Base path
https://your-data-host/api/v1
Authentication
Bearer token and context headers.

Lifecycle and approval definitions are records, so you create them with the Data API or in TAF Studio. These endpoints move records through a lifecycle and run workflows. Status endpoints identify a record by its record-information id (the platform's record envelope), not by the entity's own id.

GET/api/v1/status/available

Get the statuses a record can move to next

Returns the next statuses allowed by the lifecycle, after the transition's filters and validators for the current user.

Authentication
Bearer token and context headers
Permissions
Your role's access to the resource
NameInRequiredDescription
recordIdqueryYesThe record-information id of the record.
entityNamequeryNoEntity name.

Response

  • 200 OK: the available next statuses.

Example request

curl -X GET "https://your-data-host/api/v1/status/available" \
  -H "Authorization: Bearer $TAF_TOKEN" \
  -H "TenantId: $TENANT_ID" \
  -H "AppId: $APP_ID" \
  -H "EnvironmentId: $ENVIRONMENT_ID"
PUT/api/v1/status/update

Move a record to a new status

Checks the transition, runs its validators, records the transition in history and then starts any workflows configured to run after it.

Authentication
Bearer token and context headers
Permissions
Your role's access to the resource
NameInRequiredDescription
recordIdqueryYesThe record-information id of the record.
nextStatusIdqueryYesThe status to move to; must be an allowed transition.
entityNamequeryNoEntity name.

Response

  • 200 OK when the status has changed.

Error responses

  • A validation error when the transition is not allowed or a validator fails.

Example request

curl -X PUT "https://your-data-host/api/v1/status/update" \
  -H "Authorization: Bearer $TAF_TOKEN" \
  -H "TenantId: $TENANT_ID" \
  -H "AppId: $APP_ID" \
  -H "EnvironmentId: $ENVIRONMENT_ID"
POST/api/v1/status/bulk-update

Move many records to a status

Authentication
Bearer token and context headers
Permissions
Your role's access to the resource

Request body

JSON
{
  "RecordIds": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "NextStatusId": "00000000-0000-0000-0000-000000000000",
  "EntityName": "Vendor"
}

Response

  • 200 OK with the outcome per record.

Example request

curl -X POST "https://your-data-host/api/v1/status/bulk-update" \
  -H "Authorization: Bearer $TAF_TOKEN" \
  -H "TenantId: $TENANT_ID" \
  -H "AppId: $APP_ID" \
  -H "EnvironmentId: $ENVIRONMENT_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "RecordIds": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "NextStatusId": "00000000-0000-0000-0000-000000000000",
  "EntityName": "Vendor"
}'
POST/api/v1/blueprints

Create a lifecycle with its statuses and transitions

Authentication
Bearer token and context headers
Permissions
Your role's access to the resource
Detailed schema in preparation

The route is part of the service today. Its request and response schema will be published here; until then, use the OpenAPI document on your environment.

POST/api/v1/records/insert

Record an approval decision (insert into the decision entity)

Approval requests start automatically when a record of an approval-enabled entity is written (unless the process is set to start manually). Decisions such as approve, reject, return or delegate are inserts into the platform's approval decision entity through the Data API, so the same access rules and audit apply. The client SDK wraps this as workflow.decide(...).

Authentication
Bearer token and context headers
Permissions
Your role's access to the resource
Detailed schema in preparation

The route is part of the service today. Its request and response schema will be published here; until then, use the OpenAPI document on your environment.

POST/api/v1/workflows/execute/{workflowId}

Run a manual workflow

Runs the workflow's action chain. If an action produces a zip, the response is the file.

Authentication
Bearer token and context headers
Permissions
Your role's access to the resource
NameInRequiredDescription
workflowIdpathYesThe workflow's id. Only workflows of the Manual type can be run this way.
Detailed schema in preparation

Served by the workflow engine. The request schema will be published here; it accepts the tokens the workflow's actions read.

POST/api/v1/records/insert

Define a trigger (insert into the trigger entity)

Triggers are records. They fire on create, edit or delete, with field-change criteria, and start workflows and notifications. Scheduled triggers use a cron expression.

Authentication
Bearer token and context headers
Permissions
Your role's access to the resource
Detailed schema in preparation

The route is part of the service today. Its request and response schema will be published here; until then, use the OpenAPI document on your environment.