GET
/
transactions
/
{transactionId}
Get transaction.
curl --request GET \
  --url https://sandbox.api.openfx.com/v1/transactions/{transactionId} \
  --header 'Authorization: Bearer <token>' \
  --header 'X-Signature: <api-key>' \
  --header 'X-Timestamp: <api-key>'
{
  "id": "txn_01953e1a5f4b7600",
  "accountId": "acc_01953e1a5f4b7002",
  "type": "payment_out",
  "direction": "debit",
  "amount": "1502.50",
  "currency": "USD",
  "balance": "8497.50",
  "linkedTransactionId": null,
  "transactionGroupId": "grp_01953e1a5f4b7601",
  "referenceType": "payment",
  "referenceId": "pmt_01953e1a5f4b7005",
  "description": "ACH payment to Globex Corporation",
  "createdAt": "2026-02-23T12:05:00Z"
}

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

transactionId
string
required

Unique identifier of the transaction (txn_ prefix). Transaction resource identifier.

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

"txn_01953e1a5f4b7600"

Response

Transaction details.

Read-only ledger entry for a balance-affecting event. Every payment, conversion, transfer, inbound payment, fee, and auto-conversion creates transaction entries.

id
string
required

Transaction resource identifier.

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

"txn_01953e1a5f4b7600"

accountId
string
required

Account resource identifier.

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

"acc_01953e1a5f4b7002"

type
enum<string>
required

Type of ledger transaction.

Available options:
payment_out,
payment_in,
conversion_debit,
conversion_credit,
transfer_out,
transfer_in,
fee,
auto_conversion_debit,
auto_conversion_credit,
adjustment,
reversal,
collection_in,
collection_fee,
collection_reversal
direction
enum<string>
required

Whether this entry decreases (debit) or increases (credit) the account balance.

Available options:
debit,
credit
amount
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"

currency
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"

balance
string
required

Running balance after this transaction.

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

"1500.00"

createdAt
string<date-time>
required

UTC timestamp in RFC 3339 / ISO 8601 format.

Example:

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

linkedTransactionId
string | null

For reversals, the ID of the original transaction being reversed.

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

"txn_01953e1a5f4b7600"

transactionGroupId
string

Groups related entries from a single operation (e.g., a transfer creates two entries sharing a group ID). Opaque identifier.

referenceType
enum<string>

Type of resource that originated this transaction.

Available options:
payment,
inbound_payment,
conversion,
transfer,
refund,
collection
referenceId
string

ID of the originating resource (e.g., pmt_xxx, cnv_xxx).

description
string

Human-readable transaction description.

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.