Exchange an IdP idToken for a karmoJWT (no cookies, no persistent state)
Public endpoint. Verifies the supplied IdP idToken (SuperTokens session JWT today; vendor-neutral by iss), resolves the caller’s roles and permissions, and mints a 900s-TTL karmoJWT with aud: ['bff-vouch'] returned in the response body. The FE attaches the returned accessToken as Authorization: Bearer ... on subsequent BFF calls. Until NITRO-1040 (verify) and NITRO-1071 (resolve) land, this endpoint surfaces 503 on every call by design — the placeholder providers fail loudly rather than mint synthetic karmoJWTs.
Request Body required
Section titled “Request Body required ”object
IdP-issued idToken (SuperTokens session JWT today; the iss claim selects the verification strategy).
Responses
Section titled “ Responses ”object
object
User identifier — equal to the IdP sub (also the karmoJWT sub).
Tenant identifier. Hard-coded to karmo during the interim period before NITRO-1039’s real tenant resolver lands.
User email, if returned by the IdP.
Karmo-side roles for the caller (resolved against vouch).
Karmo-side permissions for the caller (resolved against vouch).
ISO-8601 instant — the access token’s exp rendered as UTC.
RS256-signed karmoJWT, aud=['bff-vouch'], 900s TTL.
Access token TTL in seconds (900 by default; honours ACCESS_TOKEN_TTL_SECONDS env override).
BAD_REQUEST
object
Karmo 8-digit error code.
Domain-level metadata emitted by the service.
object
object
Human-readable detail for the specific field error.
JSON pointer to the offending value.
/emailUNAUTHORIZED
object
Karmo 8-digit error code.
Domain-level metadata emitted by the service.
object
object
Human-readable detail for the specific field error.
JSON pointer to the offending value.
/emailFORBIDDEN
object
Karmo 8-digit error code.
Domain-level metadata emitted by the service.
object
object
Human-readable detail for the specific field error.
JSON pointer to the offending value.
/emailNOT_FOUND
object
Karmo 8-digit error code.
Domain-level metadata emitted by the service.
object
object
Human-readable detail for the specific field error.
JSON pointer to the offending value.
/emailCONFLICT
object
Karmo 8-digit error code.
Domain-level metadata emitted by the service.
object
object
Human-readable detail for the specific field error.
JSON pointer to the offending value.
/emailUNPROCESSABLE_ENTITY
object
Karmo 8-digit error code.
Domain-level metadata emitted by the service.
object
object
Human-readable detail for the specific field error.
JSON pointer to the offending value.
/emailINTERNAL_SERVER_ERROR
object
Karmo 8-digit error code.
Domain-level metadata emitted by the service.
object
object
Human-readable detail for the specific field error.
JSON pointer to the offending value.
/email