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

# Listar Reglas

> Use este endpoint para listar reglas de validacion con paginacion basada en cursor y filtros opcionales. Las reglas DELETED no se devuelven en los listados.



## OpenAPI

````yaml es/openapi/v3-current/tracer.yaml get /v1/rules
openapi: 3.1.0
info:
  title: API de Tracer
  description: >-
    Referencia completa de la API para los servicios de Tracer, incluyendo
    validacion de transacciones, gestion de reglas, limites de gasto y eventos
    de auditoria para cumplimiento SOX/GLBA.
  version: 1.0.1
servers:
  - url: https://tracer.sandbox.lerian.net
security:
  - ApiKeyAuth: []
  - BearerAuth: []
tags:
  - name: Health API
    description: >-
      Endpoints de verificacion de salud para sondas de vida y preparacion.
      Estos endpoints no requieren autenticacion.
  - name: Validations API
    description: >-
      Endpoints de validación de transacciones. El objetivo de rendimiento es
      inferior a 80ms (p99). Las validaciones son idempotentes por `requestId` —
      una solicitud duplicada devuelve el resultado en caché con HTTP 200,
      mientras que una solicitud nueva devuelve HTTP 201. No se requiere
      encabezado de idempotencia.
  - name: Rules API
    description: >-
      Endpoints de gestion de reglas de validacion. Las reglas utilizan
      expresiones CEL (Common Expression Language).
  - name: Limits API
    description: >-
      Endpoints de gestion de limites de gasto. Los limites controlan los montos
      de transacciones por alcance y periodo.
  - name: Reservations API
    description: >-
      Endpoints de reserva de capacidad de transacción en dos fases. Una reserva
      retiene capacidad frente a los límites de gasto; una confirmación la
      consolida y una liberación la devuelve. Confirmar y liberar son
      idempotentes.
  - name: Audit Events API
    description: >-
      Endpoints de rastro de auditoria para cumplimiento SOX/GLBA. Todas las
      decisiones de validacion y cambios de configuracion son registrados.
