---
title: "Get permissions for a workflow"
method: GET
path: "/workflows/{workflowId}/permissions"
tags: ["Workflows"]
---

# Get permissions for a workflow

`GET /workflows/{workflowId}/permissions`

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.

## Path parameters

- `workflowId` string, required

## Response `200`

- PublicApiWorkflowPermissionListResponse
  - `data` object[] — The list of resources returned by this request.
    - `email` string, required — Email address.
    - `accessLevel` 'Edit' | 'EditViewOwn' | 'ViewAll' | 'Run' | 'View' | 'Custom', required — Access level a user or group has on this workflow. `Edit` — edit the workflow, run new workflow runs, and view all runs created from it. `EditViewOwn` — edit the workflow and run new runs, but only view runs assigned to them (available on some plans). `ViewAll` — view the workflow and all runs, plus run new runs; cannot edit the workflow. `Run` — view the workflow, run new runs, and view runs assigned to them. `View` — view the workflow and only runs assigned to them; cannot run. `Custom` — the user's underlying permission atoms don't match any predefined level; inspect the `permissions` object on the same entry for the actual atoms.
    - `permissions` object, required — Granular permission flags this user or group has on the workflow.
      - `templateRead` boolean, required — Can view the workflow.
      - `templateUpdate` boolean, required — Can edit the workflow.
      - `templateDelete` boolean, required — Can delete the workflow.
      - `checklistCreate` boolean, required — Can start new workflow runs from the workflow.
      - `checklistRead` boolean, required — Can view workflow runs of this workflow.
      - `checklistUpdate` boolean, required — Can edit workflow runs (e.g. complete tasks, fill form fields, change due dates).
      - `checklistDelete` boolean, required — Can delete workflow runs.
      - `doodadCreate` boolean, required — Can add comments and attachments to workflow runs.
      - `doodadRead` boolean, required — Can view comments and attachments on workflow runs.
      - `doodadUpdate` boolean, required — Can edit comments and attachments on workflow runs.
  - `links` object[] — Pagination links. When the result has more pages, look for an entry with `name: "next"` — its `href` is the URL to fetch the next page. Absence of `next` means there are no more pages. For single-resource responses this array is typically empty.
    - `name` string, required — Standard link relation name (RFC 5988) indicating this link's role. Common values include `self`, `edit`, `related`, `previous`, `next`.
    - `href` string, required — URL of the linked resource.
    - `rel` 'Approval Task' | 'Approvals' | 'Assignees' | 'Comment' | 'Data Set Records' | 'Data Sets' | 'Form Field Values' | 'Subject Task' | 'Task' | 'Tasks' | 'Users' | 'Webhook' | 'Workflow' | 'Workflow Run' — Optional. The kind of resource this link points to (e.g. `Workflow`, `Task`, `Comment`).
    - `type` 'Api' | 'App', required — Whether this link targets an API endpoint or a Process Street app URL. `Api` — a callable API endpoint you can fetch directly. `App` — a browser-facing URL in the Process Street UI.

## Other responses

- `default`

---

[API](https://skmtc.net/process/apis/process-street-public-api.md) · [All operations](https://skmtc.net/process/apis/process-street-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/process/process-street-public-api/revisions/6199a9464227/schema)
