Refresh a cash-in deposit code
Regenerates the deposit code for an existing cash-in that has not yet expired, returning a fresh cashInCode. The cash-in’s expiresAt is unchanged, so a refresh does not buy the customer more time; once it has passed, the request fails with 422 RefreshExpired. Pass an Idempotency-Key header to safely retry.
A per-cash-in refresh guard returns 429 when the total-refresh cap is hit (refreshLimitReached) or when refreshed inside the minimum interval (refreshTooFrequent, with a Retry-After header) — protecting the upstream provider and bounding stored refresh history.
Authorizations
Token from POST /auth/token
Headers
Required on POST and PUT requests. Use a unique value per logical mutation attempt, for example a UUID.
Path Parameters
Cash-in ID (ci_ prefix).
Response
The request has succeeded.
A code-based cash deposit. The customer takes the issued code to a retail location and deposits cash, which OMS converts to crypto and delivers to the destination. Amounts start as estimates and are finalized once the cash is deposited.
Cash-in ID (ci_ prefix).
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$Cash-in flavor.
cryptoToCrypto, fiatToCrypto, cryptoToFiat Current lifecycle status of the cash-in.
pending, processing, completed, failed, expired The OMS customer that owns this record (cst_ prefix).
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$Where the customer deposits cash: the provider and location.
Crypto instrument the converted funds are delivered to.
The cash amount to be deposited.
Resolved detail of the chosen cash location.
When the cash-in was created.
When the cash-in was last updated.
Resource type discriminator. Always "cashIn".
cashIn Granular sub-status adding detail behind status.
order_reserved, settled, cash_deposit_expired, cash_deposit_failed, provider_order_failed, provider_order_template_error The side the amount was fixed on when creating the cash-in. OMS calculated the other side.
source, destination The deposit code and instructions the customer presents at the retail location.
Exchange and effective rates applied to this cash-in.
On-chain gas cost for the destination delivery charged to you, as a decimal string. Always "0" today — OMS absorbs the destination gas, and every response reports sponsorGas: true.
OMS fee schedule applied to this cash-in.
The Transaction produced once the cash-in completes. Null while pending.
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$When true, OMS absorbs the on-chain gas cost for the destination delivery. Only true is currently supported.
Free-form key-value pairs supplied at creation or update.
Echo of the developer fee entries from the originating request. POST /cash-ins has no developerFees field, so this is always absent; a developerFees key sent on the create request is ignored rather than rejected.
When the cash-in reached a terminal state. Null while in progress.
Expiry of the cashInCode — the single expiry field for a cash-in. Refreshing the cash-in issues a new cashInCode but does not extend this expiry. Once it has passed, the cash-in can no longer be refreshed.