Developer platform

Conventions

Auth, scopes, idempotency, errors and pagination.

Authentication

HeaderHTTP
Authorization: Bearer wisp_sbx_…

Keys are sandbox keys in the format wisp_sbx_…, shown once at creation; only a hash and the first 13 characters are stored. Keys are server-side only: a browser request carrying a key is rejected with 403 origin_not_allowed.

Scopes

ScopeGrants
readRead squads, positions, trades, events, markets, webhooks.
squads:writeDeploy, pause, resume, retire, update policy, manage webhooks.
tradePlace orders and answer approvals.
spendReserved for live mode; can't be granted.

Idempotency

Idempotency-Key is required on every POST and PATCH and stored for 24 hours. Retrying with the same key returns the original response; the same key with a different body returns 409 idempotency_conflict. Failed writes are not stored.

Errors

error.jsonJSON
{
  "error": { "code": "field_not_enforced", "message": "…", "details": { "enforced": ["…"] } },
  "meta": { "requestId": "req_…" }
}

Codes are stable; see the Errors reference.

Pagination

List endpoints take limit (1–100, default 25) and cursor; pass next_cursor from the previous page until it is null.

Last updated October 11, 2026

Wisp runs in a sandbox today: paper trading on live market data. Experimental software, not financial advice.

Follow @wispcapital on X