Register an account

Registers an account for a customer and starts provisioning it.

Provisioning and events

The response is 202 with the account PENDING. The wallet address appears once provisioning completes; poll GET /api/accounts/{accountRef} for it. No callback URL is supplied on this request.

The service also produces account.provisioned and account.provisioning_failed business events for delivery through configured webhooks; verify delivery in your environment.

Prerequisites

The customer must exist and be ACTIVE, and the asset must have an ACTIVE contract, before an account can be registered.

Retrying failed provisioning

A FAILED account can be re-registered, but only by the customer that owns it and under the same assetId: the account is reset to PENDING, and provisioning starts again. Re-registering it with a different customerRef or assetId is rejected with 409 Conflict and the account is left FAILED, because an account cannot change hands.

A reference linked to an account in any other status is rejected with 409 Conflict too.

Recipes
Create a customer and provision an account
Open Recipe
Body Params
string
required
length ≤ 128
[A-Za-z0-9._:-]+

The customer the account belongs to. Must already exist and be ACTIVE.

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

The bank's own reference for the account. Unique within the organisation.

string
required
length ≤ 16
[A-Za-z0-9]+

The asset the account holds. Case-insensitive, and must have an ACTIVE contract.

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