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

# List Guardrails

> Return a flat list of guardrails owned by the caller. Pass `legacy=false` — recommended for all new integrations.


<Info>
  For AI agents, use `https://docs.tavus.io/openapi.yaml` for the full HTTP API contract.
</Info>


## OpenAPI

````yaml get /v2/guardrails
openapi: 3.0.3
info:
  title: Tavus Developer API Collection
  version: 1.0.0
  contact: {}
servers:
  - url: https://tavusapi.com
security:
  - apiKey: []
tags:
  - name: Videos
  - name: Replicas
  - name: Voices
  - name: Conversations
  - name: Personas
  - name: Pronunciation Dictionaries
  - name: Replacements
  - name: Transcriptions
  - name: Documents
paths:
  /v2/guardrails:
    get:
      tags:
        - Guardrails
      summary: List Guardrails
      description: >
        Return a flat list of guardrails owned by the caller. Pass
        `legacy=false` — recommended for all new integrations.
      operationId: listGuardrails
      parameters:
        - in: query
          name: legacy
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
          description: >-
            **Pass `false`** to return individual guardrails (recommended).
            Defaults to `true` for backwards compatibility, which returns the
            legacy set list.
          example: 'false'
        - in: query
          name: limit
          schema:
            type: integer
          description: Number of guardrails to return per page. Default is 10.
          example: 10
        - in: query
          name: page
          schema:
            type: integer
          description: Page number (0-indexed when `legacy=false`). Default is 0.
          example: 0
        - in: query
          name: sort
          schema:
            type: string
            enum:
              - ascending
              - descending
          description: Sort direction. Default is `ascending`.
        - in: query
          name: name_or_uuid
          schema:
            type: string
          description: Filter results by guardrail name or UUID.
        - in: query
          name: tags
          schema:
            type: string
          description: Comma-separated list of tags to filter by. Any-match (OR) semantics.
          example: compliance,healthcare
      responses:
        '200':
          description: Successfully retrieved guardrails
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: >-
                      Guardrails for the current page; use `total_count` for the
                      full count under the applied filters.
                    items:
                      type: object
                      properties:
                        uuid:
                          type: string
                          example: g1234567890ab
                        guardrail_name:
                          type: string
                          example: healthcare_compliance_guardrail
                        guardrail_prompt:
                          type: string
                          example: >-
                            Never share sensitive medical information or provide
                            medical advice outside approved guidelines.
                        modality:
                          type: string
                          enum:
                            - verbal
                            - visual
                          example: verbal
                        callback_url:
                          type: string
                          example: https://your-server.com/guardrails-webhook
                        tags:
                          type: array
                          items:
                            type: string
                          example:
                            - compliance
                            - healthcare
                        app_message:
                          type: boolean
                          description: >-
                            Whether triggering this guardrail emits a real-time
                            app-message event on the conversation.
                          example: true
                        created_at:
                          type: string
                          example: '2024-01-15T10:30:00Z'
                        updated_at:
                          type: string
                          example: '2024-01-15T10:30:00Z'
                  total_count:
                    type: integer
                    description: Total number of guardrails matching the filter.
                    example: 15
                  page:
                    type: integer
                    example: 0
                  limit:
                    type: integer
                    example: 10
        '401':
          description: UNAUTHORIZED
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Invalid access token
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````