OIDC (Sign in with Swop)
Discovery, JWKS, authorize, token, userinfo and logout for an issuer environment.
Preview: not generally available
Swivy runs in staging only. Paths and fields can change before general availability. There is no public base URL yet; preview partners get theirs with their credentials.
Standard OpenID Connect routes, one issuer per environment, keyed by that environment's appId.
11 endpoints, generated from Swivy's OpenAPI document (apps/api/src/openapi.ts).
Fetch the OIDC discovery document
Parameters
Responses: 200 OIDC discovery document · 404 Issuer environment not found
Fetch the issuer JWKS
Parameters
Responses: 200 OIDC JWKS · 404 Issuer environment not found
Request an email code for the hosted OIDC login flow
Parameters
Request body: Email login payload
Responses: 200 Email code issued for OIDC login · 404 Issuer environment not found · 502 Verification email delivery failed
Verify an email code and establish the hosted OIDC session
Parameters
Request body: Email verification payload
Responses: 200 Runtime session and hosted OIDC session · 401 Invalid email code · 404 Issuer environment not found
Request a wallet-login challenge for the hosted OIDC login flow
Used by the hosted Swivy login page to prove control of an external EVM or Solana wallet before continuing the OIDC authorize flow.
Parameters
Request body: Wallet login request payload
Responses: 200 Wallet login challenge · 404 Issuer environment not found
Verify a wallet-login signature and establish the hosted OIDC session
Parameters
Request body: Wallet login verification payload
Responses: 200 Runtime session and hosted OIDC session · 401 Invalid wallet signature · 404 Issuer environment not found
Approve or deny the hosted OIDC consent prompt
Used by the hosted Swivy authorize UI to record a consent decision and continue the authorization code flow.
Parameters
Request body: Hosted consent decision payload
Responses: 200 Consent decision redirect target · 400 Invalid consent request · 401 Login required · 404 Issuer environment not found
End the hosted OIDC session
Clears the hosted Swivy OIDC session cookie and revokes the matching runtime session when one is present. Supports a post-logout redirect to a registered client redirect URI.
Parameters
Responses: 200 Hosted logout result or confirmation page · 302 Redirect to the validated post-logout callback URL · 400 Invalid logout request · 404 Issuer environment not found
Run the OIDC authorization code flow
If a matching Swivy runtime session is not already present, this route can render the hosted email and wallet login page or return login_required. If login exists but consent is still required, it can render the hosted consent page or return consent_required.
Parameters
Responses: 200 Hosted OIDC login page · 302 Redirect to the client callback with an authorization code or error · 400 Invalid authorize request or client · 401 Login required · 403 Consent required · 404 Issuer environment not found
Exchange an authorization code for OIDC tokens
Supports authorization_code and refresh_token grants plus public PKCE clients, client_secret_post, and client_secret_basic authentication.
Parameters
Request body: OIDC token exchange payload
Responses: 200 OIDC token response · 400 Invalid grant or token request · 401 Invalid client · 404 Issuer environment not found
Fetch OIDC userinfo claims
Auth: Authorization: Bearer <access_token> (OIDC)
Parameters
Responses: 200 OIDC userinfo response · 401 Invalid or missing OIDC access token · 404 Issuer environment not found