Freeze or unfreeze an account

Freezes or unfreezes an account at the token contract. FREEZE applies a compliance freeze to an ACTIVE account; UNFREEZE lifts it on a FROZEN account. These two account-control operations are raised here, not through POST /api/transactions, which rejects them with a 400.

Submission and polling

Like a transaction submission, this is asynchronous and idempotent: 202 for a first submission, 200 for a replay under an Idempotency-Key already used. The body reports the operation raised — its transactionId correlates the later on-chain outcome, read back with GET /api/transactions/{transactionId} — and its state and timestamps.

It does not carry the account's status; read that back with GET /api/accounts/{accountRef}.

When controls take effect

A freeze takes effect immediately: the account moves ACTIVE → FROZEN as the operation is accepted. An unfreeze does not: the account stays FROZEN and returns to ACTIVE only once the unfreeze confirms on-chain.

Path Params
string
required
length ≤ 128
[A-Za-z0-9._:-]+

The bank's own reference for the account.

Body Params
string
enum
required

An account-control operation. FREEZE freezes an ACTIVE account at the token contract; UNFREEZE lifts the freeze on a FROZEN account. These are the only two operations the controls endpoint accepts, and the two the transaction endpoint rejects.

Allowed:
string
length ≤ 100

The reason for the operation. Required for a FREEZE and optional for an UNFREEZE, and at most 100 characters when supplied. It is stored among the operation's arguments and read back under params.reason on GET /api/transactions/{transactionId} and the transaction log. A FREEZE with no reason, or an over-long reason on either operation, is a 400.

Headers
string
required
^\d+\.\d+\.\d+$

The version of the Quant Flow API the request follows, as major.minor.patch (for example 1.0.0). The request is interpreted, and the response shaped, according to that version.

string
required
length ≤ 255

Caller-supplied key making the write at-most-once. Replay semantics are endpoint-specific: customer and account registry writes replay the original response and reject a changed payload with 422; transaction and deployment submissions return the current operation with 200 and ignore a changed payload. See the operation's response documentation. Use one key per intent. Missing, blank or longer than 255 characters is a 400.

Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json