---
title: "Deactivate a fixed route"
method: POST
path: "/v1/fixed-routes/{id}/deactivate"
tags: ["fixed-routes"]
---

# Deactivate a fixed route

`POST /v1/fixed-routes/{id}/deactivate`

## Request

- Base URL: `https://sandbox.api.infinite.dev`
- URL: `https://sandbox.api.infinite.dev/v1/fixed-routes/{id}/deactivate`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/infinite/apis/infinite-api/docs/v1/fixed-routes/:id/deactivate/post.ts> (a function with typed inputs; its response is checked against the schema)

Closes the deposit account when that is supported, then disables the route. A wallet address cannot be revoked, and some bank deposit accounts cannot be closed: those routes are disabled only, and a later payment can still arrive. Deposits on a disabled route are not auto-swept and are not returned, unless depositsForwardWhileDisabled is true: that deposit address keeps paying the current destination. In-flight transfers keep the destination they were created with. Refuses while a balance deposit into the account is still open, while another account still uses the same deposit account, or while that deposit account still holds a balance.

## Path parameters

- `id` string, required

## Headers

- `X-API-Key` string

## Response `200`

Fixed route deactivated

- FixedRouteResponseDto
  - `id` string, required: Fixed route ID (same as source account ID)
  - `customerId` string, required
  - `type` 'FIAT_TO_CRYPTO' | 'CRYPTO_TO_FIAT' | 'CRYPTO_TO_BALANCE' | 'CRYPTO_TO_CRYPTO' | 'FIAT_TO_FIAT' | '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.
  - `depositMatching` 'DEDICATED' | 'REFERENCE': How incoming payments are matched to this deposit account. DEDICATED issues a unique account number and the sender does not include a payment reference. REFERENCE uses a shared account number and the sender must include sourceAccount.depositInstructions.reference on the payment (wire memo or ACH addenda). Omit to keep the default for the requested rails. USD ACH, wire, and SWIFT bank pay-ins only.
  - `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: Payment reference the sender includes so a shared deposit account can be matched to one route. Omitted when the account number is unique.
      - `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
    - `sourceRails` string[]: Inbound rails accepted by this deposit account. Omitted when the route stores a single rail only.
    - `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
  - `previousSweepTargetAccountId` string: Sweep target this route pointed at before the latest retarget. Omitted until the route has been retargeted. The next retarget replaces it.
  - `previousDestinationRail` string: Destination rail stored with the previous sweep target. Omitted when there is no previous destination.
  - `previousDestinationCurrency` string: Destination currency stored with the previous sweep target. Omitted when there is no previous destination.
  - `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.
  - `payinCloseable` boolean, required: Whether deactivating this route can close the deposit account. When false, deactivating only disables the route and a later payment can still arrive.
  - `payinClosed` boolean, required: Whether the deposit account is closed. A closed account cannot be turned back on.
  - `sourceClosed` boolean, required: Whether the source account is closed. A closed source cannot be turned back on. A wallet address can still receive funds.
  - `canReenable` boolean, required: Whether this route can be turned back on. False when the source account or the destination account is not active.
  - `depositsForwardWhileDisabled` boolean, required: Whether this deposit address keeps paying the current destination after the route is disabled. When false, deposits are not auto-swept.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

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

## Changes

- **2026-11-06** `90065d3e6974`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/infinite/apis/infinite-api/changes/v1/fixed-routes/:id/deactivate/post.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/90065d3e6974?raw)
