Retrieve the account
GET /v2/me (no scope needed; tier cheap)
Authentication and API version requirements still apply. The Redbark app can read this endpoint even when its mobile plan is gated, so it can show the plan screen. This exception does not apply to other endpoints or third-party API credentials.
email, name, first_name and last_name identify the person, and are null unless the credential holds account:read (an OAuth token with mcp:read holds it; a key without it gets nulls). name is the display name Redbark stores; first_name is its first word and last_name the rest.
-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 an active trial started from the app, including one started on a web-created account. needs_plan is true when the billing source is none and the account is not grandfathered, regardless of where it was created. paid_before distinguishes an expired paid subscription from an expired trial and is false while a subscription is live. grandfathered is true for a grandfathered account, which keeps API and app access whatever its subscription status unless it has explicitly chosen the Zerosum plan.
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 thekeys: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.

