API reference

GET /v1/status — health checks and monitoring

Check entitlement, plan and Claude connection state from your own monitoring with a single authenticated request. Response format and alerting tips.

Updated

/v1/status is the cheap call for dashboards, uptime checks and deploy gates: it verifies your key, reports the plan and tells you whether Claude is connected — without sending a prompt.

terminal
curl "https://api.subtoapi.app/v1/status" \
  -H "Authorization: Bearer $SUBTOAPI_KEY"
200 OK
{
  "status": "ok",
  "account": {
    "id": "team_...",
    "plan": "pro",
    "subscription_status": "active"
  },
  "provider": {
    "provider": "claude",
    "status": "connected",
    "authorizationStatus": "authorized",
    "lastVerifiedAt": 1770000000,
    "expiresAt": 1770028800,
    "refreshAvailable": true
  },
  "request_id": "req_..."
}

What to alert on

  • provider.status is anything but connected — requests will return 409 provider_not_connected.
  • account.subscription_status is past_due, unpaid or canceled — renew on the billing page before access pauses.
  • HTTP 401 — the key was revoked or rotated; update the environment.

All public endpoints

  • POST/v1/messagesSingle normalized message request.
  • POST/v1/conversationMulti-turn normalized conversation request.
  • POST/v1/conversation/streamSSE response stream using the same gateway.
  • GET/v1/modelsAvailable public model aliases.
  • GET/v1/statusAccount entitlement and Claude connection status.

Frequently asked questions

Does /v1/status count towards rate limits?
Yes, like every call — so poll it every minute or two, not every second.
Is there an unauthenticated health endpoint?
Not for customer data. Public endpoints always require a key; a failed key check answers 401 quickly, which is itself a useful signal.