---
title: "List fixed routes for a customer"
method: GET
path: "/v1/customers/{customerId}/fixed-routes"
tags: ["Customers"]
---

# List fixed routes for a customer

`GET /v1/customers/{customerId}/fixed-routes`

Returns all fixed routes (virtual bank accounts and virtual wallets) configured for a customer.

## Path parameters

- `customerId` string, required

## Query parameters

- `limit` number
- `offset` number

## Headers

- `X-API-Key` string

## Response `200`

Paginated list of fixed routes

- object
  - `data` FixedRouteResponseDto[]
    - `id` string, required — Fixed route ID (same as source account ID)
    - `customerId` string, required
    - `type` 'FIAT_TO_CRYPTO' | 'CRYPTO_TO_FIAT' | 'CRYPTO_TO_CRYPTO' | 'FIAT_TO_CRYPTO_TO_FIAT', required
    - `status` string, required
    - `enabled` boolean, required — Whether the fixed route is enabled. When false, deposits land but do not auto-sweep.
    - `metadata` AccountMetadataDto
      - `nickname` string — Account nickname
      - `purpose` string — Account purpose
      - `tags` string[] — Account tags
    - `sourceAccount` SourceAccountDto, required
      - `id` string, required
      - `type` 'VIRTUAL_BANK' | 'VIRTUAL_WALLET' | 'INFINITE_BANK' | 'INFINITE_WALLET' | 'EXTERNAL_BANK' | 'EXTERNAL_WALLET' | 'EXTERNAL_PROXY' | 'PROVIDER_BALANCE', required
      - `metadata` AccountMetadataDto
        - `nickname` string — Account nickname
        - `purpose` string — Account purpose
        - `tags` string[] — Account tags
      - `depositInstructions` BankDepositInstructions
        - `bankName` string
        - `bankAddress` BankAddressDto
          - `addressLine1` string — Address line 1 (optional for bank addresses)
          - `addressLine2` string — Address line 2 (apartment, suite, etc.)
          - `city` string — City
          - `state` string — State / Province
          - `postalCode` string — Postal code / ZIP code (optional for bank addresses)
          - `country` string — Country code (ISO 3166-2)
        - `accountNumber` string, required
        - `routingNumber` string
        - `iban` string
        - `swiftBic` string
        - `bankCountryCode` string
        - `reference` string
        - `depositMessage` string
        - `beneficiaryName` string
        - `beneficiaryAddress` BankAddressDto
          - `addressLine1` string — Address line 1 (optional for bank addresses)
          - `addressLine2` string — Address line 2 (apartment, suite, etc.)
          - `city` string — City
          - `state` string — State / Province
          - `postalCode` string — Postal code / ZIP code (optional for bank addresses)
          - `country` string — Country code (ISO 3166-2)
      - `sourceCurrency` string
      - `sourceRail` string
      - `walletAddress` string
      - `addressType` string
      - `chains` string[]
      - `walletType` 'TREASURY' | 'TRANSACTION' | 'VIRTUAL' — Infinite wallet subtype when source is INFINITE_WALLET (e.g. VIRTUAL for dedicated offramp deposit wallets)
    - `destinationCurrency` string
    - `destinationRail` string
    - `sweepTargetAccountId` string, required — ID of the account funds are swept to
    - `sweepTargetAccount` SweepTargetAccountDto
      - `id` string, required
      - `type` 'VIRTUAL_BANK' | 'VIRTUAL_WALLET' | 'INFINITE_BANK' | 'INFINITE_WALLET' | 'EXTERNAL_BANK' | 'EXTERNAL_WALLET' | 'EXTERNAL_PROXY' | 'PROVIDER_BALANCE', required
      - `isThirdParty` boolean, required — Whether the sweep target belongs to a third party
      - `metadata` AccountMetadataDto
        - `nickname` string — Account nickname
        - `purpose` string — Account purpose
        - `tags` string[] — Account tags
      - `walletAddress` string
      - `addressType` string
      - `chains` string[]
      - `accountNumber` string
      - `routingNumber` string
      - `bankName` string
    - `developerFeeFixed` string, nullable — Fixed fee in minor units of source currency
    - `developerFeePercent` number, nullable — Variable fee as decimal percentage (0.01 = 1%)
    - `refundAccountId` string, nullable — Customer wallet account ID (inw_xxx or ewa_xxx) for refunds on failed transfers or when fees exceed deposit
    - `correspondentBank` FixedRouteCorrespondentBankDto
      - `name` string, nullable — Bank name
      - `swiftCode` string, nullable — SWIFT/BIC code
      - `accountNumber` string, nullable — Account number
    - `allowedSenderBanks` AllowedSenderBankDto[], nullable — Allowed sender banks for deposits into this route. When set, deposits from sender banks not on this list are held for review instead of being processed automatically.
      - `bankName` string — Sender bank name. Matched ignoring case, whitespace, and punctuation.
      - `routingNumber` string — Sender bank routing number (e.g. US ABA). Matched on digits only.
      - `swiftBic` string — Sender bank SWIFT/BIC code (8 or 11 characters)
    - `documentIds` string[], nullable — Standing supporting agreement document ID applied to transfers created by this route.
    - `minimumAmount` MoneyOutputDto
      - `currency` string, required — Currency code
      - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
      - `value` string, required — Amount in smallest unit as a string
      - `displayValue` string, required — Human-readable decimal value
    - `sharesBalanceAccountCoordinates` boolean, required — Whether this route's deposit coordinates are shared with a USD balance account. When true, the route and a balance account are mutually exclusive for the customer — one must be closed/disabled before the other can be created or re-enabled. Only bank pay-in routes on the balance-account provider qualify (ACH, WIRE, or SWIFT); crypto routes and payout routes are always false.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `total` number
  - `limit` number
  - `offset` number

## Other responses

- `401` — Unauthorized - Invalid or missing authentication credentials

## Changes

- **2026-09-22** `916d2367a8f8` — 2 breaking, 12 warning, 2 info
  - the response property `data/items/sourceAccount/depositInstructions/bankAddress` became nullable for the status `200`
  - the response property `data/items/sourceAccount/depositInstructions/beneficiaryAddress` became nullable for the status `200`
  - removed the optional property `data/items/sourceAccount/depositInstructions/bankAddress/addressLine1` from the response with the `200` status
  - removed the optional property `data/items/sourceAccount/depositInstructions/bankAddress/addressLine2` from the response with the `200` status
  - …12 more
- **2026-09-16** `b83888a376d8` — 2 info
  - added the optional property `data/items/documentIds` to the response with the `200` status
  - added the required property `data/items/sweepTargetAccount/allOf[#/components/schemas/SweepTargetAccountDto]/isThirdParty` to the response with the `200` status

[Change history](https://skmtc.dev/infinite/apis/infinite-api/changes/v1/customers/:customerId/fixed-routes/get.md)

---

[API](https://skmtc.dev/infinite/apis/infinite-api.md) · [All operations](https://skmtc.dev/infinite/apis/infinite-api/llms.txt) · [OpenAPI document](https://skmtc.dev/infinite/apis/infinite-api/revisions/916d2367a8f8?raw)
