Docs
Workspace

The workspace this credential belongs to

GET
/v1/workspace

Its plan, and whether trading is switched off. Our staff switch trading off for a whole workspace only during an incident; this is where to see it.

Authorization

apiKey
AuthorizationBearer <token>

Authorization: Bearer fx_live_<id>_<secret>.

A key is shown once, at creation. We cannot show it again or recover it for you. Keys carry an environment (live or test) in the key itself, so a test key pasted into a production config fails immediately instead of at the worst possible moment.

Scopes are per key. A key without accounts:write can read accounts and nothing else.

In: header

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/workspace"
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "name": "string",    "plan": "string",    "planName": "string",    "planAssigned": true,    "tradingDisabled": true  }}

Place one trade on many accounts POST

A multi-account order: one trade placed on many accounts at once. Every account is brought online first, then the orders are sent together — at `executeAt`, or as soon as every account is online. **A multi-account order is not all-or-nothing once sent, and cannot be.** There is no transaction across a hundred brokers: accounts fill at different prices, some are rejected for margin, some go unanswered. So it never reports a single success or failure — it reports a result for each account, and `summary` counts what landed. An account whose result is `unresolved` must not be resent; poll its order. `dispatchSpreadMs` is the gap between the first account's order being sent and the last. It is the number worth watching: as it grows, your accounts are getting different prices. **`barrierPolicy`** decides what happens when some accounts are not online in time: - `release-ready` — trade on the accounts that are online, skip the rest. A partial entry beats a late one. - `all-or-nothing` — trade on none unless all are online. Note this is about *sending*: a broker can still reject an account's order after it was sent. - `wait` — keep waiting past `executeAt` until every account is online, up to `expiresAt`.

Create a key POST

Returns the key in `key`, **once**. We cannot show a key again after creation, or recover it. A lost key is replaced, not recovered. `admin` and `keys:manage` cannot be granted here. Issue narrow keys: an integration that only reads positions should hold `trading:read` and nothing else.