> ## 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.

# List the holds of a validation's transaction

> Use this endpoint to read the holds that the ledger's reserve placed on spending limits for the transaction a validation decided on, each with its state: RESERVED (held), CONFIRMED (the transaction committed and the amount counts as spent), RELEASED (the transaction did not commit and the amount was returned) or EXPIRED (nothing settled the hold before reservationExpiresAt and the amount was returned). The read changes nothing. A validation with no transaction, or whose transaction held nothing, answers 200 with an empty list. An unknown validation answers 404 (code 0432).



## OpenAPI

````yaml /pt/openapi/v3-current/tracer.yaml get /v1/validations/{validation_id}/reservations
openapi: 3.1.0
info:
  title: Midaz Tracer API
  description: >-
    Reference for Midaz Tracer transaction validation, fraud rules, spending
    limits, and audit events.
  version: 4.0.0
servers:
  - url: https://tracer.sandbox.lerian.net
security: []
tags:
  - name: Validations API
  - name: Rules API
  - name: Limits API
  - name: Audit Events API
  - name: Dashboards API
paths:
  /v1/validations/{validation_id}/reservations:
    get:
      tags:
        - Validations API
      summary: List the holds of a validation's transaction
      description: >-
        Use this endpoint to read the holds that the ledger's reserve placed on
        spending limits for the transaction a validation decided on, each with
        its state: RESERVED (held), CONFIRMED (the transaction committed and the
        amount counts as spent), RELEASED (the transaction did not commit and
        the amount was returned) or EXPIRED (nothing settled the hold before
        reservationExpiresAt and the amount was returned). The read changes
        nothing. A validation with no transaction, or whose transaction held
        nothing, answers 200 with an empty list. An unknown validation answers
        404 (code 0432).
      operationId: listValidationReservations
      parameters:
        - description: Transaction Validation ID (UUID)
          in: path
          name: validation_id
          required: true
          schema:
            description: Transaction Validation ID (UUID)
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationReservations'
          description: OK
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unprocessable Entity
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error
      security:
        - BearerAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    ValidationReservations:
      additionalProperties: false
      properties:
        reservations:
          description: >-
            Every hold the transaction placed, ordered by limitId, scopeKey and
            periodKey. Empty when the validation has no transaction or the
            transaction held nothing.
          items:
            $ref: '#/components/schemas/Reservation'
          type: array
      required:
        - reservations
      type: object
    Error:
      additionalProperties: true
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      type: object
    Reservation:
      additionalProperties: false
      properties:
        amount:
          description: >-
            Amount held against the limit, a decimal string in the transaction's
            asset.
          examples:
            - '500.00'
          minimum: 0
          type: string
        confirmedAt:
          description: When the ledger confirmed the transaction; absent until then.
          format: date-time
          type: string
        createdAt:
          format: date-time
          type: string
        limitId:
          format: uuid
          type: string
        periodKey:
          description: >-
            Usage period of the bucket: yyyy-mm-dd (DAILY), yyyy-mm (MONTHLY),
            yyyy-Www (WEEKLY) or custom (CUSTOM).
          type: string
        releasedAt:
          description: >-
            When the hold returned its amount, by release or expiry; absent
            otherwise. A hold confirmed after it expired carries both.
          format: date-time
          type: string
        reservationExpiresAt:
          description: When an unsettled hold expires and returns its amount.
          format: date-time
          type: string
        reservationId:
          format: uuid
          type: string
        scopeKey:
          description: >-
            Usage bucket the hold sits in: the scope's ids as acct:, port:, seg:
            and merch: entries joined by |; empty for a limit scoped only by
            scheme or sub type.
          type: string
        status:
          description: >-
            State of the hold: RESERVED (held), CONFIRMED (the transaction
            committed; the amount counts as spent), RELEASED (the transaction
            did not commit; the amount was returned) or EXPIRED (nothing settled
            it before reservationExpiresAt; the amount was returned).
          enum:
            - RESERVED
            - CONFIRMED
            - RELEASED
            - EXPIRED
          type: string
        transactionId:
          format: uuid
          type: string
      required:
        - reservationId
        - limitId
        - scopeKey
        - periodKey
        - amount
        - status
        - transactionId
        - reservationExpiresAt
        - createdAt
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http
    ApiKeyAuth:
      description: Static API key presented in the X-API-Key header.
      in: header
      name: X-API-Key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.