Concepts
The ideas every call uses - keys and scopes, request units, the answer envelope, attribution, pagination and history windows.
#Keys and scopes
Every request carries Authorization: Bearer <key>. A key belongs to your account and has scopes: one per area (calendar:read, strata:read, market:read, analytics:read, news:read, account:read, webhooks:write). A call outside the key's scopes answers 403 insufficient_scope. See API keys.
#Request units
Limits count units, not calls. A light call costs 1 unit; long history, heatmaps and footprints cost 10 or 20. Each operation's rule is in its reference page and on Units and weights. The answer's X-Request-Weight header and meta.weight say what a call cost. Your tier has a per-minute and a monthly allowance of units (Tiers).
#The answer
Every success is
{ "data": "...", "meta": { "attribution": ["..."], "next_cursor": null, "weight": 1, "terms": "https://chartdeck.trade/terms#api" } }and every error is { "error": { "code": "...", "message": "..." } } with an HTTP status (Errors).
#Attribution
meta.attribution names the sources of that answer. Show it wherever you display the data. See Attribution.
#Pagination
Lists return a page and meta.next_cursor; pass it back as cursor for the next page, until it is null. See Pagination.
#History windows
Each tier may read a certain number of days back on each route; asking further back answers 422 window_too_large. See History windows.