Skip to main content

Retrieve the account

GET /v2/me (no scope needed; tier cheap)
-1 in limits means unlimited. usage reports current connections, accounts, and brokerage connections. plan_fit evaluates those resources, not API activity, so its recommendation may not include the features you need. billing.source is stripe for web billing, apple for App Store billing, or none without a billing record. Treat future sources and plan-fit reason codes as additive. app_trial identifies a current web-billed trial on an app-created account; needs_plan identifies an app-created account that has not started a trial or subscription. paid_before distinguishes an expired paid subscription from an expired trial and is false while a subscription is live.

The api_key object

status is active, expiring (rotated, still valid until expiring_at), expired or revoked. secret is only non-null on create and rotate responses.

Endpoints

All need the keys:write scope. Creating a key requires the caller to hold every scope being granted, and scopes are immutable after creation.
Rotation also requires the caller to hold every effective scope of the replacement key, including the read scopes implied by a legacy key. Holding keys:write alone is not enough to rotate a broader key; the request returns 403 scope_not_held.

Create

allowed_ips accepts IPv4 addresses or CIDRs and exact colon-hex IPv6 addresses (up to 20 entries). IPv6 CIDRs and IPv6 addresses with dotted IPv4 tails, such as ::ffff:192.0.2.1, are not supported.
IPv6 entries are normalised on write to lowercase, compressed form without leading zeros. Uppercase, expanded, and zero-padded colon-hex forms of the same address match equivalently.