Skip to main content
Who approves a request workflow’s submissions, who has which role on a workflow, and which workspaces can see its form.

Approvers

Designated approvers are users or groups. A group stays live: whoever is in it when a request is submitted can approve. Approvers only matter while require_approvers is on; required_approvals sets how many approvals a request needs (see workflow settings). Permission to change: workflow.manage_form_settings.

GET workflows/{id}/approvers/

approvers lists direct approvers first, then members of approver groups who aren’t also direct approvers.

POST workflows/{id}/approvers/

or
user is a member’s id, username or email; group is a group’s id or name. is_required defaults to true. Response 201: {"success": true, "approver": {…}} or {"success": true, "group": {…}}. Errors: 400 if already an approver, or the group has no active members; 404 for an unknown user or group.

PATCH workflows/{id}/approvers/{approver_id}/

{"is_required": false}. approver_id is a direct approver’s id or a group’s id from groups.

DELETE workflows/{id}/approvers/{approver_id}/

Removes a direct approver or an approver group. Returns {"success": true, "message": "…"}.

Roles

Workflow roles: reader (view), writer (view, edit, run, change settings and variables), admin (everything, including access). A role can go to a user or a group. Permission: workflow.manage_permissions (including to list).

GET workflows/{id}/permissions/

POST workflows/{id}/permissions/

or {"group": "Platform", "role": "reader"}. Response: 201 when granted, 200 when the user or group already had it.

PATCH workflows/{id}/permissions/{permission_id}/

{"role": "admin"}. permission_id is a user assignment’s id or a group’s id from groups.

DELETE workflows/{id}/permissions/{permission_id}/

Returns 204.

Form visibility

A request workflow’s form is visible in its own workspace, in all workspaces, or in a selected list. With form_visibility set to selected_workspaces (see workflow settings), these endpoints manage the list. The request portal is separate: see portal_enabled. Permission to change: workflow.manage_form_settings. Request workflows only.

GET workflows/{id}/form-visibility/

POST workflows/{id}/form-visibility/

{"workspace": "data", "permission": "viewer"}. workspace is a slug or id; permission is viewer (default) or editor.

PATCH workflows/{id}/form-visibility/{entry_id}/

{"permission": "editor"}.

DELETE workflows/{id}/form-visibility/{entry_id}/

Returns 204.