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

# Get customer spending limit usage

> Retrieve the current spending limit usage for a specific customer,
split by direction (fiat on-ramp and crypto off-ramp).

Amounts are returned in **EUR cents** as strings.

`threshold_eur` (and therefore `remaining_eur`) is `null` for Business
customers and persons with `ThresholdKind::Regulated`. `null` means
"no enforced cap"



## OpenAPI

````yaml /spec.yaml get /customers/{id}/spending-limit
openapi: 3.1.0
info:
  description: The Stablecoin Payment Network
  title: Iron API - Sandbox
  version: 1.0-17078
servers:
  - url: https://api.sandbox.iron.xyz/api
security: []
tags:
  - description: >-
      Wallet and bank account registration


      Every wallet address that interacts with Iron must be registered (linked)
      to a customer **before** it can be used in any flow — onramp, offramp, or
      swap. This is a regulatory requirement under the **Travel Rule**, which
      obliges Virtual Asset Service Providers to exchange originator and
      beneficiary information for crypto transfers.


      Iron supports two wallet types:


      - **Self-hosted wallets** — the customer controls the private key.
      Registration requires a signed proof-of-ownership message.

      - **Hosted wallets** — the wallet is custodied by another VASP (e.g.
      Coinbase, Kraken). Registration requires the VASP's DID so Iron can
      exchange travel-rule data with the custodian.


      Similarly, fiat bank accounts must be registered before they can receive
      offramp payouts.
    name: Addresses
  - description: Operations on Autoramp
    name: Autoramp
  - description: Operations on Chronicle collateral
    name: ChronicleCollateral
  - description: Operations on Currencies
    name: Currencies
  - description: Operations on Customers
    name: Customer
  - description: Operations on Exchange Rate
    name: ExchangeRate
  - description: Operations on Fee Profiles
    name: FeeProfiles
  - description: Operations for Sandbox Testing
    name: Sandbox
  - description: Operations on SSE
    name: Sse
  - description: Operations on Terms and Conditions
    name: TermsAndConditions
  - description: Operations on Webhooks
    name: Webhooks
paths:
  /customers/{id}/spending-limit:
    get:
      tags:
        - Customer
      summary: Get customer spending limit usage
      description: |-
        Retrieve the current spending limit usage for a specific customer,
        split by direction (fiat on-ramp and crypto off-ramp).

        Amounts are returned in **EUR cents** as strings.

        `threshold_eur` (and therefore `remaining_eur`) is `null` for Business
        customers and persons with `ThresholdKind::Regulated`. `null` means
        "no enforced cap"
      operationId: getCustomerSpendingLimit
      parameters:
        - deprecated: false
          description: >-
            Optional sub-partner UUID, if provided, the customer will be
            filtered for the sub-partner
          explode: true
          in: header
          name: X-SUB-PARTNER-ID
          required: false
          schema:
            type: string
        - deprecated: false
          description: the ID of the Customer to GET the spending limit for
          explode: true
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
        - $ref: '#/components/parameters/XApiVersion'
      responses:
        '200':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/CustomerSpendingLimit'
          description: GET Customer Spending Limit Succeeded
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: GET Customer Spending Limit Failed (Unauthorized)
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: GET Customer Spending Limit Failed (Resource Not Found)
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: GET Customer Spending Limit Failed (Internal Error)
      security:
        - ApiKeyAuth: []
components:
  parameters:
    XApiVersion:
      description: >-
        Selects the API version for this request, as an ISO date (`YYYY-MM-DD`).
        Omit to use the default version (`2025-03-13`). Supported versions:
        2025-03-13, 2026-07-01.
      in: header
      name: X-API-Version
      required: false
      schema:
        type: string
  schemas:
    CustomerSpendingLimit:
      description: |-
        Customer Spending Limit

        Current usage of the rolling 52-week spending limit split by direction.
      properties:
        crypto_offramp:
          $ref: '#/components/schemas/CustomerSpendingLimitSection'
        fiat_onramp:
          $ref: '#/components/schemas/CustomerSpendingLimitSection'
      required:
        - fiat_onramp
        - crypto_offramp
      title: CustomerSpendingLimit
      type: object
    ApiError:
      description: |-
        Standard error response returned to API clients for server errors.
        Includes a trace_id that clients can reference when reporting issues.
      properties:
        message:
          description: Human-readable error message
          type: string
        trace_id:
          description: Trace ID that can be used to look up request details in logs
          type: string
      required:
        - message
        - trace_id
      title: ApiError
      type: object
    CustomerSpendingLimitSection:
      description: >-
        Customer Spending Limit Section


        Usage of the rolling 52-week spending limit for a single direction

        (fiat on-ramp or crypto off-ramp).


        Amounts are returned in **EUR cents** as strings


        `threshold_eur` (and therefore `remaining_eur`) is `null` when the
        customer

        has no enforced cap — for example Business customers or persons with

        `ThresholdKind::Regulated`. A `null` threshold does **not** mean
        "unknown";
      properties:
        period_end:
          description: End of the current rolling window for this direction (now).
          format: date-time
          type: string
        period_start:
          description: |-
            Start of the current rolling window for this direction. This is the
            later of "52 weeks ago" and the last `Reset` event for this volume
            kind — fiat and crypto windows are tracked independently and can
            differ if compliance has reset only one bucket.
          format: date-time
          type: string
        remaining_eur:
          description: >-
            `threshold_eur - used_eur`, floored at zero, in EUR cents as a
            string.

            `null` iff `threshold_eur` is `null`.
          type: string
        threshold_eur:
          description: Enforced limit in EUR cents as a string. `null` when no cap applies.
          type: string
        used_eur:
          description: >-
            Volume consumed in the window in EUR cents as a string. Always
            returned.
          type: string
      required:
        - period_start
        - period_end
        - used_eur
      title: CustomerSpendingLimitSection
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: API Key
      in: header
      name: X-API-Key
      type: apiKey

````