> ## Documentation Index
> Fetch the complete documentation index at: https://docs.humanos.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# List Workflows

> Retrieve a paginated list of your workflows, including their approvals. 
 Workflows let you pack approvals together and request them easily. 
 Filter with the optional query parameters: `search` (matches the workflow name or the name of a contained approval), `active` (active or inactive workflows only), `types` (only workflows containing approvals of the given resource types), and `internalId` (only the workflow containing the approval with your identifier). 
 Use `pageIndex` and `pageSize` to paginate.



## OpenAPI

````yaml /versions/2026-07-06.yaml get /approvals/workflow
openapi: 3.1.0
info:
  title: Humanos API
  description: Humanos API
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: humanosApp
    description: ''
paths:
  /approvals/workflow:
    get:
      tags:
        - Approval
      summary: List Workflows
      description: |-
        Retrieve a paginated list of your workflows, including their approvals. 
         Workflows let you pack approvals together and request them easily. 
         Filter with the optional query parameters: `search` (matches the workflow name or the name of a contained approval), `active` (active or inactive workflows only), `types` (only workflows containing approvals of the given resource types), and `internalId` (only the workflow containing the approval with your identifier). 
         Use `pageIndex` and `pageSize` to paginate.
      operationId: approval_workflows
      parameters:
        - name: pageIndex
          required: false
          in: query
          description: Zero-based page index. `0` returns the first page.
          schema:
            default: 0
            example: 0
            type: number
        - name: pageSize
          required: false
          in: query
          description: Number of items per page
          schema:
            minimum: 5
            maximum: 100
            default: 10
            example: 10
            type: number
        - name: search
          required: false
          in: query
          description: >-
            Search query to filter by. Is case-insensitive and does not need to
            match the entire value.
          schema:
            maxLength: 100
            example: example
            type: string
        - name: active
          required: false
          in: query
          description: Filter by active status. Accepts true/false as string or boolean.
          schema:
            example: true
            type: boolean
        - name: types
          required: false
          in: query
          description: Filter by resource types. Can be a single value or array
          schema:
            example:
              - DOCUMENT
              - CONSENT
            type: array
            items:
              type: string
              enum:
                - CONSENT
                - FORM
                - DOCUMENT
                - JSON
                - POLICY
        - name: internalId
          required: false
          in: query
          description: >-
            Identifier to help you identify the resource in your own system. We
            recommend using a unique value.
          schema:
            example: internal-12345
            type: string
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: >-
            Returns an array of workflows (each including its approvals) and the
            total number of pages.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupsEntity'
components:
  parameters:
    ApiVersion:
      name: API-Version
      in: header
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2}$
        example: '2026-07-06'
      description: >-
        Pin request, response, and webhook shapes to a specific dated API
        version (YYYY-MM-DD). Omit to use the version pinned to your API key
        (set when the key is created; new keys default to the latest version).
        New integrations should target the latest version.
  schemas:
    GroupsEntity:
      type: object
      properties:
        data:
          description: Array of your groups matching the query parameters
          type: array
          items:
            $ref: '#/components/schemas/GroupEntity'
        totalPages:
          type: number
          description: >-
            Total number of pages available based on the page size and total
            count
          example: 5
      required:
        - data
        - totalPages
    GroupEntity:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the group
          example: 507f1f77bcf86cd799439011
        name:
          type: string
          description: Name of the group
          example: Onboarding Resources
        description:
          type: string
          description: Description of the group
          example: Resources required for employee onboarding
          nullable: true
        active:
          type: boolean
          description: >-
            Whether the group is currently active. Only active groups can be
            requested
          example: true
        resources:
          description: List of resources in this group
          type: array
          items:
            $ref: '#/components/schemas/ResourceMinimalEntity'
        updatedAt:
          type: string
          description: Date and time of the group last update
          example: '2025-01-15T10:30:00Z'
          format: date-time
      required:
        - id
        - name
        - active
        - resources
        - updatedAt
    ResourceMinimalEntity:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the resource
          example: 507f1f77bcf86cd799439011
        name:
          type: string
          description: Name of the resource
          example: Identity Document
        type:
          type: string
          description: Type of the resource
          example: DOCUMENT
          enum:
            - CONSENT
            - FORM
            - DOCUMENT
            - JSON
            - POLICY
        active:
          type: boolean
          description: >-
            Whether the resource is currently active. Only active resources can
            be requested
          example: true
        internalId:
          type: string
          description: >-
            Identifier to help you identify the resource in your own system. We
            recommend using a unique value.
          example: internal-12345
      required:
        - id
        - name
        - type
        - active

````