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

# List workflows

> Your workflows, newest first. Needs `workflow:read`.



## OpenAPI

````yaml GET /api/workflows
openapi: 3.1.0
info:
  title: HITL API
  version: 1.0.0
  description: >-
    Run the workflows you build in HITL, follow each run until a person has
    answered, and manage who reviews them.
servers:
  - url: https://api.hitl.sh/v1
security:
  - bearerAuth: []
tags:
  - name: Workflows
  - name: Runs
  - name: Reviewers
  - name: Webhooks
  - name: Account
  - name: Uploads
paths:
  /api/workflows:
    get:
      tags:
        - Workflows
      summary: List workflows
      description: Your workflows, newest first. Needs `workflow:read`.
      operationId: workflows-list
      parameters:
        - name: status
          in: query
          required: false
          description: Only workflows with this status
          schema:
            type: string
            enum:
              - active
              - paused
              - draft
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: boolean
                  msg:
                    type: string
                  data:
                    type: object
                    properties:
                      count:
                        type: integer
                      workflows:
                        type: array
                        items:
                          $ref: '#/components/schemas/WorkflowSummary'
              example:
                data:
                  count: 5
                  workflows:
                    - id: 6af2ce5f8207961501f59482
                      name: Translation quality
                      description: Native speakers rate machine translations.
                      status: active
                      trigger:
                        type: webhook
                        webhook_id: wf_d7050a5d0e91ee0944534988405a9c7a
                      steps: 3
                      has_review: true
                      runnable: true
                      execution_count: 2
                      last_executed_at: '2026-11-10T07:59:39.189Z'
                      created_at: '2026-11-10T07:57:19.308Z'
                      updated_at: '2026-11-10T07:57:22.218Z'
                    - id: 6af2ce5b8207961501f5947e
                      name: Support reply review
                      description: An agent drafts a reply; a person edits and sends it.
                      status: active
                      trigger:
                        type: webhook
                        webhook_id: wf_b5bdb3e59a5dbbae7c37391cc794e752
                      steps: 4
                      has_review: true
                      runnable: true
                      execution_count: 2
                      last_executed_at: '2026-11-10T07:59:44.889Z'
                      created_at: '2026-11-10T07:57:15.116Z'
                      updated_at: '2026-11-10T07:57:18.042Z'
                    - id: 6af2ce568207961501f5947a
                      name: Deploy gate
                      description: An on-call engineer signs off production deploys.
                      status: active
                      trigger:
                        type: webhook
                        webhook_id: wf_fe660c09a7434ebfc13a9e71f6dc63da
                      steps: 4
                      has_review: true
                      runnable: true
                      execution_count: 2
                      last_executed_at: '2026-11-10T07:59:50.439Z'
                      created_at: '2026-11-10T07:57:10.915Z'
                      updated_at: '2026-11-10T07:57:13.849Z'
                    - id: 6af2ce528207961501f59476
                      name: Content moderation
                      description: Moderators check posts the classifier flagged.
                      status: active
                      trigger:
                        type: webhook
                        webhook_id: wf_4aa18482334c7eae5e18f094bca35223
                      steps: 4
                      has_review: true
                      runnable: true
                      execution_count: 2
                      last_executed_at: '2026-11-10T07:59:55.996Z'
                      created_at: '2026-11-10T07:57:06.721Z'
                      updated_at: '2026-11-10T07:57:09.654Z'
                    - id: 6af2ce4e8207961501f59472
                      name: Refund approval
                      description: >-
                        A support lead approves, denies or escalates refunds
                        over $100.
                      status: active
                      trigger:
                        type: webhook
                        webhook_id: wf_26db308d0ea2bfd5427999311a169b3b
                      steps: 6
                      has_review: true
                      runnable: true
                      execution_count: 4
                      last_executed_at: '2026-11-10T08:00:07.228Z'
                      created_at: '2026-11-10T07:57:02.477Z'
                      updated_at: '2026-11-10T07:57:05.452Z'
                error: false
                msg: Workflows retrieved
        '401':
          $ref: '#/components/responses/E401'
        '429':
          $ref: '#/components/responses/E429'
components:
  schemas:
    WorkflowSummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
            - active
            - paused
            - draft
        trigger:
          type: object
          properties:
            type:
              type: string
              enum:
                - webhook
                - email
                - schedule
                - manual
                - google_sheets_row
            webhook_id:
              type: string
        steps:
          type: integer
          description: Number of steps, trigger and end included
        has_review:
          type: boolean
          description: The workflow has at least one review step
        runnable:
          type: boolean
          description: Active, so `POST /run` will start it
        execution_count:
          type: integer
        last_executed_at:
          type:
            - string
            - 'null'
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      required:
        - error
        - msg
      properties:
        error:
          type: boolean
          example: true
        msg:
          type: string
          description: What went wrong, in plain words
        code:
          type: string
          description: >-
            A machine-readable reason, when there is one (for example
            `confirmation_required`)
  responses:
    E401:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            msg: Invalid API key
    E429:
      description: 'Rate limit: 1,000 requests an hour per key on /workflows and /executions'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            msg: Rate limit exceeded
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key: `hitl_live_…`'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.