Retune or disable a test account
Updates a registered simulated account. Every field is optional and an omitted field keeps its stored value. Setting enabled to false takes the account out of service on the scheduler’s next sweep while keeping the registration. Retuning an account that is running restarts it with the new timings. Callable by a client credential holding the accounts:admin scope, which may retune any organization’s account, and by an organization admin of a configured internal organization, which may retune only its own organization’s accounts.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Simulated account id
Body
The fields to change. All values shown are placeholders.
A partial update to a registered test account.
Every field optional: an omitted one keeps its stored value. environment
is absent deliberately, not forgotten -- a test account is paper and the
table refuses anything else, so a field for it would only ever be refused.
Retuning an account that is currently running restarts it. The scheduler
notices the account's updated_at moved, stops the client and starts a
fresh one with the new timings, which is the same path a real account takes
when its credential is rotated.
Response
Test account updated
The registered test account, echoed back in full.
The whole row rather than just its id, because the request may have left the simulator's timings out and the operator needs to see which defaults they got without a second call.
A simulated trading account, registered by an operator for load testing.
Not a [TradingAccount] with a flag on it, and deliberately so. A trading
account is a customer's broker connection: it has a broker, a credential, an
append-only event stream behind it and a six year retention obligation. This
has none of those. It is a row an operator adds to make the platform trade
against an in-process simulator, and removes again afterwards.
Keeping the two types apart is what lets GET /v1/accounts answer one
question at a time: without test_accounts=true it lists real accounts and
cannot accidentally include one of these, and with it, it lists only these.
A shared type carrying a boolean would have made every caller responsible
for checking that boolean, and the cost of one forgetting is a customer's
orders going to a simulator.