---
title: "The tenant's FX rate table as maintained in FP&A: for each currency pair (\"EUR>USD\" converts EUR into USD), the closing, average and historical rate per month"
method: POST
path: "/api/v1/get_fx_rates"
---

# The tenant's FX rate table as maintained in FP&A: for each currency pair ("EUR>USD" converts EUR into USD), the closing, average and historical rate per month

`POST /api/v1/get_fx_rates`

## Request

- Base URL: `https://k-phi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://k-phi.com/api/v1/get_fx_rates`
- Auth: HTTP bearer

The tenant's FX rate table as maintained in FP&A: for each currency pair ("EUR>USD" converts EUR into USD), the closing, average and historical rate per month. Also returns the group reporting currency. Filter by currency (from, to), by month range (period_from, period_to, YYYY-MM) and by rate_type. Read-only; rates are returned exactly as stored, never fetched live or inferred. If no rates have been entered it says so instead of returning defaults.

## Request body

- object
  - `from` string: Source currency, ISO code, e.g. "EUR". Omit for all.
  - `to` string: Target currency, ISO code, e.g. "USD". Omit for all.
  - `period_from` string: First month to return, YYYY-MM.
  - `period_to` string: Last month to return, YYYY-MM.
  - `rate_type` 'closing' | 'average' | 'historical': Return only this rate type. Omit for all three.

## Response `200`

OK

- object
  - `data` object
  - `meta` object
    - `api` string
    - `capability` string
    - `at` string

## Other responses

- `401`: No or invalid credential
- `403`: Scope, extension or Builder Mode refused
- `422`: The capability refused the input
- `429`: Rate or daily quota reached

---

[API](https://skmtc.dev/k-phi/apis/k-api.md) · [All operations](https://skmtc.dev/k-phi/apis/k-api/llms.txt) · [OpenAPI document](https://skmtc.dev/k-phi/apis/k-api/revisions/60b28690ec35?raw)
