GET
/
fx
/
conversions
/
{conversionId}
Get conversion.
curl --request GET \
  --url https://sandbox.api.openfx.com/v1/fx/conversions/{conversionId} \
  --header 'Authorization: Bearer <token>' \
  --header 'X-Signature: <api-key>' \
  --header 'X-Timestamp: <api-key>'
{
  "id": "cnv_01953e1a5f4b7007",
  "sellCurrency": "USD",
  "buyCurrency": "GBP",
  "sellAmount": "10000.00",
  "buyAmount": "7850.00",
  "rate": "0.7850",
  "quoteId": "qte_01953e1a5f4b7006",
  "sourceAccountId": "acc_01953e1a5f4b7002",
  "destinationAccountId": "acc_01953e1a5f4b7003",
  "status": "completed",
  "createdAt": "2026-02-23T12:00:00Z",
  "completedAt": "2026-02-23T12:00:01Z"
}

Authorizations

Authorization
string
header
required

API key issued at onboarding. Passed as a Bearer token in the Authorization header: Authorization: Bearer <api-key>. Identifies the caller and determines organization scope. Invalid or revoked keys return 401 with error type authentication_error.

X-Signature
string
header
required

Ed25519 or RSA-SHA256 asymmetric signature over the request payload (ADR-0015). Provides request integrity and non-repudiation. The signature covers the HTTP method, path, query string, request body, and timestamp. Invalid signatures return 401 with error type authentication_error.

X-Timestamp
string
header
required

Unix timestamp (seconds) of when the request was signed. Server rejects requests where the timestamp drifts beyond +/-60 seconds from server time to prevent replay attacks. Must match the timestamp used in the signature computation.

Path Parameters

conversionId
string
required

Unique identifier of the conversion (cnv_ prefix). FX conversion resource identifier.

Pattern: ^cnv_[A-Za-z0-9]+$
Example:

"cnv_01953e1a5f4b7007"

Response

Conversion details.

An executed FX conversion. Debits sellCurrency and credits buyCurrency on the customer's accounts. Uses sell/buy naming consistently.

id
string
required

FX conversion resource identifier.

Pattern: ^cnv_[A-Za-z0-9]+$
Example:

"cnv_01953e1a5f4b7007"

sellCurrency
string
required

ISO 4217 currency code for fiat (USD, EUR, GBP) or crypto asset ticker (USDC, BTC, ETH). Uppercase, 2-10 characters. Use this type in contexts where both fiat currencies and crypto assets are accepted.

Pattern: ^[A-Z]{2,10}$
Example:

"USD"

buyCurrency
string
required

ISO 4217 currency code for fiat (USD, EUR, GBP) or crypto asset ticker (USDC, BTC, ETH). Uppercase, 2-10 characters. Use this type in contexts where both fiat currencies and crypto assets are accepted.

Pattern: ^[A-Z]{2,10}$
Example:

"USD"

sellAmount
string
required

Monetary amount as a string. Always string, never float. Up to 8 decimal places for crypto precision.

Pattern: ^[0-9]+(\.[0-9]{1,8})?$
Example:

"1500.00"

buyAmount
string
required

Monetary amount as a string. Always string, never float. Up to 8 decimal places for crypto precision.

Pattern: ^[0-9]+(\.[0-9]{1,8})?$
Example:

"1500.00"

rate
string
required
Example:

"1.0852"

status
enum<string>
required

Lifecycle status of an FX conversion.

Available options:
pending,
processing,
completed,
failed
createdAt
string<date-time>
required

UTC timestamp in RFC 3339 / ISO 8601 format.

Example:

"2026-02-23T12:00:00Z"

quoteId
string | null

FX quote resource identifier.

Pattern: ^qte_[A-Za-z0-9]+$
Example:

"qte_01953e1a5f4b7006"

sourceAccountId
string

Account resource identifier.

Pattern: ^acc_[A-Za-z0-9]+$
Example:

"acc_01953e1a5f4b7002"

destinationAccountId
string

Account resource identifier.

Pattern: ^acc_[A-Za-z0-9]+$
Example:

"acc_01953e1a5f4b7002"

metadata
object

Consumer-defined key-value store. Available on all primary resources. Max 50 keys. Keys must match ^[a-zA-Z0-9_]{1,40}$. Values are strings (max 500 chars) or null.

completedAt
string<date-time> | null

UTC timestamp in RFC 3339 / ISO 8601 format.

Example:

"2026-02-23T12:00:00Z"