paths:
  /v1/rules:
    get:
      tags:
        - Rules API
      summary: Listar Reglas
      description: >-
        Use este endpoint para listar reglas de validacion con paginacion basada
        en cursor y filtros opcionales. Las reglas DELETED no se devuelven en
        los listados.
      operationId: listRules
      parameters:
        - $ref: '#/components/parameters/ContentType'
        - $ref: '#/components/parameters/XApiKey'
        - $ref: '#/components/parameters/XRequestId'
        - name: limit
          in: query
          description: >-
            El numero maximo de elementos a incluir en la respuesta.
            Predeterminado: 10, Maximo: 100
          required: false
          example: 10
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
        - name: cursor
          in: query
          description: Cursor de paginacion de la respuesta anterior.
          required: false
          schema:
            type: string
        - name: name
          in: query
          description: >-
            Filtrar por nombre (coincidencia parcial sin distincion de
            mayusculas/minusculas).
          required: false
          schema:
            type: string
            maxLength: 255
        - name: status
          in: query
          description: >-
            Filtrar por estado (DRAFT, ACTIVE, INACTIVE). Las reglas DELETED no
            son listables.
          required: false
          schema:
            type: string
            enum:
              - DRAFT
              - ACTIVE
              - INACTIVE
        - name: action
          in: query
          description: Filtrar por accion (ALLOW, DENY, REVIEW).
          required: false
          schema:
            type: string
            enum:
              - ALLOW
              - DENY
              - REVIEW
        - name: account_id
          in: query
          description: Filtrar por ID de cuenta (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: segment_id
          in: query
          description: Filtrar por ID de segmento (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: portfolio_id
          in: query
          description: Filtrar por ID de portafolio (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: merchant_id
          in: query
          description: Filtrar por ID de comerciante (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: transaction_type
          in: query
          description: Filtrar por tipo de transacción.
          required: false
          schema:
            type: string
            enum:
              - CARD
              - WIRE
              - PIX
              - CRYPTO
        - name: sub_type
          in: query
          description: >-
            Filtrar por subtipo de transacción (p. ej., débito, crédito,
            prepago).
          required: false
          schema:
            type: string
            maxLength: 50
        - name: sort_by
          in: query
          description: El campo usado para ordenar los resultados.
          required: false
          schema:
            type: string
            enum:
              - created_at
              - updated_at
              - name
              - status
            default: created_at
        - name: sort_order
          in: query
          description: El orden usado para ordenar los resultados.
          required: false
          schema:
            type: string
            enum:
              - ASC
              - DESC
            default: DESC
      responses:
        '200':
          description: >-
            Indica que la solicitud fue exitosa y la respuesta contiene los
            datos esperados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRulesResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0001:
                  $ref: '#/components/examples/Error0001'
                Error0006:
                  $ref: '#/components/examples/Error0006'
                Error0040:
                  $ref: '#/components/examples/Error0040'
                Error0041:
                  $ref: '#/components/examples/Error0041'
                Error0042:
                  $ref: '#/components/examples/Error0042'
                Error0043:
                  $ref: '#/components/examples/Error0043'
                Error0044:
                  $ref: '#/components/examples/Error0044'
                Error0045:
                  $ref: '#/components/examples/Error0045'
        '401':
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                ErrorUnauthenticated:
                  $ref: '#/components/examples/ErrorUnauthenticated'
        '500':
          description: Error Interno del Servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0004:
                  $ref: '#/components/examples/Error0004'
components:
  parameters:
    ContentType:
      name: Content-Type
      in: header
      description: El tipo de medio del recurso. Debe ser `application/json`.
      required: true
      example: application/json
      schema:
        type: string
    XApiKey:
      name: X-API-Key
      in: header
      description: >-
        La clave API para autenticacion. **Este encabezado es requerido para
        todos los endpoints excepto verificaciones de salud**.
      required: true
      schema:
        type: string
    XRequestId:
      name: X-Request-Id
      in: header
      description: Un identificador unico usado para rastrear y seguir cada solicitud.
      required: false
      example: 019c96a0-10ce-75fc-a273-dc799079a99c
      schema:
        type: string
        format: uuid
  schemas:
    ListRulesResponse:
      type: object
      description: Lista paginada de reglas.
      properties:
        rules:
          type: array
          items:
            $ref: '#/components/schemas/Rule'
          description: Lista de registros de reglas.
        hasMore:
          type: boolean
          description: Si hay mas resultados disponibles.
        nextCursor:
          type:
            - string
            - 'null'
          description: >-
            Cursor para obtener la siguiente pagina. Null si no hay mas
            resultados.
    ErrorFormat:
      type: object
      description: El mensaje de error de respuesta.
      required:
        - code
        - title
        - message
      properties:
        code:
          type: string
          description: Un identificador unico y estable para el error.
        title:
          type: string
          description: Un breve resumen del problema.
        message:
          type: string
          description: Orientacion detallada para resolver el error.
        fields:
          type: object
          additionalProperties: true
          description: Informacion adicional sobre los campos que causaron el error.
    Rule:
      type: object
      description: Regla de validacion.
      properties:
        ruleId:
          type: string
          format: uuid
          description: Identificador unico de la regla.
        name:
          type: string
          description: Nombre de regla legible para humanos (globalmente unico).
          maxLength: 255
        description:
          type: string
          description: Proposito y explicacion de la logica de la regla.
          maxLength: 1000
        expression:
          type: string
          description: Expresion CEL que debe evaluar a booleano.
          maxLength: 5000
        action:
          type: string
          enum:
            - ALLOW
            - DENY
            - REVIEW
          description: Accion tomada cuando la expresion de la regla evalua a verdadero.
        scopes:
          type: array
          items:
            $ref: '#/components/schemas/Scope'
          description: Alcances que determinan a que transacciones aplica esta regla.
        status:
          type: string
          enum:
            - DRAFT
            - ACTIVE
            - INACTIVE
            - DELETED
          description: Estado del ciclo de vida de la regla.
        createdAt:
          type: string
          format: date-time
          description: Cuando se creo la regla.
        updatedAt:
          type: string
          format: date-time
          description: Cuando se modifico la regla por ultima vez.
        activatedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Cuando la regla fue activada por ultima vez (null si nunca fue
            activada).
        deactivatedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Cuando la regla fue desactivada por ultima vez (null si nunca fue
            desactivada).
        deletedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: Cuando la regla fue eliminada (null si no fue eliminada).
    Scope:
      type: object
      description: >-
        Definicion de alcance para reglas y limites. Al menos un campo debe ser
        establecido.
      properties:
        segmentId:
          type: string
          format: uuid
          description: Aplicar a transacciones de este segmento.
        portfolioId:
          type: string
          format: uuid
          description: Aplicar a transacciones de este portafolio.
        accountId:
          type: string
          format: uuid
          description: Aplicar a transacciones de esta cuenta especifica.
        merchantId:
          type: string
          format: uuid
          description: Aplicar a transacciones a este comerciante especifico.
        transactionType:
          type: string
          enum:
            - CARD
            - WIRE
            - PIX
            - CRYPTO
          description: Aplicar solo a este tipo de transaccion.
        subType:
          type: string
          maxLength: 50
          description: Aplicar solo a este subTipo de transaccion.
  examples:
    Error0001:
      summary: Generic Validation Error
      value:
        code: TRC-0001
        title: Validation Error
        message: >-
          Field validation failed. Please verify the provided data and try
          again.
    Error0006:
      summary: Invalid Query Parameters
      value:
        code: TRC-0006
        title: Invalid Query Parameters
        message: >-
          One or more query parameters are invalid. Please verify the parameters
          and try again.
    Error0040:
      summary: Limit Exceeds Maximum
      value:
        code: TRC-0040
        title: Limit Exceeds Maximum
        message: >-
          The limit parameter exceeds the maximum allowed value. Please reduce
          the limit and try again.
    Error0041:
      summary: Limit Below Minimum
      value:
        code: TRC-0041
        title: Limit Below Minimum
        message: >-
          The limit parameter must be at least 1. Please provide a valid limit
          and try again.
    Error0042:
      summary: Invalid Sort Order
      value:
        code: TRC-0042
        title: Invalid Sort Order
        message: Sort order must be ASC or DESC. Please provide a valid value.
    Error0043:
      summary: Invalid Sort Column
      value:
        code: TRC-0043
        title: Invalid Sort Column
        message: >-
          The specified sort column is not supported. Please check the allowed
          fields.
    Error0044:
      summary: Invalid Pagination Cursor
      value:
        code: TRC-0044
        title: Invalid Pagination Cursor
        message: >-
          The provided pagination cursor is invalid or expired. Please start a
          new query without a cursor.
    Error0045:
      summary: Sort Parameters Locked
      value:
        code: TRC-0045
        title: Sort Parameters Locked
        message: >-
          Cannot change sortBy or sortOrder when using a pagination cursor.
          Please start a new query to change sort parameters.
    ErrorUnauthenticated:
      summary: Unauthorized
      value:
        code: Unauthenticated
        title: Unauthorized
        message: >-
          API Key missing or invalid. Provide a valid API Key in the X-API-Key
          header.
    Error0004:
      summary: Internal Server Error
      value:
        code: TRC-0004
        title: Internal Server Error
        message: >-
          An unexpected error occurred. Please try again later or contact
          support if the issue persists.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Autenticación por API Key. Utilizada por los despliegues de inquilino
        único (`MULTI_TENANT_ENABLED=false`). Se envía en cada solicitud
        `/v1/*`.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Autenticación JWT bearer. Utilizada por los despliegues multiinquilino
        (`MULTI_TENANT_ENABLED=true`). El JWT es emitido por Access Manager y
        debe incluir el claim `tenantId` — Tracer resuelve el inquilino a partir
        del token, no de ningún encabezado o campo del cuerpo.

````