Skip to content

Exchange Rates

Manage currency exchange rates for multi-currency financial forecasting.

Endpoints

MethodPathDescription
GET/org/:orgId/exchange-ratesList exchange rates
GET/org/:orgId/exchange-rates/:idGet exchange rate
POST/org/:orgId/exchange-ratesCreate exchange rate
PATCH/org/:orgId/exchange-rates/:idUpdate exchange rate
DELETE/org/:orgId/exchange-rates/:idDelete exchange rate

List Exchange Rates

GET /org/:orgId/exchange-rates

Returns a paginated list of exchange rates in the organization.

Query Parameters

ParameterTypeDefaultDescription
pageinteger1Page number
limitinteger20Records per page (max 200)
searchstringSearch by fromCurrency or toCurrency
sortBystringfromCurrencySort field: fromCurrency, toCurrency, rate, effectiveFrom, createdAt
sortDirstringascasc or desc

Example Request

bash
curl -X GET "https://{tenant}.flowstate.inc/api/v1/org/{orgId}/exchange-rates?sortBy=fromCurrency&limit=50" \
  -H "Authorization: Bearer private_..."

Example Response

json
{
  "data": [
    {
      "id": "clx6t7u8v9w0x1y2",
      "fromCurrency": "GBP",
      "toCurrency": "USD",
      "rate": 1.27,
      "effectiveFrom": "2026-01-01T00:00:00Z",
      "createdAt": "2024-01-10T08:00:00Z",
      "updatedAt": "2025-11-20T14:00:00Z"
    },
    {
      "id": "clx1e2n3g4r5o0t6",
      "fromCurrency": "EUR",
      "toCurrency": "USD",
      "rate": 1.08,
      "effectiveFrom": "2026-01-01T00:00:00Z",
      "createdAt": "2024-01-05T08:00:00Z",
      "updatedAt": "2025-09-01T10:00:00Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 50,
    "total": 8,
    "hasNextPage": false
  }
}

Get Exchange Rate

GET /org/:orgId/exchange-rates/:id

Returns a single exchange rate by ID.

Example Request

bash
curl -X GET "https://{tenant}.flowstate.inc/api/v1/org/{orgId}/exchange-rates/clx6t7u8v9w0x1y2" \
  -H "Authorization: Bearer private_..."

Example Response

json
{
  "data": {
    "id": "clx6t7u8v9w0x1y2",
    "fromCurrency": "GBP",
    "toCurrency": "USD",
    "rate": 1.27,
    "effectiveFrom": "2026-01-01T00:00:00Z",
    "createdAt": "2024-01-10T08:00:00Z",
    "updatedAt": "2025-11-20T14:00:00Z"
  }
}

Create Exchange Rate

POST /org/:orgId/exchange-rates

Creates a new exchange rate.

Request Body

json
{
  "fromCurrency": "GBP",
  "toCurrency": "USD",
  "rate": 1.27,
  "effectiveFrom": "2026-01-01T00:00:00Z"
}

Example Request

bash
curl -X POST "https://{tenant}.flowstate.inc/api/v1/org/{orgId}/exchange-rates" \
  -H "Authorization: Bearer private_..." \
  -H "Content-Type: application/json" \
  -d '{
    "fromCurrency": "GBP",
    "toCurrency": "USD",
    "rate": 1.27,
    "effectiveFrom": "2026-01-01T00:00:00Z"
  }'

Example Response

json
{
  "data": {
    "id": "clx3d4e5f6g7h8i9",
    "fromCurrency": "GBP",
    "toCurrency": "USD",
    "rate": 1.27,
    "effectiveFrom": "2026-01-01T00:00:00Z",
    "createdAt": "2026-03-11T09:40:00Z",
    "updatedAt": "2026-03-11T09:40:00Z"
  }
}

Status: 201 Created


Update Exchange Rate

PATCH /org/:orgId/exchange-rates/:id

Updates one or more fields on an existing exchange rate. Only include the fields you want to change.

Example Request

bash
curl -X PATCH "https://{tenant}.flowstate.inc/api/v1/org/{orgId}/exchange-rates/clx6t7u8v9w0x1y2" \
  -H "Authorization: Bearer private_..." \
  -H "Content-Type: application/json" \
  -d '{
    "rate": 1.29
  }'

Example Response

json
{
  "data": {
    "id": "clx6t7u8v9w0x1y2",
    "fromCurrency": "GBP",
    "toCurrency": "USD",
    "rate": 1.29,
    "effectiveFrom": "2026-01-01T00:00:00Z",
    "createdAt": "2024-01-10T08:00:00Z",
    "updatedAt": "2026-03-11T09:45:00Z"
  }
}

Delete Exchange Rate

DELETE /org/:orgId/exchange-rates/:id

Deletes an exchange rate.

Example Request

bash
curl -X DELETE "https://{tenant}.flowstate.inc/api/v1/org/{orgId}/exchange-rates/clx6t7u8v9w0x1y2" \
  -H "Authorization: Bearer private_..."

Example Response

json
{
  "data": {
    "id": "clx6t7u8v9w0x1y2",
    "deleted": true
  }
}

Status: 200 OK


Field Reference

FieldTypeRequiredDescription
idstringUnique identifier (read-only)
fromCurrencystringYesSource currency code (3-char ISO 4217, e.g., "GBP")
toCurrencystringYesTarget currency code (3-char ISO 4217, e.g., "USD")
ratenumberYesConversion rate (from * rate = to)
effectiveFromdatetimeNoDate the rate takes effect (defaults to now)
createdAtdatetimeRecord creation timestamp (read-only)
updatedAtdatetimeLast modification timestamp (read-only)

Flowstate Documentation