{
  "info": {
    "_postman_id": "actionflows-api-collection",
    "name": "ActionFlows API",
    "description": "ActionFlows REST API: discover flows and agents, trigger runs, manage the run queue, and chat with agents. Design flow graphs in Actionflow Studio and agent configuration in Action Agent Studio. Responses use the public field allowlist.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "actionflows"
  },
  "item": [
    {
      "name": "Authentication",
      "description": "Authentication endpoints for API key validation",
      "item": [
        {
          "name": "Validate Authentication",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/auth/validate",
              "host": ["{{base_url}}"],
              "path": ["api", "auth", "validate"]
            },
            "description": "Verify that your API key is valid and return the authenticated user and session."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/auth/validate",
                  "host": ["{{base_url}}"],
                  "path": ["api", "auth", "validate"]
                },
                "description": "Verify that your API key is valid and return the authenticated user and session."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"authenticated\": true,\n    \"user\": {\n      \"id\": \"user_123\",\n      \"email\": \"you@example.com\",\n      \"name\": \"Ada Lovelace\"\n    },\n    \"session\": {\n      \"id\": \"sess_123\",\n      \"activeOrganizationId\": \"{{organization_id}}\",\n      \"expiresAt\": \"2026-09-22T00:00:00.000Z\"\n    }\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "ActionFlows",
      "description": "Discover flow metadata and run history. The API does not return graphs.",
      "item": [
        {
          "name": "List Flows",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/actionflows?organizationId={{organization_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "actionflows"],
              "query": [
                {
                  "key": "organizationId",
                  "value": "{{organization_id}}",
                  "description": "Optional: filter flows by organization ID",
                  "disabled": true
                }
              ]
            },
            "description": "List ActionFlow metadata for your organization. Does not return flow graphs."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/actionflows?organizationId={{organization_id}}",
                  "host": ["{{base_url}}"],
                  "path": ["api", "actionflows"],
                  "query": [
                    {
                      "key": "organizationId",
                      "value": "{{organization_id}}",
                      "description": "Optional: filter flows by organization ID",
                      "disabled": true
                    }
                  ]
                },
                "description": "List ActionFlow metadata for your organization. Does not return flow graphs."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"{{action_flow_id}}\",\n      \"name\": \"Support intake\",\n      \"slug\": \"support-intake\",\n      \"organizationId\": \"{{organization_id}}\",\n      \"active\": true,\n      \"createdAt\": \"2026-09-01T12:00:00.000Z\",\n      \"updatedAt\": \"2026-09-15T09:30:00.000Z\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Get Flow",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/actionflows/{{action_flow_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "actionflows", "{{action_flow_id}}"]
            },
            "description": "Retrieve metadata for one ActionFlow. Does not return the flow graph."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/actionflows/{{action_flow_id}}",
                  "host": ["{{base_url}}"],
                  "path": ["api", "actionflows", "{{action_flow_id}}"]
                },
                "description": "Retrieve metadata for one ActionFlow. Does not return the flow graph."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"{{action_flow_id}}\",\n    \"name\": \"Support intake\",\n    \"slug\": \"support-intake\",\n    \"organizationId\": \"{{organization_id}}\",\n    \"active\": true,\n    \"createdAt\": \"2026-09-01T12:00:00.000Z\",\n    \"updatedAt\": \"2026-09-15T09:30:00.000Z\"\n  }\n}"
            }
          ]
        },
        {
          "name": "List Flow Runs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/actionflows/{{action_flow_id}}/runs?filter[status]=COMPLETED&page[size]=20",
              "host": ["{{base_url}}"],
              "path": ["api", "actionflows", "{{action_flow_id}}", "runs"],
              "query": [
                {
                  "key": "filter[status]",
                  "value": "COMPLETED",
                  "description": "Filter by status (comma-separated)",
                  "disabled": true
                },
                {
                  "key": "page[size]",
                  "value": "20",
                  "description": "Number of results per page",
                  "disabled": true
                },
                {
                  "key": "page[after]",
                  "value": "",
                  "description": "Cursor for pagination",
                  "disabled": true
                },
                {
                  "key": "page[before]",
                  "value": "",
                  "description": "Cursor for pagination",
                  "disabled": true
                },
                {
                  "key": "filter[createdAt][from]",
                  "value": "",
                  "description": "Filter runs created after this date (ISO 8601)",
                  "disabled": true
                },
                {
                  "key": "filter[createdAt][to]",
                  "value": "",
                  "description": "Filter runs created before this date (ISO 8601)",
                  "disabled": true
                },
                {
                  "key": "filter[createdAt][period]",
                  "value": "",
                  "description": "Filter by time period (today, week, month)",
                  "disabled": true
                }
              ]
            },
            "description": "List run-history rows for one ActionFlow, with cursor pagination."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/actionflows/{{action_flow_id}}/runs?filter[status]=COMPLETED&page[size]=20",
                  "host": ["{{base_url}}"],
                  "path": ["api", "actionflows", "{{action_flow_id}}", "runs"],
                  "query": [
                    {
                      "key": "filter[status]",
                      "value": "COMPLETED",
                      "description": "Filter by status (comma-separated)",
                      "disabled": true
                    },
                    {
                      "key": "page[size]",
                      "value": "20",
                      "description": "Number of results per page",
                      "disabled": true
                    },
                    {
                      "key": "page[after]",
                      "value": "",
                      "description": "Cursor for pagination",
                      "disabled": true
                    },
                    {
                      "key": "page[before]",
                      "value": "",
                      "description": "Cursor for pagination",
                      "disabled": true
                    },
                    {
                      "key": "filter[createdAt][from]",
                      "value": "",
                      "description": "Filter runs created after this date (ISO 8601)",
                      "disabled": true
                    },
                    {
                      "key": "filter[createdAt][to]",
                      "value": "",
                      "description": "Filter runs created before this date (ISO 8601)",
                      "disabled": true
                    },
                    {
                      "key": "filter[createdAt][period]",
                      "value": "",
                      "description": "Filter by time period (today, week, month)",
                      "disabled": true
                    }
                  ]
                },
                "description": "List run-history rows for one ActionFlow, with cursor pagination."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": \"hist_123\",\n        \"status\": \"COMPLETED\",\n        \"cost\": 0.002,\n        \"durationMs\": 1600,\n        \"payload\": {\n          \"actionFlowId\": \"{{action_flow_id}}\",\n          \"organizationId\": \"{{organization_id}}\",\n          \"triggerSource\": \"api\"\n        },\n        \"queueId\": null,\n        \"triggerRunId\": \"run_abc123\",\n        \"triggerSource\": \"api\",\n        \"startedAt\": \"2026-09-21T00:00:00.400Z\",\n        \"completedAt\": \"2026-09-21T00:00:02.000Z\",\n        \"createdAt\": \"2026-09-21T00:00:00.000Z\",\n        \"updatedAt\": \"2026-09-21T00:00:02.000Z\"\n      }\n    ],\n    \"pagination\": {\n      \"next\": null,\n      \"prev\": null\n    }\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Runs",
      "description": "Trigger, inspect, cancel, and stream public run objects.",
      "item": [
        {
          "name": "List Runs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/runs?filter[status]=COMPLETED&page[size]=20",
              "host": ["{{base_url}}"],
              "path": ["api", "runs"],
              "query": [
                {
                  "key": "filter[organizationId]",
                  "value": "{{organization_id}}",
                  "description": "Organization ID. Required for a user-scoped key. Organization-scoped keys inherit their organization.",
                  "disabled": true
                },
                {
                  "key": "filter[status]",
                  "value": "COMPLETED",
                  "description": "Filter by status (comma-separated)",
                  "disabled": true
                },
                {
                  "key": "filter[tag]",
                  "value": "",
                  "description": "Filter by caller tags (comma-separated). Organization tags are ignored.",
                  "disabled": true
                },
                {
                  "key": "filter[isTest]",
                  "value": "false",
                  "description": "Filter test runs",
                  "disabled": true
                },
                {
                  "key": "filter[taskIdentifier]",
                  "value": "",
                  "description": "Optional task identifier filter",
                  "disabled": true
                },
                {
                  "key": "filter[version]",
                  "value": "",
                  "description": "Optional task version filter",
                  "disabled": true
                },
                {
                  "key": "filter[createdAt][from]",
                  "value": "",
                  "description": "Filter runs created after this date (ISO 8601)",
                  "disabled": true
                },
                {
                  "key": "filter[createdAt][to]",
                  "value": "",
                  "description": "Filter runs created before this date (ISO 8601)",
                  "disabled": true
                },
                {
                  "key": "filter[createdAt][period]",
                  "value": "",
                  "description": "Filter by time period (today, week, month)",
                  "disabled": true
                },
                {
                  "key": "page[size]",
                  "value": "20",
                  "description": "Number of results per page",
                  "disabled": true
                },
                {
                  "key": "page[after]",
                  "value": "",
                  "description": "Cursor for pagination",
                  "disabled": true
                },
                {
                  "key": "page[before]",
                  "value": "",
                  "description": "Cursor for pagination",
                  "disabled": true
                }
              ]
            },
            "description": "List public run objects across your flows. Internal runtime fields are omitted."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs?filter[status]=COMPLETED&page[size]=20",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs"],
                  "query": [
                    {
                      "key": "filter[status]",
                      "value": "COMPLETED",
                      "description": "Filter by status (comma-separated)",
                      "disabled": true
                    },
                    {
                      "key": "filter[tag]",
                      "value": "",
                      "description": "Filter by caller tags (comma-separated). Organization tags are ignored.",
                      "disabled": true
                    },
                    {
                      "key": "filter[isTest]",
                      "value": "false",
                      "description": "Filter test runs",
                      "disabled": true
                    },
                    {
                      "key": "filter[taskIdentifier]",
                      "value": "",
                      "description": "Optional task identifier filter",
                      "disabled": true
                    },
                    {
                      "key": "filter[version]",
                      "value": "",
                      "description": "Optional task version filter",
                      "disabled": true
                    },
                    {
                      "key": "filter[createdAt][from]",
                      "value": "",
                      "description": "Filter runs created after this date (ISO 8601)",
                      "disabled": true
                    },
                    {
                      "key": "filter[createdAt][to]",
                      "value": "",
                      "description": "Filter runs created before this date (ISO 8601)",
                      "disabled": true
                    },
                    {
                      "key": "filter[createdAt][period]",
                      "value": "",
                      "description": "Filter by time period (today, week, month)",
                      "disabled": true
                    },
                    {
                      "key": "page[size]",
                      "value": "20",
                      "description": "Number of results per page",
                      "disabled": true
                    },
                    {
                      "key": "page[after]",
                      "value": "",
                      "description": "Cursor for pagination",
                      "disabled": true
                    },
                    {
                      "key": "page[before]",
                      "value": "",
                      "description": "Cursor for pagination",
                      "disabled": true
                    }
                  ]
                },
                "description": "List public run objects across your flows. Internal runtime fields are omitted."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": \"run_abc123\",\n        \"status\": \"COMPLETED\",\n        \"createdAt\": \"2026-09-21T00:00:00.000Z\",\n        \"updatedAt\": \"2026-09-21T00:00:02.000Z\",\n        \"startedAt\": \"2026-09-21T00:00:00.400Z\",\n        \"finishedAt\": \"2026-09-21T00:00:02.000Z\",\n        \"durationMs\": 1600,\n        \"payload\": {\n          \"actionFlowId\": \"{{action_flow_id}}\",\n          \"organizationId\": \"{{organization_id}}\",\n          \"inputs\": {\n            \"ticket_subject\": \"Need help with billing\"\n          },\n          \"triggerSource\": \"api\"\n        },\n        \"output\": {\n          \"ok\": true\n        },\n        \"error\": null,\n        \"tags\": [\n          \"production\",\n          \"api\"\n        ]\n      }\n    ],\n    \"pagination\": {\n      \"next\": null,\n      \"previous\": null\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Trigger Run",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/runs",
              "host": ["{{base_url}}"],
              "path": ["api", "runs"]
            },
            "description": "Validate and enqueue an ActionFlow run. Returns 201 when dispatched immediately, or 202 when placed on the run queue.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"payload\": {\n    \"organizationId\": \"{{organization_id}}\",\n    \"actionFlowId\": \"{{action_flow_id}}\",\n    \"inputs\": {\n      \"ticket_subject\": \"Need help with billing\"\n    },\n    \"trigger\": {\n      \"method\": \"POST\",\n      \"body\": {\n        \"source\": \"helpdesk\"\n      }\n    },\n    \"triggerSource\": \"api\"\n  },\n  \"idempotencyKey\": \"unique-key-{{$timestamp}}\",\n  \"tags\": [\n    \"production\",\n    \"api\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Dispatched",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs"]
                },
                "description": "Validate and enqueue an ActionFlow run. Returns 201 when dispatched immediately, or 202 when placed on the run queue.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"payload\": {\n    \"organizationId\": \"{{organization_id}}\",\n    \"actionFlowId\": \"{{action_flow_id}}\",\n    \"inputs\": {\n      \"ticket_subject\": \"Need help with billing\"\n    },\n    \"trigger\": {\n      \"method\": \"POST\",\n      \"body\": {\n        \"source\": \"helpdesk\"\n      }\n    },\n    \"triggerSource\": \"api\"\n  },\n  \"idempotencyKey\": \"unique-key-{{$timestamp}}\",\n  \"tags\": [\n    \"production\",\n    \"api\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"run_abc123\",\n    \"runHistoryId\": \"hist_123\",\n    \"status\": \"dispatched\",\n    \"triggerRunId\": \"run_abc123\"\n  }\n}"
            },
            {
              "name": "202 Queued",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs"]
                },
                "description": "Validate and enqueue an ActionFlow run. Returns 201 when dispatched immediately, or 202 when placed on the run queue.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"payload\": {\n    \"organizationId\": \"{{organization_id}}\",\n    \"actionFlowId\": \"{{action_flow_id}}\",\n    \"inputs\": {\n      \"ticket_subject\": \"Need help with billing\"\n    },\n    \"trigger\": {\n      \"method\": \"POST\",\n      \"body\": {\n        \"source\": \"helpdesk\"\n      }\n    },\n    \"triggerSource\": \"api\"\n  },\n  \"idempotencyKey\": \"unique-key-{{$timestamp}}\",\n  \"tags\": [\n    \"production\",\n    \"api\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Accepted",
              "code": 202,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"queueId\": \"11111111-1111-4111-8111-111111111111\",\n    \"position\": 1,\n    \"runHistoryId\": \"hist_123\",\n    \"status\": \"waiting\",\n    \"triggerRunId\": null\n  }\n}"
            }
          ]
        },
        {
          "name": "Get Run",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/runs/{{run_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "runs", "{{run_id}}"]
            },
            "description": "Retrieve a public run object. `runId` must start with `run_`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs/{{run_id}}",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs", "{{run_id}}"]
                },
                "description": "Retrieve a public run object. `runId` must start with `run_`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"run_abc123\",\n    \"status\": \"COMPLETED\",\n    \"createdAt\": \"2026-09-21T00:00:00.000Z\",\n    \"updatedAt\": \"2026-09-21T00:00:02.000Z\",\n    \"startedAt\": \"2026-09-21T00:00:00.400Z\",\n    \"finishedAt\": \"2026-09-21T00:00:02.000Z\",\n    \"durationMs\": 1600,\n    \"payload\": {\n      \"actionFlowId\": \"{{action_flow_id}}\",\n      \"organizationId\": \"{{organization_id}}\",\n      \"inputs\": {\n        \"ticket_subject\": \"Need help with billing\"\n      },\n      \"triggerSource\": \"api\"\n    },\n    \"output\": {\n      \"ok\": true\n    },\n    \"error\": null,\n    \"tags\": [\n      \"production\",\n      \"api\"\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Cancel Run",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/runs/{{run_id}}/cancel",
              "host": ["{{base_url}}"],
              "path": ["api", "runs", "{{run_id}}", "cancel"]
            },
            "description": "Cancel a running or waiting flow execution and return the public run object."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs/{{run_id}}/cancel",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs", "{{run_id}}", "cancel"]
                },
                "description": "Cancel a running or waiting flow execution and return the public run object."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"run_abc123\",\n    \"status\": \"CANCELED\",\n    \"createdAt\": \"2026-09-21T00:00:00.000Z\",\n    \"updatedAt\": \"2026-09-21T00:00:02.000Z\",\n    \"startedAt\": \"2026-09-21T00:00:00.400Z\",\n    \"finishedAt\": \"2026-09-21T00:00:01.000Z\",\n    \"durationMs\": 600,\n    \"payload\": {\n      \"actionFlowId\": \"{{action_flow_id}}\",\n      \"organizationId\": \"{{organization_id}}\",\n      \"inputs\": {\n        \"ticket_subject\": \"Need help with billing\"\n      },\n      \"triggerSource\": \"api\"\n    },\n    \"output\": null,\n    \"error\": null,\n    \"tags\": [\n      \"production\",\n      \"api\"\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Stream Run",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Accept",
                "type": "text",
                "value": "text/event-stream"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/runs/{{run_id}}/stream",
              "host": ["{{base_url}}"],
              "path": ["api", "runs", "{{run_id}}", "stream"]
            },
            "description": "Stream public run updates as Server-Sent Events until the run reaches a terminal status. Events: connected, update, completed, error."
          },
          "response": [
            {
              "name": "200 SSE",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Accept",
                    "type": "text",
                    "value": "text/event-stream"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs/{{run_id}}/stream",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs", "{{run_id}}", "stream"]
                },
                "description": "Stream public run updates as Server-Sent Events until the run reaches a terminal status. Events: connected, update, completed, error."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "text",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "text/event-stream"
                }
              ],
              "cookie": [],
              "body": "data: {\"type\":\"connected\",\"runId\":\"run_abc123\"}\n\ndata: {\"type\":\"update\",\"data\":{\"id\":\"run_abc123\",\"status\":\"EXECUTING\",\"metadata\":{\"activeNodeId\":\"node_123\",\"executedNodes\":2,\"status\":\"executing\",\"totalNodes\":5},\"createdAt\":\"2026-09-21T00:00:00.000Z\",\"updatedAt\":\"2026-09-21T00:00:02.000Z\",\"startedAt\":\"2026-09-21T00:00:00.400Z\",\"finishedAt\":\"2026-09-21T00:00:02.000Z\",\"durationMs\":1600,\"payload\":{\"actionFlowId\":\"{{action_flow_id}}\",\"organizationId\":\"{{organization_id}}\",\"inputs\":{\"ticket_subject\":\"Need help with billing\"},\"triggerSource\":\"api\"},\"output\":{\"ok\":true},\"error\":null,\"tags\":[\"production\",\"api\"]}}\n\ndata: {\"type\":\"completed\",\"status\":\"COMPLETED\"}\n\n"
            }
          ]
        }
      ]
    },
    {
      "name": "Queue",
      "description": "Inspect and cancel queued flow runs when the organization run queue is enabled.",
      "item": [
        {
          "name": "List Queued Runs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/runs/queue?filter[organizationId]={{organization_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "runs", "queue"],
              "query": [
                {
                  "key": "filter[organizationId]",
                  "value": "{{organization_id}}",
                  "description": "Organization that owns the queue"
                },
                {
                  "key": "filter[actionFlowId]",
                  "value": "{{action_flow_id}}",
                  "description": "Optional ActionFlow ID filter",
                  "disabled": true
                },
                {
                  "key": "page[size]",
                  "value": "20",
                  "description": "Queue page size (default 20)",
                  "disabled": true
                },
                {
                  "key": "page[number]",
                  "value": "1",
                  "description": "Queue page number starting at 1",
                  "disabled": true
                }
              ]
            },
            "description": "List waiting or dispatching queue items for the organization."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs/queue?filter[organizationId]={{organization_id}}",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs", "queue"],
                  "query": [
                    {
                      "key": "filter[organizationId]",
                      "value": "{{organization_id}}",
                      "description": "Organization that owns the queue"
                    },
                    {
                      "key": "filter[actionFlowId]",
                      "value": "{{action_flow_id}}",
                      "description": "Optional ActionFlow ID filter",
                      "disabled": true
                    },
                    {
                      "key": "page[size]",
                      "value": "20",
                      "description": "Queue page size (default 20)",
                      "disabled": true
                    },
                    {
                      "key": "page[number]",
                      "value": "1",
                      "description": "Queue page number starting at 1",
                      "disabled": true
                    }
                  ]
                },
                "description": "List waiting or dispatching queue items for the organization."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"items\": [\n      {\n        \"id\": \"{{queue_id}}\",\n        \"organizationId\": \"{{organization_id}}\",\n        \"actionFlowId\": \"{{action_flow_id}}\",\n        \"status\": \"waiting\",\n        \"triggerRunId\": null,\n        \"error\": null,\n        \"position\": 1,\n        \"createdAt\": \"2026-09-21T00:00:00.000Z\",\n        \"updatedAt\": \"2026-09-21T00:00:00.000Z\",\n        \"dispatchedAt\": null\n      }\n    ],\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Get Queued Run",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/runs/queue/{{queue_id}}?filter[organizationId]={{organization_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "runs", "queue", "{{queue_id}}"],
              "query": [
                {
                  "key": "filter[organizationId]",
                  "value": "{{organization_id}}",
                  "description": "Organization that owns the queue item"
                }
              ]
            },
            "description": "Get a queued flow run by queue item ID."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs/queue/{{queue_id}}?filter[organizationId]={{organization_id}}",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs", "queue", "{{queue_id}}"],
                  "query": [
                    {
                      "key": "filter[organizationId]",
                      "value": "{{organization_id}}",
                      "description": "Organization that owns the queue item"
                    }
                  ]
                },
                "description": "Get a queued flow run by queue item ID."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"{{queue_id}}\",\n    \"organizationId\": \"{{organization_id}}\",\n    \"actionFlowId\": \"{{action_flow_id}}\",\n    \"status\": \"waiting\",\n    \"triggerRunId\": null,\n    \"error\": null,\n    \"position\": 1,\n    \"createdAt\": \"2026-09-21T00:00:00.000Z\",\n    \"updatedAt\": \"2026-09-21T00:00:00.000Z\",\n    \"dispatchedAt\": null\n  }\n}"
            }
          ]
        },
        {
          "name": "Cancel Queued Run",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/runs/queue/{{queue_id}}?filter[organizationId]={{organization_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "runs", "queue", "{{queue_id}}"],
              "query": [
                {
                  "key": "filter[organizationId]",
                  "value": "{{organization_id}}",
                  "description": "Organization that owns the queue item"
                }
              ]
            },
            "description": "Cancel a waiting queued run and release any credit hold."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/runs/queue/{{queue_id}}?filter[organizationId]={{organization_id}}",
                  "host": ["{{base_url}}"],
                  "path": ["api", "runs", "queue", "{{queue_id}}"],
                  "query": [
                    {
                      "key": "filter[organizationId]",
                      "value": "{{organization_id}}",
                      "description": "Organization that owns the queue item"
                    }
                  ]
                },
                "description": "Cancel a waiting queued run and release any credit hold."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"queueId\": \"{{queue_id}}\",\n    \"runHistoryId\": \"hist_123\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Action Agents",
      "description": "Discover agents and chat. Design agents in Action Agent Studio. The API does not create, update, or delete agents and does not return Action Agent Studio configuration.",
      "item": [
        {
          "name": "List Agents",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/action-agents?organizationId={{organization_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "action-agents"],
              "query": [
                {
                  "key": "organizationId",
                  "value": "{{organization_id}}",
                  "description": "Filter agents by organization"
                }
              ]
            },
            "description": "List agent discovery metadata for the organization. Action Agent Studio configuration is not returned."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/action-agents?organizationId={{organization_id}}",
                  "host": ["{{base_url}}"],
                  "path": ["api", "action-agents"],
                  "query": [
                    {
                      "key": "organizationId",
                      "value": "{{organization_id}}",
                      "description": "Filter agents by organization"
                    }
                  ]
                },
                "description": "List agent discovery metadata for the organization. Action Agent Studio configuration is not returned."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"{{action_agent_id}}\",\n      \"name\": \"Support agent\",\n      \"slug\": \"support-agent\",\n      \"description\": \"Answers product questions\",\n      \"organizationId\": \"{{organization_id}}\",\n      \"active\": true,\n      \"service\": {\n        \"name\": \"OpenAI\",\n        \"slug\": \"openai\"\n      },\n      \"serviceModel\": {\n        \"name\": \"GPT-4.1\",\n        \"modelId\": \"gpt-4.1\"\n      },\n      \"tags\": [\n        {\n          \"id\": \"tag_1\",\n          \"name\": \"support\"\n        }\n      ],\n      \"createdAt\": \"2026-09-01T12:00:00.000Z\",\n      \"updatedAt\": \"2026-09-15T09:30:00.000Z\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Get Agent",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-Locale",
                "type": "text",
                "value": "en"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/action-agents/{{action_agent_id}}?organizationId={{organization_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "action-agents", "{{action_agent_id}}"],
              "query": [
                {
                  "key": "organizationId",
                  "value": "{{organization_id}}",
                  "description": "Optional organization scope"
                }
              ]
            },
            "description": "Get discovery metadata for one agent. Does not include Action Agent Studio fields."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "type": "text",
                    "value": "Bearer {{api_key}}"
                  },
                  {
                    "key": "Content-Type",
                    "type": "text",
                    "value": "application/json"
                  },
                  {
                    "disabled": true,
                    "key": "X-Locale",
                    "type": "text",
                    "value": "en"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/api/action-agents/{{action_agent_id}}?organizationId={{organization_id}}",
                  "host": ["{{base_url}}"],
                  "path": ["api", "action-agents", "{{action_agent_id}}"],
                  "query": [
                    {
                      "key": "organizationId",
                      "value": "{{organization_id}}",
                      "description": "Optional organization scope"
                    }
                  ]
                },
                "description": "Get discovery metadata for one agent. Does not include Action Agent Studio fields."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"{{action_agent_id}}\",\n    \"name\": \"Support agent\",\n    \"slug\": \"support-agent\",\n    \"description\": \"Answers product questions\",\n    \"organizationId\": \"{{organization_id}}\",\n    \"active\": true,\n    \"service\": {\n      \"name\": \"OpenAI\",\n      \"slug\": \"openai\"\n    },\n    \"serviceModel\": {\n      \"name\": \"GPT-4.1\",\n      \"modelId\": \"gpt-4.1\"\n    },\n    \"tags\": [\n      {\n        \"id\": \"tag_1\",\n        \"name\": \"support\"\n      }\n    ],\n    \"createdAt\": \"2026-09-01T12:00:00.000Z\",\n    \"updatedAt\": \"2026-09-15T09:30:00.000Z\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Create Chat Completion",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "type": "text",
                "value": "Bearer {{api_key}}"
              },
              {
                "key": "Content-Type",
                "type": "text",
                "value": "application/json"
              },
              {
                "disabled": true,
                "key": "X-ActionFlows-Session-Id",
                "type": "text",
                "value": "{{session_id}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/chat/completions",
              "host": ["{{base_url}}"],
              "path": ["v1", "chat", "completions"]
            },
            "description": "OpenAI-compatible chat completion. `model` is the Action Agent id. Omit `stream` for a JSON reply; set `stream: true` for OpenAI SSE chunks. The response returns `X-ActionFlows-Session-Id`; send it back to continue the same session.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"model\": \"{{action_agent_id}}\",\n  \"messages\": [\n    { \"role\": \"user\", \"content\": \"Hello\" }\n  ],\n  \"stream\": false\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        }
      ]
    }
  ],
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "exec": [""]
      }
    },
    {
      "listen": "test",
      "script": {
        "type": "text/javascript",
        "exec": [""]
      }
    }
  ],
  "variable": [
    {
      "key": "base_url",
      "type": "string",
      "value": "https://api.actionflows.ai"
    },
    {
      "key": "api_key",
      "type": "string",
      "value": "",
      "description": "Your ActionFlows API key. Get it from your organization settings."
    },
    {
      "key": "organization_id",
      "type": "string",
      "value": "",
      "description": "Your organization ID"
    },
    {
      "key": "action_flow_id",
      "type": "string",
      "value": "",
      "description": "Flow ID for testing"
    },
    {
      "key": "run_id",
      "type": "string",
      "value": "",
      "description": "Run ID for testing. Must start with run_."
    },
    {
      "key": "queue_id",
      "type": "string",
      "value": "",
      "description": "Queued run ID for testing"
    },
    {
      "key": "action_agent_id",
      "type": "string",
      "value": "",
      "description": "Agent ID for testing"
    },
    {
      "key": "session_id",
      "type": "string",
      "value": "",
      "description": "Agent session ID for testing"
    }
  ]
}
