cimplify
API reference

FX

Indicative FX rates and lockable cross-currency quotes. Pass the resulting `quote_id` as `fx_quote_id` on `/checkout` to settle in a non-cart currency at the locked rate.

GET /api/v1/fx/rate

Indicative mid-market rate between two ISO 4217 currencies. Useful for display only; it’s not binding. To pay in a specific currency at a specific rate, lock a quote first.

Query parameters

ParamDescription
from3-letter source currency. Required.
to3-letter destination currency. Required.

Request

cURL
curl "https://api.cimplify.io/api/v1/fx/rate?from=USD&to=GHS" \
  -H "X-Public-Key: pk_test_your_publishable_key"

Response

{
  "success": true,
  "data": {
    "from": "USD",
    "to": "GHS",
    "rate": "12.4150",
    "as_of": "2026-05-07T18:30:00Z",
    "source": "indicative"
  }
}

POST /api/v1/fx/quotes

Lock a rate for a specific amount and TTL. The returned quote_id is honoured on /checkout via the fx_quote_id field. amount accepts a decimal string or number.

Body

FieldDescription
from3-letter source currency.
to3-letter destination currency.
amountAmount in source currency, > 0. String or number.

Request

cURL
curl -X POST https://api.cimplify.io/api/v1/fx/quotes \
  -H "X-Public-Key: pk_test_your_publishable_key" \
  -H "Idempotency-Key: 5b1f9d80-2c70-4f2c-bf61-a0e6fa6b02a1" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "USD",
    "to": "GHS",
    "amount": "100.00"
  }'

Response

{
  "success": true,
  "data": {
    "quote_id": "fxq_01H…",
    "from": "USD",
    "to": "GHS",
    "amount": "100.00",
    "rate": "12.4150",
    "converted_amount": "1241.50",
    "expires_at": "2026-05-07T18:35:00Z"
  }
}

Errors

  • 400 VALIDATION_ERROR: non-3-letter currency code, amount ≤ 0.

  • 503 SERVICE_UNAVAILABLE: rate provider temporarily unreachable.

  • Checkout Pass fx_quote_id to charge at the locked rate.

On this page