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

> API endpoint to list all playbooks in your workspace with optional filtering.

# List playbooks with optional filtering



## OpenAPI

````yaml get /workspace/{ws_id}/playbooks
openapi: 3.0.1
info:
  title: Blink REST API
  description: >-
    The Blink REST API provides programmatic access to Blink data and
    functionality, enabling the management of resources such as workflows,
    users, cases, and more.
  termsOfService: https://www.blinkops.com/terms-of-use
  contact:
    name: API Support
    url: http://blinkops.com/support
    email: support@blinkops.com
  version: '1.0'
servers:
  - url: https://app.blinkops.com/api/v1
security: []
tags:
  - name: Controller
    description: Controller health and stats
  - name: Connections
    description: Manage your connections
  - name: Integrations
    description: Manage your integrations
  - name: Invites
    description: Manage your invites
  - name: Workflows
    description: Create and execute your workflows
  - name: Executions
    description: Get information and manage executions
  - name: Runners
    description: Configure your runners
  - name: Tables
    description: Manage your tables
  - name: Case Management
    description: Manage your cases
  - name: User Settings
    description: Manage user settings
  - name: Webhook
    description: Send to webhook
  - name: workspaces
    description: Manage your workspaces
  - name: User Info
    description: Get Information on current user
  - name: Portal
    description: Manage your portal apps
  - name: Groups
    description: Manage your Groups
  - name: Users
    description: Manage your users
paths:
  /workspace/{ws_id}/playbooks:
    get:
      tags:
        - Workflows
      summary: List playbooks with optional filtering
      description: >-
        Retrieve a paginated list of playbooks from the specified workspace.
        Supports RQL-based filtering.
      operationId: PlaybookFindByFilter
      parameters:
        - name: ws_id
          in: path
          description: Workspace ID
          required: true
          schema:
            type: string
        - name: q
          in: query
          description: >-
            The RQL query object to filter playbooks by. For more information,
            see our [RQL documentation](https://docs.blinkops.com/docs/api/rql)
          schema:
            type: string
      responses:
        '200':
          description: Paginated list of matching playbooks
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/api_responses.PagingInfo'
                  - type: object
                    properties:
                      results:
                        type: array
                        items:
                          $ref: '#/components/schemas/models.Playbook'
        '400':
          description: Invalid query parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_responses.ErrorWrapper'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_responses.ErrorWrapper'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_responses.ErrorWrapper'
        '404':
          description: No playbooks found matching the given filter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_responses.ErrorWrapper'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_responses.ErrorWrapper'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    api_responses.PagingInfo:
      type: object
      properties:
        limit:
          type: integer
        offset:
          type: integer
        total:
          type: integer
    models.Playbook:
      type: object
      properties:
        actions:
          type: array
          description: List of actions used in the playbook
          items:
            $ref: '#/components/schemas/models.PlaybookAction'
        active:
          type: boolean
          description: Whether the playbook is currently active
        analyst_copilot_workflow:
          type: boolean
          description: Whether this is an Analyst Copilot workflow
        automation_origin_id:
          type: string
          description: The ID of the original playbook if this is a replica
        automation_type:
          type: string
          description: The type of automation
        created_at:
          type: integer
        created_by:
          type: string
        custom_timeout:
          type: integer
          description: Custom execution timeout in hours
        deleted:
          type: string
          description: When the playbook was deleted
        display_settings:
          $ref: '#/components/schemas/models.RequestDisplaySettings'
        icon:
          type: string
          description: The icon associated with the playbook
          example: company-blink
        id:
          type: string
        is_icon_selected_by_user:
          type: boolean
          description: Whether the icon was manually selected
        is_otb:
          type: boolean
          description: Whether this is an Out-Of-The-Box playbook
        is_request:
          type: boolean
          description: Whether the playbook is exposed as a self-service request
        max_concurrency_level:
          type: integer
          description: Maximum number of concurrent executions (0 for unlimited)
        name:
          type: string
          description: The name of the playbook
          example: My Workflow
        notification_emails:
          type: string
          description: A comma-separated list of emails for notifications
        pack_id:
          type: string
          description: The ID of the automation pack containing this playbook
          example: 00000000-0000-0000-0000-000000000000
        playbook:
          type: string
          description: The YAML definition of the playbook
        playbook_to_run_on_error:
          type: string
          description: The ID of the playbook to run if this one fails
        preferred_engine_version:
          type: string
          description: The preferred workflow engine version
        runner:
          type: string
          description: The name of the runner group assigned to this playbook
        step_transition_limit:
          type: integer
          description: Maximum number of step transitions allowed in a single execution
        tags:
          type: array
          description: Tags associated with the playbook
          example:
            - k8s
          items:
            type: string
        tenant_id:
          type: string
          description: The ID of the parent tenant
        updated_at:
          type: integer
        updated_by:
          type: string
        used_connections:
          type: array
          description: List of connection IDs used by the playbook
          items:
            type: string
        used_global_variables:
          type: array
          description: List of used global variables
          items:
            type: string
        used_subflows:
          type: array
          description: List of subflow IDs used by the playbook
          items:
            type: string
        used_tables:
          type: array
          description: List of used tables
          items:
            type: string
        version:
          type: string
          description: The version of the playbook
          example: '1'
        wizard_id:
          type: string
          description: The ID of the wizard used to create this playbook
        workspace_id:
          type: string
          description: The ID of the parent workspace
      description: >-
        Playbook information that includes the playbook definition (YAML),
        metadata, and associations with packs, connections, and subflows.
    api_responses.ErrorWrapper:
      type: object
      properties:
        data:
          type: object
        details:
          type: string
        identifier:
          type: string
        message:
          type: string
        status:
          type: integer
          example: 404
        user_error:
          type: object
    models.PlaybookAction:
      type: object
      properties:
        action_full_name:
          type: string
        collection_icon_uri:
          type: string
        collection_name:
          type: string
        full_name:
          type: string
        id:
          type: string
          description: >-
            TODO: migrate automations to remove the below fields + remove usage
            from actions-cell-renderer UI component
        name:
          type: string
    models.RequestDisplaySettings:
      type: object
      properties:
        description:
          type: string
          description: The description in the portal
          example: Automates common tasks
        display_as_html:
          type: boolean
          description: Whether to render the description as HTML
        icon:
          type: string
          description: The icon URI
          example: company-blink
        name:
          type: string
          description: The display name in the portal
          example: Blink Automation
      description: Settings for displaying the playbook in the self-service portal.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: >-
        Use your API key to access BlinkOps API. To generate an API key, please
        log in to your BlinkOps account and navigate to the API Keys section in
        the user settings page. Add the generated key to your request headers as
        BLINK-API-KEY.
      name: BLINK-API-KEY
      in: header

````