{
  "opencollection": "1.0.0",
  "info": {
    "name": "Process Street Public Attachments Workflows API",
    "version": "1.1"
  },
  "items": [
    {
      "info": {
        "name": "Workflows",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List all workflows",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://public-api.process.st/api/v1.1/workflows",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "The partial name of the Workflow to search for (will match any part of the name in a case-insensitive manner)"
              },
              {
                "name": "_",
                "value": "",
                "type": "query",
                "description": "Opaque pagination cursor. Take this value from the previous response's `links[]` entry whose `name`\nis `\"next\"` (typically just follow that link's `href` instead of reading this value).\nOmit on the first page. If the previous response had no `next` link, there are no more pages."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a list of active workflows.\nThe workflows are returned 20 at a time, sorted by name.\nYou must use the links section to get the next 20 results."
        },
        {
          "info": {
            "name": "Create a workflow",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://public-api.process.st/api/v1.1/workflows",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Creates a new workflow with the specified properties. Only name and folderId are required.\n\n> 💡 Notes for MCP clients:\n> - Don't default `shareLevel` to `Overview`/`View`/`Run` or `runLinkShareLevel` to `Public`. Only set them when the user explicitly asks for a shareable or public link."
        },
        {
          "info": {
            "name": "Get a workflow",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://public-api.process.st/api/v1.1/workflows/:workflowId",
            "params": [
              {
                "name": "workflowId",
                "value": "",
                "type": "path",
                "description": "The ID of the Workflow"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a workflow by its ID."
        },
        {
          "info": {
            "name": "Update a workflow",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://public-api.process.st/api/v1.1/workflows/:workflowId",
            "params": [
              {
                "name": "workflowId",
                "value": "",
                "type": "path",
                "description": "The ID of the Workflow"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Updates all properties of a workflow. All fields are required (PUT semantics).\n\n> 💡 Notes for MCP clients:\n> - Don't default `shareLevel` to `Overview`/`View`/`Run` or `runLinkShareLevel` to `Public`. Only set them when the user explicitly asks for a shareable or public link.\n\nReturns the updated workflow."
        },
        {
          "info": {
            "name": "Delete a workflow",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://public-api.process.st/api/v1.1/workflows/:workflowId",
            "params": [
              {
                "name": "workflowId",
                "value": "",
                "type": "path",
                "description": "The ID of the Workflow"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Soft deletes a workflow by its ID."
        },
        {
          "info": {
            "name": "List all tasks in a workflow",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://public-api.process.st/api/v1.1/workflows/:workflowId/tasks",
            "params": [
              {
                "name": "workflowId",
                "value": "",
                "type": "path",
                "description": "The ID of the Workflow"
              },
              {
                "name": "_",
                "value": "",
                "type": "query",
                "description": "Opaque pagination cursor. Take this value from the previous response's `links[]` entry whose `name`\nis `\"next\"` (typically just follow that link's `href` instead of reading this value).\nOmit on the first page. If the previous response had no `next` link, there are no more pages."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a list of tasks for a workflow.\nThe task templates are returned 20 at a time, sorted in order.\nYou must use the links section to get the next 20 results."
        },
        {
          "info": {
            "name": "Duplicate a workflow",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://public-api.process.st/api/v1.1/workflows/:workflowId/duplicate",
            "params": [
              {
                "name": "workflowId",
                "value": "",
                "type": "path",
                "description": "The ID of the Workflow"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Creates a new workflow as a copy of the source workflow at a given revision. All body fields are optional — send `{}` to use defaults. `revisionId` defaults to the source workflow's latest published revision; `name` defaults to `\"Copy of <original>\"`; `folderId` defaults to the source workflow's folder."
        },
        {
          "info": {
            "name": "Get permissions for a workflow",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://public-api.process.st/api/v1.1/workflows/:workflowId/permissions",
            "params": [
              {
                "name": "workflowId",
                "value": "",
                "type": "path",
                "description": "The ID of the Workflow"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Returns the complete list of permissions on a workflow, one entry per user or group. `accessLevel` is `Custom` when the atom combination does not match a predefined level. Groups appear with synthetic `group-<id>@process.st` emails."
        },
        {
          "info": {
            "name": "Set permissions for a workflow",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://public-api.process.st/api/v1.1/workflows/:workflowId/permissions",
            "params": [
              {
                "name": "workflowId",
                "value": "",
                "type": "path",
                "description": "The ID of the Workflow"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Replaces the full set of permissions for a workflow. PUT semantics: send the complete list to replace all existing permissions. Send an empty array to remove all user-addressable permissions. Accepts both user emails and group emails (groups appear in other endpoints with synthetic `group-<id>@process.st` emails). Note: the AllFreeMembers system group is managed automatically by the AllMembers system group and cannot be modified directly. Returns the resulting permissions."
        }
      ]
    }
  ],
  "bundled": true
}