---
title: "Get all currency pairs"
method: GET
path: "/api-regulated/v1/currency-pairs"
tags: ["CurrencyPair"]
---

# Get all currency pairs

`GET /api-regulated/v1/currency-pairs`

## Request

- Base URL: `https://api.currencyguard.com`
- URL: `https://api.currencyguard.com/api-regulated/v1/currency-pairs`
- Auth: HTTP bearer

Returns currency pairs with their pip precision information. Use 'active' to filter by status and 'guardEnabled' to list only the pairs Guards can be quoted on.

## Query parameters

- `active` string
- `guardEnabled` string

## Response `200`

Successfully retrieved currency pairs

- CurrencyPairDTO[]
  - `currencyPair` string: 6-character code for the currency pair
  - `baseCurrency` string: Base currency code
  - `quoteCurrency` string: Quote currency code
  - `pipPrecision` integer: Number of decimal places for pip precision
  - `useFractionalPips` boolean: Whether this pair uses fractional pips
  - `totalPrecision` integer: Total precision including fractional pips
  - `isActive` boolean: Whether this currency pair is active for trading
  - `isMarketConvention` boolean: Whether this pair follows market convention (true) or is inverted (false)
  - `fwdRoute` 'DIRECT' | 'USD_CROSS' | 'EUR_CROSS': How this pair's forward curve is obtained: DIRECT, or crossed from its two legs against USD or EUR.
  - `volRoute` 'DIRECT' | 'USD_CROSS' | 'EUR_CROSS': How this pair's volatility surface is obtained: DIRECT, or crossed from its two legs against USD or EUR.
  - `historicDataSource` 'BOE' | 'FRED' | 'HKMA' | 'UNKNOWN': External source that owns this pair's daily close price history.
  - `calendarCode` string: Additional calendar code for settlement holidays (e.g., USNY for cross-currency pairs)
  - `spotLagDays` integer: FX spot settlement lag in business days (T+N). 2 for most pairs; 1 for USD T+1 pairs such as USDCAD, USDTRY, USDPHP, USDRUB. Drives value/settlement date derivation.
  - `eventSequence` integer: Event sequence number for event sourcing - globally monotonic across all entities
  - `versionNumber` integer: Strictly monotonically increasing version number for this record
  - `updatedBy` string: Username of the person or entity that updated this record
  - `updatedAt` string: Timestamp of the last update in UTC
  - `createdAt` string: Timestamp of creation in UTC
  - `guardEnabled` boolean: Whether CurrencyGuard sells Guards on this pair. A commercial decision, separate from is_active (live rates wanted) and from whether the pair can be priced (a vol surface route with a spread multiplier). New pairs default to false so offering one is deliberate.

## Other responses

- `401`: Not authenticated — [`security/authentication-failed`](/problems/security/authentication-failed/)
- `403`: Access denied - requires sales or internal role — [`security/insufficient-permissions`](/problems/security/insufficient-permissions/)

---

[API](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external.md) · [All operations](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external/llms.txt) · [OpenAPI document](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external/revisions/a1f3f854190d?raw)
