List redemptions
GET/v1/redemptions
List the redemptions in which the calling bank is the holder.
A redemption (resource type redemptions) returns units of an issuer's asset that the
holder bank keeps in its interbank holding account to the issuer, in exchange for cash
settled outside the platform. The holder is the bank that holds the issuer's asset and
asks for it to be redeemed; the issuer is the bank that created the asset and pays
the cash. Redemptions are batched into the issuer's settlement cycles (see
GET /v1/settlement-cycles).
Who sees what. Only redemptions whose holder_bank_id is the calling bank are
returned. An issuer does not see the redemptions of its holders through this endpoint;
it follows them through its settlement cycles instead.
Lifecycle. A redemption moves through these states:
SUBMITTED ──► ASSIGNED ──► LOCKED ──► REDEEMED (cycle closed)
│ │
└───────────┴──────► RELEASED (cycle aborted)
state | Meaning |
|---|---|
SUBMITTED | Accepted, but no settlement cycle is open yet for this issuer and asset. It is assigned automatically when the next cycle opens. |
ASSIGNED | Assigned to an OPEN settlement cycle (assigned_cycle_id is set). A redemption created while a cycle is open is assigned immediately, and the platform requests a ledger lock for its amount at once. |
LOCKED | The amount is locked on the ledger for the assigned cycle and can no longer be spent. This happens once the ledger confirms the lock, at the latest when the cycle locks at its cutoff. The redemption then waits for cash settlement and cycle close. |
REDEEMED | Terminal. The issuer confirmed the cash and the locked units were redeemed (burned) on the ledger when the cycle closed. |
RELEASED | Terminal. The cycle was aborted and the lock was released; the units are spendable again on the holding account. |
The enumeration also contains QUEUED, REJECTED, and EXPIRED. The current release
does not assign these values, but clients should accept them.
Ordering and paging. Results are returned newest first. Paging is cursor based:
follow links.next until it is absent. links.prev is never returned.
Request
Responses
- 200
- 400
- 401
- 403
- 429
- 503
One page of redemptions held by the calling bank, newest first.
The request is malformed: invalid JSON syntax, an invalid path or query parameter, a
missing required header such as Idempotency-Key, or a single field that fails its own
format rule. Fix the request before retrying; retrying it unchanged fails again.
The bearer token is missing, malformed, expired, signed by an unknown key, or was not issued by the platform IAM for the Lyriq Connector. Obtain a new token and retry. See the Authentication section.
The token is valid but may not perform this request: it lacks the required scope, has
no bank membership, needs an x-dan-bank-id header to choose between several
memberships, names a bank in x-dan-bank-id it has no membership for, or the caller's
bank is suspended or terminated. A new token with the same configuration fails the same
way. See the Authentication section.
The request was refused because a rate limit was reached (code RATE_LIMITED). No
Retry-After header is sent; retry with exponential backoff.
The request could not be served right now. Either the network is not fully operational
(OUTBOUND_HALTED or READ_ONLY: mutations are refused while read endpoints keep
working; OPERATIONAL_STATE_UNKNOWN: the state could not be determined), or a platform
dependency is temporarily unavailable. No Retry-After header is sent; retry later with
backoff. When retrying a mutation, reuse the same Idempotency-Key and body.