OrderFill

Team and keys

Members, roles, invites, API keys and invoices.

Every account belongs to a team. Working alone, your team has one member: you.

RoleCan
ownerEverything, including billing.
adminManage members and keys. Trade.
memberTrade.
viewerSee everything. Trade nothing.

GET /v1/team

The team, your role, the plan's limits and the members.

{
  "team": { "id": "…", "name": "Desk", "personal": false, "plan": "trader", "yourRole": "owner" },
  "limits": { "code": "trader", "accountCap": 3, "sessionCap": 3, "readsPerSecond": 30, "readBurst": 75, "ordersPerSecond": 10, "streamIntervalFloorMs": 100, "idleSeconds": 3600, "…": "…" },
  "members": [ { "userId": "…", "username": "ade", "email": "[email protected]", "role": "owner" } ],
  "invites": []
}

GET /v1/team/mine

Every team you belong to, for a switcher. Pass one's id as X-Org-Id to act in it.

POST /v1/team/invites

{ "email": "[email protected]", "role": "member" }

Owners and admins only. The invite expires after a week.

DELETE /v1/team/invites/:inviteId

Withdraw an invite.

POST /v1/team/accept

Accept an invite with the token from its link: { "token": "…" }.

PUT /v1/team/members/:userId

Change a role: { "role": "viewer" }.

DELETE /v1/team/members/:userId

Remove someone. Keys they created stop working.

GET /v1/team/billing

Your team's invoices. status is open, paid, past_due (a payment failed or expired; your accounts keep running) or void.

GET /v1/plans

The price list, no key needed: each plan's code, name, monthlyCents, accountCap and ordersPerSecond.

GET /v1/payments/providers

Which ways to pay are switched on, no key needed: { "providers": ["creem", "paystack", "nowpayments"] }. creem is card, paystack is Paystack, nowpayments is crypto.

POST /v1/team/billing/checkout

Start paying. Owners and admins only.

{ "provider": "paystack", "plan": "trader" }

Or pay one open invoice with { "provider": "nowpayments", "invoiceId": "…" }. Answers { "url": "https://…" }: send the person there. When the payment clears, the plan changes and the invoice is marked paid; nothing else to call. A provider that is not switched on answers 501 not_supported.

POST /v1/team/billing/cancel

Back to the free plan from now on. Owners and admins only. Nothing is charged again; accounts above the free plan's cap stop starting until you remove some or pay again.

API keys

Creating and revoking keys needs a signed-in person; a key cannot manage keys.

POST /v1/keys

{ "name": "gold bot", "scope": "trade" }
{ "key": { "id": "…", "name": "gold bot", "prefix": "3f8a2b19", "scope": "trade", "key": "of_live_3f8a2b19_kZ…" },
  "notice": "This is the only time the key is shown. Store it now." }

GET /v1/keys

Your team's keys. Prefixes only, never secrets.

DELETE /v1/keys/:id

Revoke a key. It stops working immediately.

On this page