Skip to content
AdiosDocumentation
Browse documentation

Workflows API

Manage workflow records, inspect runs, and trigger execution. The create example saves a disabled draft; configure a valid system_spec before enabling a workflow.

Use API authentication for protected requests. Examples use your own resource IDs and a temporary token; saved response examples are synthetic.

MethodPathOperation
GET/v1/workflowList workflows
POST/v1/workflowCreate workflow
GET/v1/workflow/{id}Get workflow
PUT/v1/workflow/{id}Update workflow
DELETE/v1/workflow/{id}Delete workflow
GET/v1/workflow/{id}/runsList workflow runs
POST/v1/workflow/{id}/runsRun workflow
GET/v1/workflow/{id}/logsGet workflow logs

List workflows

GET /v1/workflow

Returns a paginated list of Workflow

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.
pagequerynoPage number
per_pagequerynoItems per page

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/workflow" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

List of Workflow

Response fields

FieldTypeDescription
dataarray
data[].created_atinteger(Unix timestamp)
data[].dataobjectWorkflow designer state and API-facing metadata
data[].deleted_atinteger(Unix timestamp)
data[].enabledboolean
data[].owner_idstring
data[].regionstring
data[].statusstringAllowed: draft, active, disabled, archived, deleted.
data[].system_specobjectCanonical system workflow specification synced to the system backend
data[].team_idstring
data[].titlestring
data[].updated_atinteger(Unix timestamp)
data[].workflow_idstring
paginationobject
pagination.pageintegerCurrent page number
pagination.per_pageintegerNumber of items per page
pagination.totalintegerTotal number of items

Illustrative example; not a live response:

{
  "data": [
    {
      "created_at": 1791072000,
      "data": {},
      "deleted_at": 0,
      "enabled": true,
      "owner_id": "000000000000000000000000001",
      "region": "",
      "status": "draft",
      "system_spec": {},
      "team_id": "000000000000000000000000001",
      "title": "Postman example",
      "updated_at": 1791072000,
      "workflow_id": "000000000000000000000000001"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 1,
    "total": 1
  }
}

Create workflow

POST /v1/workflow

Creates a new Workflow

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
dataobjectnoWorkflow designer state and API-facing metadata
enabledbooleanyesDefault: true.
owner_idstringno
regionstringnoDefault: "".
statusstringyesAllowed: draft, active, disabled, archived, deleted. Default: "draft".
system_specobjectnoCanonical system workflow specification synced to the system backend
team_idstringyes
titlestringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request POST "$ADIOS_API_URL/v1/workflow" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "team_id": "YOUR_TEAM_ID",
  "title": "Postman example workflow",
  "status": "draft",
  "enabled": false
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 201

Workflow created

Response fields

FieldTypeDescription
created_atinteger(Unix timestamp)
dataobjectWorkflow designer state and API-facing metadata
deleted_atinteger(Unix timestamp)
enabledboolean
owner_idstring
regionstring
statusstringAllowed: draft, active, disabled, archived, deleted.
system_specobjectCanonical system workflow specification synced to the system backend
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workflow_idstring

Illustrative example; not a live response:

{
  "created_at": 1791072000,
  "data": {},
  "deleted_at": 0,
  "enabled": true,
  "owner_id": "000000000000000000000000001",
  "region": "",
  "status": "draft",
  "system_spec": {},
  "team_id": "000000000000000000000000001",
  "title": "Postman example",
  "updated_at": 1791072000,
  "workflow_id": "000000000000000000000000001"
}

Get workflow

GET /v1/workflow/{id}

Returns a single Workflow

Set workflow_id using IDs from your own API responses.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/workflow/${ADIOS_WORKFLOW_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

Workflow

Response fields

FieldTypeDescription
created_atinteger(Unix timestamp)
dataobjectWorkflow designer state and API-facing metadata
deleted_atinteger(Unix timestamp)
enabledboolean
owner_idstring
regionstring
statusstringAllowed: draft, active, disabled, archived, deleted.
system_specobjectCanonical system workflow specification synced to the system backend
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workflow_idstring

Illustrative example; not a live response:

{
  "created_at": 1791072000,
  "data": {},
  "deleted_at": 0,
  "enabled": true,
  "owner_id": "000000000000000000000000001",
  "region": "",
  "status": "draft",
  "system_spec": {},
  "team_id": "000000000000000000000000001",
  "title": "Postman example",
  "updated_at": 1791072000,
  "workflow_id": "000000000000000000000000001"
}

Update workflow

PUT /v1/workflow/{id}

Updates an existing Workflow

Set workflow_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
dataobjectnoWorkflow designer state and API-facing metadata
enabledbooleanyesDefault: true.
owner_idstringno
regionstringnoDefault: "".
statusstringyesAllowed: draft, active, disabled, archived, deleted. Default: "draft".
system_specobjectnoCanonical system workflow specification synced to the system backend
team_idstringyes
titlestringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/workflow/${ADIOS_WORKFLOW_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "team_id": "YOUR_TEAM_ID",
  "title": "Postman example workflow",
  "status": "draft",
  "enabled": false
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 200

Workflow updated

Response fields

FieldTypeDescription
created_atinteger(Unix timestamp)
dataobjectWorkflow designer state and API-facing metadata
deleted_atinteger(Unix timestamp)
enabledboolean
owner_idstring
regionstring
statusstringAllowed: draft, active, disabled, archived, deleted.
system_specobjectCanonical system workflow specification synced to the system backend
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workflow_idstring

Illustrative example; not a live response:

{
  "created_at": 1791072000,
  "data": {},
  "deleted_at": 0,
  "enabled": true,
  "owner_id": "000000000000000000000000001",
  "region": "",
  "status": "draft",
  "system_spec": {},
  "team_id": "000000000000000000000000001",
  "title": "Postman example",
  "updated_at": 1791072000,
  "workflow_id": "000000000000000000000000001"
}

Delete workflow

DELETE /v1/workflow/{id}

Deletes a Workflow

Set workflow_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/workflow/${ADIOS_WORKFLOW_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

Resource deleted.

Response fields

FieldTypeDescription
messagestring

Illustrative example; not a live response:

{
  "message": "Deleted successfully"
}

List workflow runs

GET /v1/workflow/{id}/runs

List runs belonging to the selected workflow.

Set workflow_id using IDs from your own API responses.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/workflow/${ADIOS_WORKFLOW_ID}/runs" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

Successful response. Inspect returned state for operations that start asynchronous work.

A complete response-body schema is not published for this custom operation. Inspect the returned content and status; no payload is assumed here.

Run workflow

POST /v1/workflow/{id}/runs

Start a configured workflow. Put workflow input in payload. This may perform external actions defined by the workflow and requires a paid subscription.

Set workflow_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request POST "$ADIOS_API_URL/v1/workflow/${ADIOS_WORKFLOW_ID}/runs" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "payload": {}
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 201

Successful response. Inspect returned state for operations that start asynchronous work.

A complete response-body schema is not published for this custom operation. Inspect the returned content and status; no payload is assumed here.

Get workflow logs

GET /v1/workflow/{id}/logs

Read workflow lifecycle logs.

Set workflow_id using IDs from your own API responses.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/workflow/${ADIOS_WORKFLOW_ID}/logs" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

Successful response. Inspect returned state for operations that start asynchronous work.

A complete response-body schema is not published for this custom operation. Inspect the returned content and status; no payload is assumed here.