StudioAPI Docs Get a key
View as Markdown
reference/account

All endpoints require Authorization: Bearer <jwt>.

Auth

MethodPathDescription
POST/auth/registerRegister (Turnstile + email verification).
POST/auth/loginLogin (Turnstile).
GET/auth/meCurrent user.
GET/auth/verify-emailVerify email (redirects to dashboard).
POST/auth/resend-verificationResend verification (1/min).
GET/auth/configPublic feature config.

User

MethodPathDescription
GET/user/keysList API keys.
POST/user/keysCreate key (verified email required).
DELETE/user/keys/:idRevoke key.
GET/user/usageAggregated monthly usage.

Billing

MethodPathDescription
GET/billing/plansPublic plan catalog.
POST/billing/subscribeCreate Sumopod subscription invoice.
POST/billing/topupCreate pay-as-you-go credit invoice.
POST/billing/webhookSumopod webhook (signature-verified).
GET/billing/statusActive subscription + credit balance.
GET/billing/creditsCredit balance and ledger.

Example

curl https://use.studioapi.dev/auth/me \
  -H "Authorization: Bearer $TOKEN"
{ "data": { "id": "user_...", "email": "you@example.com", "name": "You", "plan": "free", "status": "active", "email_verified": true } }

Errors

  • EMAIL_NOT_VERIFIED (403) — key creation before verification.
  • NO_SUBSCRIPTION (404) — billing/status without active subscription.
  • PAYMENT_NOT_CONFIGURED (503) — Sumopod not configured.
  • INVALID_SIGNATURE (401) — webhook verification failed.