---
title: "Validate if a fixed route can be created"
method: POST
path: "/v1/fixed-routes/validate"
tags: ["fixed-routes"]
---

# Validate if a fixed route can be created

`POST /v1/fixed-routes/validate`

Checks if a fixed route configuration is valid before creating it. Returns validation result with any errors.

## Headers

- `X-API-Key` string

## Request body

- ValidateFixedRouteDto
  - `sweepTargetAccountId` string, required — The destination account ID for the fixed route
  - `fixedRouteType` 'FIAT_TO_CRYPTO' | 'CRYPTO_TO_FIAT' | 'CRYPTO_TO_CRYPTO' | 'FIAT_TO_CRYPTO_TO_FIAT', required — The type of fixed route to create
  - `sourceRail` string — Source rail - payment rail for incoming deposits (e.g., ACH, WIRE, SEPA)
  - `sourceRails` string[] — Optional list of inbound rails for a USD bank pay-in deposit account. Omit to accept ACH and wire. SWIFT is included only when listed. When sourceRail is sent instead, it is treated as a one-element list. Crypto deposit routes still use a single sourceRail.
  - `sourceCurrency` string — Source currency for deposits (e.g., USD, EUR)
  - `destinationRail` string — Destination rail - chain/network for outgoing sweep (e.g., BASE, ETHEREUM)
  - `destinationCurrency` string — Destination currency to convert to (e.g., USDC, USDT)
  - `braleAutomationId` string — Bound Brale wire automation ID for legacy onramp routes. Omit for new standby-pool routes (Solana SBC intermediary).
  - `documentIds` string[] — Standing supporting agreement document ID for a third-party SWIFT fixed route.

## Response `200`

Validation result

- ValidateFixedRouteResponseDto
  - `valid` boolean, required — Whether the fixed route configuration is valid
  - `error` string — Error message if validation failed
  - `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

## Other responses

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

## Changes

- **2026-09-24** `bb2702829ce0` — 1 info
  - added the new optional request property `sourceRails`
- **2026-09-16** `b83888a376d8` — 1 info
  - added the new optional request property `documentIds`

[Change history](https://skmtc.dev/infinite/apis/infinite-api/changes/v1/fixed-routes/validate/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/0b0a3231b482?raw)
