---
title: "Get spot FX prices for all active currency pairs"
method: GET
path: "/api-regulated/v1/fx-spot-prices"
tags: ["SpotRates"]
---

# Get spot FX prices for all active currency pairs

`GET /api-regulated/v1/fx-spot-prices`

## Request

- Base URL: `https://api.currencyguard.com`
- URL: `https://api.currencyguard.com/api-regulated/v1/fx-spot-prices`
- Auth: HTTP bearer

Returns current spot FX prices (bid, ask, mid rates) for all currency pairs that are currently active in the system. Each price includes state information (VALID/ERROR) and metadata about the price source. Response is returned as a JSON array containing all active currency pairs.

## Response `200`

Spot prices retrieved successfully. Returns a JSON array of FXPriceStateDTO objects, one for each active currency pair.

- FXPriceStateDTO[]
  - `valid` boolean, required: Whether the price data is currently valid (true) or in an error/degraded state (false). When false, the value may still be present (stale/approximate data).
  - `errorMessages` string[]: List of error messages explaining why the state is invalid. Empty/null when valid=true. Can contain multiple accumulated errors from different sources.
  - `valueTimestamp` string, required: ISO 8601 timestamp indicating when the underlying data was produced at the source (business time). This represents the data's original timestamp.
  - `emissionTimestamp` string, required: ISO 8601 timestamp indicating when our system emitted this state (system/processing time). This represents when the wrapper was created.
  - `subscriptionSource` string: Market data subscription channel identifier. Used for debugging and monitoring data flows.
  - `emissionSource` string: Identifier of the market data provider or internal pricing engine that produced this data. Diagnostic detail for internal use only — omitted from responses to non-internal callers.
  - `infoMessages` string[]: Informational messages providing context about the price state (e.g., validation details, reference source checks). Do not affect validity. Diagnostic detail for internal use only — omitted from responses to non-internal callers.
  - `value` FXPriceDTO: Foreign exchange price data containing bid, ask, and mid rates for a currency pair
    - `symbol` string: Currency pair symbol.
    - `timestamp` string: Timestamp when the price was recorded (ISO 8601 format).
    - `bid` number: Bid price - the rate at which the market will buy the base currency.
    - `ask` number: Ask price - the rate at which the market will sell the base currency.
    - `mid` number: Mid price - the average of bid and ask prices

## Other responses

- `401`: Not authenticated - valid JWT token required — [`security/authentication-failed`](/problems/security/authentication-failed/)
- `403`: Access denied - requires REGULATED or INTERNAL role — [`security/insufficient-permissions`](/problems/security/insufficient-permissions/)
- `500`: Server error - internal processing failure — [`server/internal-error`](/problems/server/internal-error/)

---

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