> ## 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 revisiones de extracción de IA (la cola de revisión humana)

> Lista paginada por cursor de revisiones de extracción para un contexto, opcionalmente filtrada por estado del ciclo de vida (p. ej. PENDING_REVIEW para la cola). Tenant desde el JWT, contexto desde la ruta. Lee candidatos ya almacenados solo de configuración; no egresa nada.



## OpenAPI

````yaml es/openapi/v3-current/matcher.yaml get /v1/imports/contexts/{contextId}/extraction-reviews
openapi: 3.1.0
info:
  title: Matcher APIs
  description: >-
    Referencia completa de la API para el motor de conciliación Matcher, que
    proporciona conciliación automatizada de transacciones entre Midaz Ledger y
    sistemas externos.
  version: 4.1.0
  license:
    name: Elastic License 2.0
    url: https://www.elastic.co/licensing/elastic-license
servers:
  - url: https://matcher.sandbox.lerian.net
security: []
paths:
  /v1/imports/contexts/{contextId}/extraction-reviews:
    get:
      tags:
        - Ingestion
      summary: Listar revisiones de extracción de IA (la cola de revisión humana)
      description: >-
        Lista paginada por cursor de revisiones de extracción para un contexto,
        opcionalmente filtrada por estado del ciclo de vida (p. ej.
        PENDING_REVIEW para la cola). Tenant desde el JWT, contexto desde la
        ruta. Lee candidatos ya almacenados solo de configuración; no egresa
        nada.
      operationId: listExtractionReviews
      parameters:
        - description: Context ID
          in: path
          name: contextId
          required: true
          schema:
            description: ID del contexto
            format: uuid
            type: string
        - description: Filter by status
          explode: false
          in: query
          name: status
          schema:
            description: Filtrar por estado
            enum:
              - PENDING_REVIEW
              - APPROVED
              - REJECTED
            type: string
        - description: Page size
          explode: false
          in: query
          name: limit
          schema:
            description: Tamaño de página
            format: int64
            maximum: 200
            minimum: 1
            type: integer
        - description: Opaque pagination cursor
          explode: false
          in: query
          name: cursor
          schema:
            description: Cursor de paginación opaco
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionReviewListResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    ExtractionReviewListResponse:
      additionalProperties: false
      properties:
        items:
          description: Revisiones de extracción en esta página
          items:
            $ref: '#/components/schemas/ExtractionReviewResponse'
          type:
            - array
            - 'null'
        limit:
          description: Tamaño de página solicitado
          examples:
            - 50
          format: int64
          type: integer
        nextCursor:
          description: >-
            Cursor opaco para la página siguiente; vacío cuando no hay más
            páginas
          type: string
        prevCursor:
          description: Cursor opaco para la página anterior; vacío cuando se está al inicio
          type: string
      required:
        - items
        - limit
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Código de error de dominio estable y legible por máquina con alcance
            al servicio emisor (formato: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          type: string
        detail:
          description: >-
            Una explicación legible por humanos específica de esta ocurrencia
            del problema.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Lista opcional de detalles de errores individuales
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            Una referencia URI que identifica la ocurrencia específica del
            problema.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: Código de estado HTTP
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            Un resumen breve y legible por humanos del tipo de problema. Este
            valor no debería cambiar entre ocurrencias del error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: >-
            Una referencia URI a documentación legible por humanos para el
            error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    ExtractionReviewResponse:
      additionalProperties: false
      properties:
        candidates:
          description: Candidatos de transacción propuestos en espera de revisión
          items:
            $ref: '#/components/schemas/CandidateResponse'
          type:
            - array
            - 'null'
        contextId:
          description: Contexto de reconciliación al que pertenecen los candidatos
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          format: uuid
          type: string
        createdAt:
          description: Marca de tiempo de creación (RFC 3339, UTC)
          examples:
            - '2025-01-15T10:30:00Z'
          format: date-time
          type: string
        id:
          description: Identificador de la revisión
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          format: uuid
          type: string
        ingestionJobId:
          description: >-
            Trabajo de ingesta posterior vinculado en la aprobación; null hasta
            vincularse
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          format: uuid
          type: string
        rejectReason:
          description: >-
            Motivo de texto libre capturado en el rechazo; vacío en caso
            contrario
          type: string
        reviewerId:
          description: >-
            ID de principal del humano que adjudicó la revisión; vacío hasta que
            se decide
          type: string
        sourceId:
          description: Fuente de reconciliación a la que pertenecen los candidatos
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          format: uuid
          type: string
        status:
          description: >-
            Ciclo de vida de la revisión: PENDING_REVIEW (a la espera de
            decisión), APPROVED (candidatos ingestados), REJECTED (descartados)
          examples:
            - PENDING_REVIEW
          type: string
        updatedAt:
          description: Marca de tiempo de la última actualización (RFC 3339, UTC)
          examples:
            - '2025-01-15T10:35:00Z'
          format: date-time
          type: string
        version:
          description: >-
            Versión de concurrencia optimista, incrementada en cada cambio de
            estado
          examples:
            - 1
          format: int64
          type: integer
      required:
        - id
        - contextId
        - sourceId
        - status
        - candidates
        - version
        - createdAt
        - updatedAt
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Dónde ocurrió el error, p. ej. 'body.items[3].tags' o
            'path.thing-id'
          type: string
        message:
          description: Texto del mensaje de error
          type: string
        value:
          description: El valor en la ubicación indicada
      type: object
    CandidateResponse:
      additionalProperties: false
      properties:
        fields:
          description: Desglose por campo con tokens literales, confianza y procedencia
          items:
            $ref: '#/components/schemas/CandidateFieldResponse'
          type:
            - array
            - 'null'
        source:
          description: >-
            Carril de extracción que produjo este candidato: text_layer (texto
            de PDF, mayor confianza) o vision (modelo OCR/visión, menor
            confianza)
          examples:
            - text_layer
          type: string
      required:
        - source
        - fields
      type: object
    CandidateFieldResponse:
      additionalProperties: false
      properties:
        canonicalKey:
          description: >-
            Clave canónica de mapeo de campo (p. ej. amount, external_id,
            currency, date)
          examples:
            - amount
          type: string
        confidence:
          description: >-
            Confianza del extractor en este campo, de 0.0 (ninguna) a 1.0
            (certeza)
          examples:
            - 0.95
          format: double
          maximum: 1
          minimum: 0
          type: number
        page:
          description: >-
            Página (base 1) de la que se extrajo el valor; 0 cuando es
            desconocida
          examples:
            - 1
          format: int64
          type: integer
        region:
          description: >-
            Descriptor de región/bounding-box de mejor esfuerzo; vacío cuando el
            carril de origen no lo expone
          type: string
        value:
          description: >-
            Token de cadena literal extraído para la clave canónica; el dinero
            permanece como cadena, nunca un importe parseado
          examples:
            - '100.50'
          type: string
      required:
        - canonicalKey
        - value
        - confidence
        - page
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Autenticación con token Bearer (formato: "Bearer {token}")'

````