> ## 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 ítems abiertos

> Devuelve una lista paginada por cursor de entradas de ledger residuales de ítems abiertos para un contexto de reconciliación — las obligaciones arrastradas, parcialmente cubiertas y envejecidas que el contexto arrastra entre ejecuciones de coincidencia. Estas son estructuralmente distintas de las transacciones nunca coincidentes (UNMATCHED). Opcionalmente acotada por estado del ciclo de vida. El listado es legible independientemente del estado del contexto.



## OpenAPI

````yaml es/openapi/v3-current/matcher.yaml get /v1/matching/contexts/{contextId}/open-items
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/matching/contexts/{contextId}/open-items:
    get:
      tags:
        - Matching
      summary: Listar ítems abiertos
      description: >-
        Devuelve una lista paginada por cursor de entradas de ledger residuales
        de ítems abiertos para un contexto de reconciliación — las obligaciones
        arrastradas, parcialmente cubiertas y envejecidas que el contexto
        arrastra entre ejecuciones de coincidencia. Estas son estructuralmente
        distintas de las transacciones nunca coincidentes (UNMATCHED).
        Opcionalmente acotada por estado del ciclo de vida. El listado es
        legible independientemente del estado del contexto.
      operationId: listOpenItems
      parameters:
        - description: Reconciliation context ID
          in: path
          name: contextId
          required: true
          schema:
            description: ID del contexto de reconciliación
            format: uuid
            type: string
        - description: Filter by open-item lifecycle status
          explode: false
          in: query
          name: status
          schema:
            description: Filtrar por estado del ciclo de vida del ítem abierto
            enum:
              - OPEN
              - PARTIALLY_CLEARED
              - CLEARED
              - AGED
            type: string
        - description: Maximum number of records to return
          explode: false
          in: query
          name: limit
          schema:
            default: 20
            description: Número máximo de registros a devolver
            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
        - description: >-
            Field to sort by. Defaults to id (stable insertion order). ageDays
            sorts by aging anchor (oldest residuals first when descending)
          explode: false
          in: query
          name: sort_by
          schema:
            description: >-
              Campo por el que ordenar. Por defecto id (orden de inserción
              estable). ageDays ordena por ancla de antigüedad (residuales más
              antiguos primero en descendente)
            enum:
              - ageDays
              - runningBalance
              - obligationDate
            type: string
        - description: Sort order
          explode: false
          in: query
          name: sort_order
          schema:
            description: Orden de clasificación
            enum:
              - asc
              - desc
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOpenItemsResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    ListOpenItemsResponse:
      additionalProperties: false
      properties:
        hasMore:
          examples:
            - true
          type: boolean
        items:
          description: Página de ítems abiertos
          items:
            $ref: '#/components/schemas/OpenItemResponse'
          maxItems: 200
          type:
            - array
            - 'null'
        limit:
          examples:
            - 20
          format: int64
          maximum: 200
          minimum: 1
          type: integer
        nextCursor:
          examples:
            - eyJpZCI6IjEyMyJ9
          type: string
        prevCursor:
          examples:
            - eyJpZCI6IjEyMiJ9
          type: string
      required:
        - items
        - limit
        - hasMore
      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
    OpenItemResponse:
      additionalProperties: false
      properties:
        ageDays:
          description: >-
            Días enteros que la obligación ha estado abierta, medidos desde su
            ancla de antigüedad (la fecha comercial de la obligación, o la hora
            de primera vista como respaldo)
          examples:
            - 12
          format: int64
          minimum: 0
          type: integer
        contextId:
          description: ID del contexto de reconciliación al que pertenece este ítem abierto
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        createdAt:
          description: Marca de tiempo de creación (RFC 3339)
          examples:
            - '2025-01-15T10:30:00Z'
          type: string
        currency:
          description: Código de moneda ISO 4217 del ítem abierto
          examples:
            - USD
          type: string
        expectedBalance:
          description: >-
            Obligación pendiente original cuando se abrió el ítem por primera
            vez, como cadena decimal
          examples:
            - '1000.00'
          type: string
        firstSeenAt:
          description: >-
            Cuándo se materializó este ítem abierto por primera vez en el ledger
            (RFC 3339)
          examples:
            - '2025-01-15T10:30:00Z'
          type: string
        id:
          description: Identificador único del ítem abierto
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        identityKey:
          description: >-
            Proyección de identidad determinista entre ejecuciones (claves de
            coincidencia compuestas + moneda) sobre la que se resuelve la
            compensación de arrastre
          examples:
            - invoice=INV-1001|currency=USD
          type: string
        lastActivityAt:
          description: Marca de tiempo de la etapa o transición más reciente (RFC 3339)
          examples:
            - '2025-01-20T09:00:00Z'
          type: string
        obligationDate:
          description: >-
            Fecha comercial de la obligación originaria (el ancla de antigüedad,
            RFC 3339); ausente cuando no se capturó ninguna
          examples:
            - '2025-01-10T00:00:00Z'
          type: string
        runId:
          description: >-
            Ejecución de coincidencia que aplicó la etapa de liquidación más
            reciente. Ausente para un residual recién abierto que aún no ha
            compensado ninguna etapa
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        runningBalance:
          description: >-
            Importe pendiente aún por compensar, como cadena decimal; se reduce
            hacia cero a medida que llegan las etapas de liquidación
          examples:
            - '250.00'
          type: string
        status:
          description: >-
            Estado del ciclo de vida: OPEN (residual nuevo), PARTIALLY_CLEARED
            (una etapa compensó pero queda un residual), CLEARED (compensado
            dentro de la tolerancia) o AGED (superó su umbral de antigüedad
            mientras seguía abierto)
          examples:
            - PARTIALLY_CLEARED
          type: string
        transactionId:
          description: >-
            Transacción con la que el ítem abierto compensó más recientemente
            (la última etapa de liquidación). Ausente para un residual recién
            abierto que aún no ha compensado ninguna etapa — profundice en la
            transacción sobre la que se resuelve
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        updatedAt:
          description: Marca de tiempo de la última actualización (RFC 3339)
          examples:
            - '2025-01-20T09:00:00Z'
          type: string
      required:
        - id
        - contextId
        - identityKey
        - currency
        - expectedBalance
        - runningBalance
        - status
        - ageDays
        - firstSeenAt
        - lastActivityAt
        - 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
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Autenticación con token Bearer (formato: "Bearer {token}")'

````