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

# Get a list of workflows

> Retrieves a list of workflows with pagination and search capabilities



## OpenAPI

````yaml get /v4/workflows
openapi: 3.0.3
info:
  title: Kadoa API
  version: 3.0.0
  contact:
    name: Support
    email: support@kadoa.com
servers:
  - url: https://api.kadoa.com
security: []
paths:
  /v4/workflows:
    get:
      tags:
        - Workflows
      summary: Get a list of workflows
      description: Retrieves a list of workflows with pagination and search capabilities
      parameters:
        - name: search
          in: query
          description: Search term to filter workflows by name, URL, or workflow ID
          required: false
          schema:
            type: string
        - name: skip
          in: query
          description: Number of items to skip
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: limit
          in: query
          description: Maximum number of items to return
          required: false
          schema:
            type: integer
            minimum: 1
            default: 25
        - name: state
          in: query
          description: >-
            Filter workflows by persisted workflow state. DRAFT workflows are
            excluded from default results unless explicitly requested. Use
            inSupport param to filter by support status.
          required: false
          schema:
            type: string
            enum:
              - ACTIVE
              - DRAFT
              - PAUSED
              - PREVIEW
              - QUEUED
              - SETUP
              - COMPLIANCE_REVIEW
              - COMPLIANCE_REJECTED
              - NOT_SUPPORTED
              - ERROR
              - DELETED
        - name: runState
          in: query
          description: Filter workflows by latest job run state (e.g., FAILED)
          required: false
          schema:
            type: string
            enum:
              - FAILED
              - FINISHED
              - RUNNING
        - name: displayState
          in: query
          description: >-
            Filter workflows by computed display state (comma-separated for
            multiple)
          required: false
          schema:
            type: string
            enum:
              - ACTIVE
              - DRAFT
              - PAUSED
              - PREVIEW
              - FAILED
              - RUNNING
              - VALIDATING
              - PENDING_START
              - COMPLIANCE_REVIEW
              - COMPLIANCE_REJECTED
        - name: inSupport
          in: query
          description: Filter workflows by support status (has open support request)
          required: false
          schema:
            type: string
            enum:
              - true
              - false
        - name: tags
          in: query
          description: Filter workflows by tags
          required: false
          schema:
            type: array
            items:
              type: string
        - name: userId
          in: query
          description: Filter workflows by user ID (team members only)
          required: false
          schema:
            type: string
        - name: monitoring
          in: query
          description: Filter workflows by monitoring status
          required: false
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - name: updateInterval
          in: query
          description: Filter workflows by update interval
          required: false
          schema:
            type: string
            enum:
              - HOURLY
              - DAILY
              - WEEKLY
              - MONTHLY
        - name: scheduleType
          in: query
          description: >-
            Filter workflows by schedule type. RUN_ONCE = no recurring schedule
            (Complete), RECURRING = has a recurring/real-time schedule
            (Scheduled).
          required: false
          schema:
            type: string
            enum:
              - RUN_ONCE
              - RECURRING
        - name: includeDeleted
          in: query
          description: Include deleted workflows (for compliance officers)
          required: false
          schema:
            type: string
            enum:
              - true
              - false
            default: false
        - name: format
          in: query
          description: Response format (json or csv for export)
          required: false
          schema:
            type: string
            enum:
              - json
              - csv
            default: json
      responses:
        '200':
          description: Successfully retrieved workflows
          content:
            application/json:
              schema:
                type: object
                properties:
                  workflows:
                    type: array
                    description: List of workflows
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier for the workflow
                        name:
                          type: string
                          description: Name of the workflow
                        description:
                          type: string
                          description: Description of the workflow
                        state:
                          type: string
                          enum:
                            - ACTIVE
                            - DRAFT
                            - ERROR
                            - PAUSED
                            - NOT_SUPPORTED
                            - PREVIEW
                            - COMPLIANCE_REVIEW
                            - COMPLIANCE_REJECTED
                            - QUEUED
                            - SETUP
                            - DELETED
                          description: >-
                            Persisted workflow lifecycle state. DRAFT = workflow
                            exists but setup is incomplete, ACTIVE = workflow is
                            enabled, PAUSED = user paused it, DELETED = soft
                            deleted. Use inSupport param to filter by support
                            status.
                        displayState:
                          type: string
                          enum:
                            - ACTIVE
                            - DRAFT
                            - ERROR
                            - PAUSED
                            - NOT_SUPPORTED
                            - PREVIEW
                            - QUEUED
                            - SETUP
                            - PENDING_START
                            - RUNNING
                            - VALIDATING
                            - FAILED
                            - COMPLIANCE_REVIEW
                            - COMPLIANCE_REJECTED
                            - DELETED
                          description: >-
                            Computed status shown to users. Combines state +
                            runState. DRAFT = workflow exists but setup is
                            incomplete, ACTIVE = complete/scheduled, RUNNING =
                            job in progress, VALIDATING = run is held for QA
                            review before data delivery, FAILED = last run
                            failed. Use this for dashboard filtering.
                        openSupportRequests:
                          type: array
                          description: >-
                            List of open support requests for this workflow.
                            Only present when there are open requests.
                          items:
                            type: object
                            properties:
                              issueId:
                                type: string
                                nullable: true
                                description: Linear issue identifier (e.g., KAD-123)
                              requestedAt:
                                type: string
                                format: date-time
                                description: When the support request was created
                        userId:
                          type: string
                          description: ID of the user who owns the workflow
                        createdAt:
                          type: string
                          format: date-time
                          description: Timestamp when the workflow was created
                        updateInterval:
                          type: string
                          description: Update frequency
                        isRealTime:
                          type: boolean
                          description: >-
                            Whether this workflow should be displayed as
                            realtime
                        tags:
                          type: array
                          items:
                            type: string
                          description: Tags associated with the workflow
                        limit:
                          type: integer
                          description: Maximum number of items to scrape
                        finishedAt:
                          type: string
                          format: date-time
                          description: When the last job finished
                        startedAt:
                          type: string
                          format: date-time
                          description: When the last job started
                        estimatedFinishedAtUtc:
                          type: string
                          format: date-time
                          nullable: true
                          description: >-
                            Estimated UTC finish time for the active job, when
                            available.
                        jobId:
                          type: string
                          description: ID of the last job
                        dataKey:
                          type: string
                          description: Database key for the workflow data
                        location:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - auto
                                - manual
                            isoCode:
                              type: string
                              enum:
                                - DE
                                - US
                                - GB
                                - NL
                                - CA
                          description: Scraping location configuration
                        runCosts:
                          type: number
                          description: Cost of the last job run in credits
                        runState:
                          type: string
                          enum:
                            - RUNNING
                            - FINISHED
                            - FAILED
                          description: >-
                            Latest job execution state. RUNNING = job in
                            progress, FINISHED = job completed successfully,
                            FAILED = job failed. This is the raw job state
                            before computing displayState.
                        totalRecords:
                          type: integer
                          description: Total number of records extracted
                        url:
                          type: string
                          description: Primary URL being scraped
                        urls:
                          type: array
                          items:
                            type: string
                          description: List of URLs being scraped
                        browserActions:
                          type: array
                          description: >-
                            Optional browser actions to perform before
                            extraction
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: Action type (e.g., CLICK, TYPE, WAIT, GOTO)
                              selector:
                                type: string
                                description: CSS selector for element-based actions
                              text:
                                type: string
                                description: Text to type for TYPE actions
                              timeMs:
                                type: integer
                                description: Milliseconds to wait for WAIT actions
                              url:
                                type: string
                                description: URL to navigate to for GOTO actions
                        maxDepth:
                          type: integer
                          minimum: 1
                          maximum: 200
                          description: 'Maximum crawl depth (default: 50, max: 200).'
                        maxPages:
                          type: integer
                          minimum: 1
                          maximum: 100000
                          description: >-
                            Maximum pages to crawl (default: 10,000, max:
                            100,000).
                        schema:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                              description:
                                type: string
                              example:
                                type: string
                              dataType:
                                type: string
                                enum:
                                  - STRING
                                  - NUMBER
                                  - BOOLEAN
                                  - DATE
                                  - DATETIME
                                  - CURRENCY
                                  - MONEY
                                  - IMAGE
                                  - LINK
                                  - OBJECT
                                  - ARRAY
                              isKey:
                                type: boolean
                              isRequired:
                                type: boolean
                              isUnique:
                                type: boolean
                          description: Extraction schema fields
                        schemaName:
                          type: string
                          description: Name of the schema used
                        schemaId:
                          type: string
                          description: ID of the schema used
                        errors:
                          type: array
                          description: Errors from the last job run
                          items:
                            type: object
                            properties:
                              errorCode:
                                type: string
                                description: Error code identifying the type of error
                              message:
                                type: string
                                description: Human-readable error message
                              timestamp:
                                type: string
                                format: date-time
                                description: When the error occurred
                              screenshot:
                                type: string
                                description: Optional screenshot URL
                              context:
                                type: object
                                description: Additional context about the error
                                properties:
                                  url:
                                    type: string
                                    description: The URL where the error occurred
                                  httpStatus:
                                    type: integer
                                    description: HTTP status code if applicable
                                  retryCount:
                                    type: integer
                                    description: Number of retry attempts made
                                  details:
                                    type: string
                                    description: Additional error-specific details
                                  timestamp:
                                    type: string
                                    format: date-time
                                    description: When the error context was captured
                                additionalProperties: true
                        dataValidation:
                          type: object
                          description: Data validation configuration
                          properties:
                            enabled:
                              type: boolean
                              description: >-
                                Whether data validation is enabled for the
                                workflow
                        validationStatistics:
                          type: object
                          description: Validation statistics for the workflow
                          properties:
                            total:
                              type: object
                              properties:
                                count:
                                  type: number
                                  description: Overall validation score
                                change:
                                  type: number
                                  description: >-
                                    Change in validation score since last
                                    validation
                            byRule:
                              type: object
                              properties:
                                ruleName:
                                  type: string
                                count:
                                  type: number
                        monitoring:
                          type: boolean
                          description: Whether monitoring is enabled
                        notificationConfig:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                            fields:
                              type: array
                              items:
                                type: object
                                properties:
                                  fieldName:
                                    type: string
                                  operator:
                                    type: string
                                    enum:
                                      - changed
                                      - added
                                      - removed
                          description: Monitoring configuration
                        observerHealth:
                          type: object
                          nullable: true
                          description: >-
                            Health status for REAL_TIME observer workflows. Only
                            present when health monitoring is active and detects
                            issues.
                          properties:
                            healthTier:
                              type: string
                              enum:
                                - HEALTHY
                                - WARNING
                                - DEGRADED
                                - UNHEALTHY
                                - FAILED
                              description: Current health tier
                            reason:
                              type: string
                              description: Human-readable explanation of the health status
                            issueStartedAt:
                              type: string
                              format: date-time
                              description: When the current degradation episode started
                            lastCheckedAt:
                              type: string
                              format: date-time
                              description: When health was last evaluated
                  pagination:
                    type: object
                    description: Pagination information
                    properties:
                      totalCount:
                        type: integer
                        description: Total number of workflows matching the filter criteria
                      page:
                        type: integer
                        description: Current page number
                      totalPages:
                        type: integer
                        description: Total number of pages
                      limit:
                        type: integer
                        description: Number of items per page
        '401':
          description: Unauthorized - Authentication required
        '403':
          description: Forbidden - Insufficient permissions
        '500':
          description: Internal server error
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````