---
title: "Update a fixed route"
method: PATCH
path: "/v1/fixed-routes/{id}"
tags: ["fixed-routes"]
---

# Update a fixed route

`PATCH /v1/fixed-routes/{id}`

Updates a fixed route configuration. Supports updating fees, refund address, enabled status, and metadata. Sweep target changes require creating a new route.

## Path parameters

- `id` string, required

## Headers

- `X-API-Key` string

## Request body

- UpdateFixedRouteDto
  - `correspondentBankName` string — Correspondent/intermediary bank name
  - `correspondentBankSwiftCode` string — Correspondent/intermediary bank SWIFT/BIC code (8 or 11 characters)
  - `correspondentAccountNumber` string — Correspondent/intermediary account number
  - `developerFeeFixed` string — Fixed fee in minor units of source currency
  - `developerFeePercent` number — Variable fee as decimal percentage (0.01 = 1%). Max 10%.
  - `refundAccountId` string — Customer wallet account ID (inw_xxx or ewa_xxx) for refunds on failed transfers or when fees exceed deposit. Must have a wallet address; validated at request time.
  - `enabled` boolean — 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
  - `allowedSenderBanks` AllowedSenderBankDto[] — Allowed sender banks for deposits into this route (fiat pay-in routes only). When set, deposits from sender banks not on this list are held for review instead of being processed automatically. Each entry must include at least one identifier. Set to an empty array to remove the restriction.
    - `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)

## Response `200`

Fixed route updated successfully

- 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
    - `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)
  - `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

## Other responses

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

---

[API](https://skmtc.dev/infinite/apis/infinite-api.md) · [All operations](https://skmtc.dev/infinite/apis/infinite-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/infinite/infinite-api/revisions/5426f2706725/schema)
