---
title: "List approval workflows"
method: GET
path: "/v1/approvals/workflows"
tags: ["Approval workflows"]
---

# List approval workflows

`GET /v1/approvals/workflows`

Retrieve approval workflows with optional filtering.

## Query parameters

- `take` number, nullable
- `skip` number, nullable
- `is_active` union — Only return workflows matching this active state.
  - boolean
  - 'true' | 'false'

## Response `200`

- PaginatedApprovalWorkflow
  - `meta` object, required
    - `total` number, required — Total of existing items.
    - `taken` number, required — Number of items returned.
    - `skipped` number, required — Number of items skipped.
  - `data` ApprovalWorkflow[], required — List of ApprovalWorkflow.
    - `id` string, required — Approval workflow ID.
    - `name` string, required — Approval workflow name.
    - `description` string, nullable, required — Approval workflow description.
    - `applicable_flows` string[], required — Quote or subscription flows where the workflow applies.
    - `is_active` boolean, required — Whether the workflow is active.
    - `priority` integer, required — Workflow priority. Lower values are evaluated first when multiple workflows match.
    - `rules` ApprovalWorkflowRule[], required — Rules that determine when the workflow applies.
      - `id` string, required — Approval workflow rule ID.
      - `operator` 'and' | 'or', required — Logical operator used to combine the rule conditions.
      - `conditions` ApprovalCondition[], required — Conditions that must match for the rule to apply.
        - `field` string, required — Field evaluated by the approval condition. Use `has_attachment` with `eq` false when no quote attachment should trigger approval.
        - `operator` 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'not_in' | 'contains' | 'not_contains', required — Comparison operator used by the approval condition.
        - `value` union, required — Expected value for the approval condition.
          - string
          - number
          - boolean
          - string[]
          - number[]
          - object
            - `period` 'weeks' | 'months' | 'years', required — Product interval period.
            - `count` integer, required — Number of periods in the product interval.
          - object
            - `period` 'once', required — Product interval period.
            - `count` unknown, required
    - `step_execution` 'sequential' | 'parallel', required — How workflow steps execute. Sequential steps run by order; parallel steps run together.
    - `email_notification_enabled` boolean, required — Whether approvers receive email notifications for this workflow.
    - `steps` ApprovalWorkflowStep[], required — Approval steps required by the workflow.
      - `id` string, required — Approval workflow step ID.
      - `name` string, required — Approval workflow step name.
      - `order` integer, required — Step order. Orders must be sequential starting from 1.
      - `approver_requirement` 'any' | 'all', required — Whether any approver or all approvers must approve the step.
      - `approver_role_ids` string[], required — User role IDs that can approve the step.
      - `approver_user_ids` string[], required — User IDs that can approve the step.
    - `version` integer, required — Workflow version number.
    - `original_workflow_id` string, nullable, required — Original workflow ID when this workflow is an archived version.
    - `created_at` string, date-time, required — Approval workflow creation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.

---

[API](https://skmtc.net/hyperline/apis/hyperline-api.md) · [All operations](https://skmtc.net/hyperline/apis/hyperline-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hyperline/hyperline-api/versions/19fa5f22e39b/schema)
