Skip to main content
This guide covers managing transactions after ingestion — retrieving individual transactions, updating transaction data, updating statuses, and applying bulk updates across multiple transactions. Full API endpoint details are available in the API Reference (requires API credentials).
To ingest new transactions (deposits, withdrawals, trades, transfers), see the Ingest Operations guide.

Get a Transaction

Endpoint: GET /v1/transactions/{id} Retrieve a transaction by its Corsa-generated UUID or your external referenceId.

Response Fields

FieldDescription
idCorsa-generated UUID
referenceIdYour external reference ID
typeDEPOSIT, WITHDRAW, TRADE, or TRANSFER
currentStatusCurrent status object with type and timestamp
amountAmount in the transaction currency
convertedAmountAmount converted to your platform’s preferred currency
from / toSource and destination parties
txHashBlockchain transaction hash (for crypto transactions)
evaluationResultRule evaluation result, if the transaction was evaluated at creation
customFieldsAny custom key-value data

Update a Transaction

Endpoint: PUT /v1/transactions/{id} Update mutable fields on an existing transaction. Useful for enriching transactions with data that arrives after initial ingestion (for example, a blockchain hash that’s confirmed later, or updated risk data from a screening provider).

Updatable Fields

FieldDescription
txHashBlockchain transaction hash
paymentMethodMethod used for payment
paymentRailPayment network or settlement rail
transferTypeINTERNATIONAL, DOMESTIC, or INTERNAL
amountTransaction amount details
convertedAmountConverted amount details
currentRiskUpdated risk assessment
integrationsThird-party integration data
customFieldsCustom key-value data

Update Transaction Status

Endpoint: PUT /v1/transactions/{id}/updateStatus Update the status of a transaction. Corsa tracks a full status history — each call appends a new entry.

Status Fields

FieldRequiredDescription
typeYesSUCCESS, PENDING, CANCELLED, FAILED, or FROZEN
timestampNoISO 8601 timestamp of the status change
reasonNoHuman-readable reason for the status
subStatusNoAdditional status detail
updateParentStatusNoIf true and the transaction belongs to a trade, recalculates the parent trade status

Bulk Update Transactions

Endpoint: PATCH /v1/transactions/bulk/update Apply the same field changes to up to 100 transactions in a single request. Use this to enrich or correct a batch of transactions efficiently.
Maximum 100 transaction IDs per request. You can pass Corsa UUIDs or your external referenceId values interchangeably.

Response

FieldDescription
updatedTransactionsArray of successfully updated transaction objects
failedTransactionsArray of transaction IDs that failed with error details
totalProcessedTotal number of transaction IDs received
successCountNumber of transactions successfully updated
failureCountNumber of transactions that failed

Look Up Transactions by Blockchain Hash

Endpoint: POST /v1/transactions/lookup-by-hash Batch-lookup transactions by their on-chain transaction hash. Useful when a blockchain analytics provider or internal process identifies a hash and you need to find the corresponding Corsa transaction records.

Request Fields

FieldRequiredDescription
txHashesYesArray of blockchain transaction hashes to look up. Maximum 100 per request.
The response returns an array of matching transaction objects for each hash provided. Hashes that do not match any stored transaction are omitted from the response.

What’s Next?

Ingest Operations

Ingest deposits, withdrawals, trades, and transfers for your clients.

Manage Alerts & Cases

Bulk create, assign, and update compliance alerts and investigation cases.