Skip to navigation

Withdraw an account proposal

Withdraws the pending proposal: the proposer, or any accounts:approve holder (the checker’s reject); anyone else is 403 NOT_PROPOSER. A withdrawn classification parks the account back as discovered.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

idintegerRequired

The record's id — a positive 32-bit integer the platform minted.

Headers

Idempotency-KeystringRequired

Required on every write: a URL-safe string of 1 to 64 characters from [A-Za-z0-9._~-] (a UUID fits), scoped to you. It names one operation on one record, ever: a retry replays the stored outcome (Idempotent-Replay: true) or attaches to the live one, and reuse on another record refuses 409 IDEMPOTENCY_KEY_REUSED. Missing or malformed, 400.

If-MatchstringOptional

The ETag the read minted, quoted or bare; absent or * is unconditional; a weak validator refuses 400 INVALID_IF_MATCH. A stale value answers 412 VERSION_CONFLICT with currentVersion and a fresh ETag: re-read, reapply, retry. Send it — every write restates the whole record, so an unconditional write overwrites every field from your copy, and an amend against a pending proposal replaces that proposal.

Request

This endpoint expects an object.
accountIdintegerOptional
expectedVersionstring or nullOptionalformat: "^-?[0-9]+$"
int64 as a decimal JSON string

Response

The account as the platform now holds it after the write — the same row the read serves, with the answering change's position, the row's ETag and, on a replayed key, Idempotent-Replay.

accountIdinteger
Sticky entity key.
credentialIdinteger
The pipe this account is reached through.
displayNamestring

Empty-not-null.

externalRefstring

The venue's own account identifier — an attribute, never the id; with the credential, the key a discovery is idempotent on.

globalSequencestringformat: "^[0-9]+$"

The position as a decimal string — the last change this member had applied, orders and balance readings included.

locationenum

UNKNOWN is the unset sentinel: outputs only — as input, omit the field instead; explicit UNKNOWN refuses 400. The value set is append-only: a consumer READING this field treats an unknown name as UNKNOWN, never as an error; as input an unknown name refuses 400 — the parse is strict

orgIdinteger

The owning org — stamped by the owner from the credential's org, never client-supplied.

ownershipenum

HOUSE only exercised in the POC. UNKNOWN is the unset sentinel: outputs only — as input, omit the field instead; explicit UNKNOWN refuses 400. The value set is append-only: a consumer READING this field treats an unknown name as UNKNOWN, never as an error; as input an unknown name refuses 400 — the parse is strict

Allowed values:
pendingTransitionenum

ACTIVATE (a classification), AMEND (a re-classification — the proposed axes ride this record while the last approved record keeps enforcing), UNFREEZE, RETIRE; NONE otherwise. NONE is the unset sentinel: outputs only — as input, omit the field instead; explicit NONE refuses 400. The value set is append-only: a consumer READING this field treats an unknown name as NONE, never as an error; as input an unknown name refuses 400 — the parse is strict

purposeenum

UNKNOWN is the unset sentinel: outputs only — as input, omit the field instead; explicit UNKNOWN refuses 400. The value set is append-only: a consumer READING this field treats an unknown name as UNKNOWN, never as an error; as input an unknown name refuses 400 — the parse is strict

statusenum

UNKNOWN is the unset sentinel: outputs only — as input, omit the field instead; explicit UNKNOWN refuses 400. The value set is append-only: a consumer READING this field treats an unknown name as UNKNOWN, never as an error; as input an unknown name refuses 400 — the parse is strict

temperatureenum

UNKNOWN is the unset sentinel: outputs only — as input, omit the field instead; explicit UNKNOWN refuses 400. The value set is append-only: a consumer READING this field treats an unknown name as UNKNOWN, never as an error; as input an unknown name refuses 400 — the parse is strict

Allowed values:
versionstringformat: "^-?[0-9]+$"
Monotonic per entity. int64 as a decimal JSON string
pendingByUserIdinteger or nullOptional

The maker while a proposal is pending; 0 otherwise.

portfolioIdinteger or nullOptional

Single assignment in the POC; 0 = unassigned.

tradingCredentialIdinteger or nullOptional

The trading credential this account's orders go through when set (a read-only key discovers the account; a trading key at the same venue is designated here); absent or 0 = orders go through credentialId. Designated at classification, under dual control.

unscaledbooleanOptionalDeprecated

Never present since 0.3.3: every money value on this API states its own scale on the wire — a policy amount or cap since 0.3.3, an order's and an execution's since 0.3.2, a balance's since 0.3.1 — so a row is never served raw, whether or not this member holds the asset or instrument it references. Kept, deprecated, so a client generated from 0.3.2 still compiles; it goes at the next major.

Errors

400
Withdraw Accounts Request Bad Request Error
401
Withdraw Accounts Request Unauthorized Error
403
Withdraw Accounts Request Forbidden Error
404
Withdraw Accounts Request Not Found Error
409
Withdraw Accounts Request Conflict Error
412
Withdraw Accounts Request Precondition Failed Error
413
Withdraw Accounts Request Content Too Large Error
422
Withdraw Accounts Request Unprocessable Entity Error
429
Withdraw Accounts Request Too Many Requests Error
500
Withdraw Accounts Request Internal Server Error
503
Withdraw Accounts Request Service Unavailable Error