API
View as Markdown

Scopes

This page lists every scope you can grant an API key. The live catalog is also available via GET /api/v1/scopes, and you pick scopes interactively when you create a key in Settings → API.

Scopes restrict what a key can do. They follow a verb:resource pattern. read and write are independent — granting write does not imply read (this lets you create write-only audit loggers). Granular scope means a leaked key only exposes what you granted it.

When creating a key in the settings UI you have three presets:

  • Read everything — all read:* scopes (recommended for AI agents that only consume data).
  • Read + Write everything — all scopes (recommended for personal automation).
  • Custom — pick exactly which read and write scopes to grant.

The full scope catalog:

Read scopePaired write scopeWhat it allows
read:tradeswrite:tradesList + read trades, executions, tags, confirmations on a trade. Write: POST / PATCH / DELETE on trades, PUT on per-trade confirmations.
read:accountswrite:accountsList + read trading accounts. Write: POST + PATCH on accounts.
read:balancewrite:balanceBalance status, events, payouts, daily snapshots. Write: POST manual balance events and payout requests.
read:goalswrite:goalsGoals + period progress history. Full CRUD on write.
read:protocolswrite:protocolsProtocol templates + responses. Write: full protocol CRUD plus POST a recorded response.
read:tagswrite:tagsTags + tag categories. Write: full CRUD on both, plus PUT the tag set on a trade.
read:strategieswrite:strategiesStrategies + setups + confirmation templates. Write: POST/PATCH/DELETE strategy with embedded setups upsert.
read:screenshotswrite:screenshotsDownload screenshot files. Write: POST multipart upload, DELETE archive.
read:copy_groupswrite:copy_groupsCopy trading groups + members. Write: full CRUD on the group plus PUT the member set.
read:autosyncwrite:autosyncAuto-sync connection status + sync history. Write: trigger a manual sync.
read:catalogBrokers, instruments, prop firm presets, emotions catalog. Granted automatically to every key. There is no write:catalog — catalog data is platform-managed.

read:settings and write:settings are reserved in the scope catalog for future-use settings endpoints (general / calculation / grouping prefs). They are grantable today so existing keys can keep working when those endpoints land.

If a request needs a scope your key does not have, you get HTTP 403 with error code forbidden_scope and the required scope in error.details.required_scope.