Workflow Blueprints

How to manage, search, and publish new workflow instances from blueprints.

Workflow Blueprints enable users to define, manage, and publish reusable workflow templates. These blueprints streamline the process of creating workflows by breaking them into modular components like blocks, roles, and schemas. With Workflow Blueprints, developers and project owners can ensure consistency, scalability, and transparency across their workflows.

Key Benefits:

  • Reusability: Easily replicate workflows for similar projects, saving time and effort.

  • Traceability: Maintain full visibility into workflow components and execution history, ensuring accountability.

  • Integration Ready: Publish workflows that seamlessly integrate with validation schemas and external systems.

Core workflow blueprint handling

These below methods are focused on working directly with workflows or blueprint, and how owners can publish, and understand what instances have connected status.


Workflows List

get
Query parameters
filterstringOptionalExample: key_filter
Responses
200Success
application/json
get
GET /api/v1/workflows HTTP/1.1
Host: 
Accept: */*
{
  "current_page": 1,
  "data": [
    {
      "id": "9d9d33ab-79c2-40ff-a675-09a290b64428",
      "name": "Workflow Test 1",
      "description": "Workflow Test 1",
      "key": "workflow_test"
    }
  ],
  "first_page_url": "http://127.0.0.1:8000/api/v1/workflows?page=1",
  "from": 1,
  "last_page": 1,
  "last_page_url": "http://127.0.0.1:8000/api/v1/workflows?page=1",
  "links": [
    {
      "url": null,
      "label": "« Previous",
      "active": false
    },
    {
      "url": "http://127.0.0.1:8000/api/v1/workflows?page=1",
      "label": "1",
      "active": true
    },
    {
      "url": null,
      "label": "Next »",
      "active": false
    }
  ],
  "next_page_url": null,
  "path": "http://127.0.0.1:8000/api/v1/workflows",
  "per_page": 15,
  "prev_page_url": null,
  "to": 1,
  "total": 1
}

List all Workflow Blocks

get
Header parameters
AcceptstringRequiredExample: application/json
Responses
200Success
application/json
get
GET /api/v1/workflows/workflow/blocks HTTP/1.1
Host: 
Accept: text
[
  {
    "id": "9d9d33ab-8006-4543-8dbb-70ec085722cc",
    "workflow_id": "9d9d33ab-79c2-40ff-a675-09a290b64428",
    "block_id": "6ffd3401-20da-4715-8e33-f35ed1976aad",
    "parent_id": null,
    "child_id": "9d9d33ab-80af-45d5-8f23-c021058e52dc",
    "schema_id": "9d9d33ab-7a9b-4ff5-9a4d-4ad860f23b25",
    "role_id": "9d9d33a9-9a48-484f-aa57-cfe4207a8dde",
    "key": "project_data_block",
    "created_at": "2024-11-30T16:43:43.000000Z",
    "updated_at": "2024-11-30T16:43:43.000000Z"
  },
  {
    "id": "9d9d33ab-80af-45d5-8f23-c021058e52dc",
    "workflow_id": "9d9d33ab-79c2-40ff-a675-09a290b64428",
    "block_id": "42477e2d-c91e-4cdc-a49e-5e854191f9e7",
    "parent_id": "9d9d33ab-8006-4543-8dbb-70ec085722cc",
    "child_id": "9d9d33ab-81aa-4da8-a9e2-22b24ccf3ece",
    "schema_id": null,
    "role_id": "9d9d33a9-9aec-4540-b8a7-c0b7d7ed268f",
    "key": "project_approval_block",
    "created_at": "2024-11-30T16:43:43.000000Z",
    "updated_at": "2024-11-30T16:43:43.000000Z"
  },
  {
    "id": "9d9d33ab-81aa-4da8-a9e2-22b24ccf3ece",
    "workflow_id": "9d9d33ab-79c2-40ff-a675-09a290b64428",
    "block_id": "6ffd3401-20da-4715-8e33-f35ed1976aad",
    "parent_id": "9d9d33ab-80af-45d5-8f23-c021058e52dc",
    "child_id": "9d9d33ab-8281-4a1b-b8d5-0711c8c7a0f6",
    "schema_id": "9d9d33ab-7a9b-4ff5-9a4d-4ad860f23b25",
    "role_id": "9d9d33a9-9a48-484f-aa57-cfe4207a8dde",
    "key": "site_data_block",
    "created_at": "2024-11-30T16:43:43.000000Z",
    "updated_at": "2024-11-30T16:43:43.000000Z"
  },
  {
    "id": "9d9d33ab-8281-4a1b-b8d5-0711c8c7a0f6",
    "workflow_id": "9d9d33ab-79c2-40ff-a675-09a290b64428",
    "block_id": "42477e2d-c91e-4cdc-a49e-5e854191f9e7",
    "parent_id": "9d9d33ab-81aa-4da8-a9e2-22b24ccf3ece",
    "child_id": "9d9d33ab-834f-4fe2-8b7d-ea31d3a0f678",
    "schema_id": null,
    "role_id": "9d9d33a9-9aec-4540-b8a7-c0b7d7ed268f",
    "key": "site_approval_block",
    "created_at": "2024-11-30T16:43:43.000000Z",
    "updated_at": "2024-11-30T16:43:43.000000Z"
  },
  {
    "id": "9d9d33ab-834f-4fe2-8b7d-ea31d3a0f678",
    "workflow_id": "9d9d33ab-79c2-40ff-a675-09a290b64428",
    "block_id": "6ffd3401-20da-4715-8e33-f35ed1976aad",
    "parent_id": "9d9d33ab-8281-4a1b-b8d5-0711c8c7a0f6",
    "child_id": "9d9d33ab-841f-4086-883d-6cf6801829ee",
    "schema_id": null,
    "role_id": "9d9d33a9-9a48-484f-aa57-cfe4207a8dde",
    "key": "claim_data_block",
    "created_at": "2024-11-30T16:43:43.000000Z",
    "updated_at": "2024-11-30T16:43:43.000000Z"
  },
  {
    "id": "9d9d33ab-841f-4086-883d-6cf6801829ee",
    "workflow_id": "9d9d33ab-79c2-40ff-a675-09a290b64428",
    "block_id": "42477e2d-c91e-4cdc-a49e-5e854191f9e7",
    "parent_id": "9d9d33ab-834f-4fe2-8b7d-ea31d3a0f678",
    "child_id": null,
    "schema_id": null,
    "role_id": "9d9d33a9-9a9a-4b8d-adcd-2b88521067d1",
    "key": "claim_approval_block",
    "created_at": "2024-11-30T16:43:43.000000Z",
    "updated_at": "2024-11-30T16:43:43.000000Z"
  }
]

List workflow owner instances

get
Authorizations
Query parameters
pagestringRequiredExample: 2
Header parameters
AcceptstringRequiredExample: application/json
Responses
200Success
application/json
get
GET /api/v1/workflows/workflow/instances?page=text HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: text
{
  "current_page": 2,
  "data": [
    {
      "id": "9dac95a9-b6f8-4469-8f8f-0daf3d51275e",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "cea4cd33-4d75-4377-b612-c38b3bb6359b",
      "created_at": "2024-12-08T08:15:08.000000Z",
      "updated_at": "2024-12-08T08:19:15.000000Z"
    },
    {
      "id": "9dac95fc-922b-4f93-8a32-9b825381cd3b",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "d4fe264d-ba4a-4ea0-bf3e-08b123f10e9d",
      "created_at": "2024-12-08T08:16:02.000000Z",
      "updated_at": "2024-12-08T08:19:15.000000Z"
    },
    {
      "id": "9dac961e-6d75-4f77-af78-64cb2061ccb9",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "08932a55-d9f9-4514-b494-9c9b773e53fb",
      "created_at": "2024-12-08T08:16:25.000000Z",
      "updated_at": "2024-12-08T08:16:25.000000Z"
    },
    {
      "id": "9daca5c1-4992-4aa0-8d89-4711d1efd69b",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "274ab9ef-f567-4517-86e9-89bd94dd6d1a",
      "created_at": "2024-12-08T09:00:08.000000Z",
      "updated_at": "2024-12-08T09:00:08.000000Z"
    },
    {
      "id": "9daca5c7-6bf7-4df6-a0ad-519cab9da612",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "936ba1e4-c9f1-48c3-813c-4f390a3285ed",
      "created_at": "2024-12-08T09:00:12.000000Z",
      "updated_at": "2024-12-08T09:00:12.000000Z"
    },
    {
      "id": "9dad249f-02fe-4835-8f22-b45c1645819f",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "f1a15d87-e90f-4cd5-8356-6d7bc3437bb8",
      "created_at": "2024-12-08T14:54:53.000000Z",
      "updated_at": "2024-12-08T14:54:53.000000Z"
    },
    {
      "id": "9dad24eb-a680-44b6-a424-06216e7b3768",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "e363d859-7f84-4eae-8e48-a49eb9aa4c6f",
      "created_at": "2024-12-08T14:55:43.000000Z",
      "updated_at": "2024-12-08T14:55:43.000000Z"
    },
    {
      "id": "9dad2506-f132-49c5-b944-801709dd4164",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "acf30f1b-9575-4832-b256-7c5049028f5e",
      "created_at": "2024-12-08T14:56:01.000000Z",
      "updated_at": "2024-12-08T14:56:01.000000Z"
    },
    {
      "id": "9dad2dfd-aae9-4420-bf3e-9b49ede8d862",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "3ad27815-406f-4c97-95a2-ec10f24898c8",
      "created_at": "2024-12-08T15:21:05.000000Z",
      "updated_at": "2024-12-08T15:21:05.000000Z"
    },
    {
      "id": "9dad3cc1-08eb-4621-9157-c0931c5a1b5e",
      "user_id": 5,
      "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
      "workflow_status_id": "2",
      "key": "example-wf",
      "created_at": "2024-12-08T16:02:21.000000Z",
      "updated_at": "2024-12-08T16:02:21.000000Z"
    }
  ],
  "first_page_url": "http://127.0.0.1:8000/api/v1/workflows/9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f/instances?page=1",
  "from": 16,
  "last_page": 2,
  "last_page_url": "http://127.0.0.1:8000/api/v1/workflows/9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f/instances?page=2",
  "links": [
    {
      "url": "http://127.0.0.1:8000/api/v1/workflows/9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f/instances?page=1",
      "label": "« Previous",
      "active": false
    },
    {
      "url": "http://127.0.0.1:8000/api/v1/workflows/9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f/instances?page=1",
      "label": "1",
      "active": false
    },
    {
      "url": "http://127.0.0.1:8000/api/v1/workflows/9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f/instances?page=2",
      "label": "2",
      "active": true
    },
    {
      "url": null,
      "label": "Next »",
      "active": false
    }
  ],
  "next_page_url": null,
  "path": "http://127.0.0.1:8000/api/v1/workflows/9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f/instances",
  "per_page": 15,
  "prev_page_url": "http://127.0.0.1:8000/api/v1/workflows/9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f/instances?page=1",
  "to": 25,
  "total": 25
}

Show workflow owner instance

get
Authorizations
Header parameters
AcceptstringRequiredExample: application/json
Responses
200Success
application/json
get
GET /api/v1/workflows/workflow/instances/workflow_instance_id HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: text
{
  "data": {
    "id": "9dad3d7a-02f2-438a-b4df-3f1d983cec62",
    "user_id": 5,
    "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
    "workflow_status_id": "2",
    "key": "9fc903b0-fbf6-440a-aa1b-55ef4e16db0e",
    "created_at": "2024-12-08T16:04:23.000000Z",
    "updated_at": "2024-12-08T16:04:23.000000Z",
    "status": "Ready"
  }
}

Workflow Publish

post
Authorizations
Header parameters
AcceptstringRequiredExample: application/json
Body
stringOptional
Responses
200Success
application/json
post
POST /api/v1/workflows/workflow/publish HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: text
Content-Type: text/plain
Content-Length: 44

"// {
//     "key": "example-wf"
// }"
{
  "workflow_instance_id": "9dab4c44-f78b-4f7c-a99c-16193dda9e93",
  "workflow_block_id": "9dab4bc0-f5fa-4817-8880-7d5d532bc11a",
  "id": "9dab4c44-f912-494f-bcbc-c552107c81d7",
  "updated_at": "2024-12-07T16:54:05.000000Z",
  "created_at": "2024-12-07T16:54:05.000000Z",
  "workflow_block": {
    "id": "9dab4bc0-f5fa-4817-8880-7d5d532bc11a",
    "workflow_id": "9dab4bc0-ef1a-4b8e-aed8-dae4b0c7da8f",
    "block_id": "dbec909b-62c7-492a-91f1-fa52a1f7b6eb",
    "parent_id": null,
    "child_id": "9dab4bc0-f68d-46fd-be96-826ed361d070",
    "schema_id": "9dab4bc0-f043-458b-92c9-d0afefba8266",
    "role_id": "9dab4bbf-096f-426e-af04-af82e4a06247",
    "key": "project_data_block",
    "created_at": "2024-12-07T16:52:39.000000Z",
    "updated_at": "2024-12-07T16:52:39.000000Z",
    "block": {
      "id": "dbec909b-62c7-492a-91f1-fa52a1f7b6eb",
      "block_type_id": "2732e230-9953-48bf-a589-53ee56a35d4d",
      "name": "Data",
      "version": "1.00",
      "created_at": "2024-12-07T16:52:39.000000Z",
      "updated_at": "2024-12-07T16:52:39.000000Z",
      "block_type": {
        "id": "2732e230-9953-48bf-a589-53ee56a35d4d",
        "type": "Data",
        "key": "data",
        "created_at": "2024-12-07T16:52:38.000000Z",
        "updated_at": "2024-12-07T16:52:38.000000Z"
      }
    }
  }
}

Workflow Get Schemas

get
Authorizations
Header parameters
Content-TypestringRequiredExample: application/json
AcceptstringRequiredExample: application/json
Responses
200Success
application/json
get
GET /api/v1/workflows/workflow/schemas HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: text
Accept: text
200Success
{
  "data": [
    {
      "block_id": "9d9d33ab-8006-4543-8dbb-70ec085722cc",
      "schema_id": "9d9d33ab-7a9b-4ff5-9a4d-4ad860f23b25",
      "key": "project_data_block",
      "schema": [
        "name",
        "age",
        "address.street",
        "address.city",
        "address.postcode",
        "address.latlong.lat",
        "address.latlong.long"
      ],
      "role": "supplier"
    },
    {
      "block_id": "9d9d33ab-81aa-4da8-a9e2-22b24ccf3ece",
      "schema_id": "9d9d33ab-7a9b-4ff5-9a4d-4ad860f23b25",
      "key": "site_data_block",
      "schema": [
        "name",
        "age",
        "address.street",
        "address.city",
        "address.postcode",
        "address.latlong.lat",
        "address.latlong.long"
      ],
      "role": "supplier"
    }
  ]
}

Last updated