API Reference
SSO API Reference
Reference surface for OAuth, hosted auth, public sessions, and permission-management contracts.
API Version
5.29.0
Overview
The SSO API combines OAuth 2.0 / OpenID Connect endpoints, public-user authentication, session-validation endpoints, and permission-management APIs.
Current contract
OAuth token issuance happens through /api/oauth/*. Public login endpoints set a cookie-backed session and do not replace the OAuth token flow.
API Areas
OAuth / OIDC
GET /api/oauth/authorize- start authorization-code flowPOST /api/oauth/token- exchange code or refresh tokenGET /api/oauth/userinfo- get user claims from access tokenPOST /api/oauth/revoke- revoke tokenGET /api/oauth/logout- logout from the hosted SSO sessionGET /.well-known/openid-configuration- OIDC discovery documentGET /.well-known/jwks.json- JWKS for token verification
Public Authentication
POST /api/public/register- create account or add password to a social-only accountPOST /api/public/login- password login, setspublic-sessionPOST /api/public/request-magic-link- request email magic linkGET /api/public/magic-login- consume magic-link tokenPOST /api/public/verify-pin- complete a PIN-gated loginGET /api/public/session- validate public session cookie
Social Login
GET /api/auth/google/loginGET /api/auth/google/callbackGET /api/auth/facebook/loginGET /api/auth/facebook/callback
Permission APIs
GET /api/users/[userId]/apps/[clientId]/permissions- read a permission recordPUT /api/users/[userId]/apps/[clientId]/permissions- app-managed permission updateDELETE /api/users/[userId]/apps/[clientId]/permissions- app-managed revokePOST /api/users/[userId]/apps/[clientId]/request-access- create pending access requestPUT /api/admin/users/[userId]/apps/[clientId]/permissions- admin-managed permission updateDELETE /api/admin/users/[userId]/apps/[clientId]/permissions- admin-managed revoke
Important Behavior
- Canonical permission roles are
none,user, andadmin. - Canonical permission statuses are
pending,approved, andrevoked. - Public session validation is cookie-based.
- OAuth-protected permission writes require a client token with
manage_permissions. - Access-request creation requires a user-bound token whose subject and client both match the request target.