Authorization code flow

Use this when the claims must come from an authenticated user at your identity provider instead of from your request body. LutraID acts as the authorization server; the holder signs in before the wallet may fetch the credential.

POST/issuers/{issuerId}/create-authorization-code-offer

Create an offer

Editions: SaaS · Self-hosted · Public

curl "$LUTRAID_API/v1/organizations/$ORG/issuers/$ISSUER/create-authorization-code-offer" \
  -H "X-API-Key: $LUTRAID_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "issuanceProfileId": "8f1b…", "credentialOfferMode": "auto" }'
{
  "credentialOffer": "openid-credential-offer://?credential_offer_uri=https%3A%2F%2F…"
}

No data — the claims are resolved at login time from the upstream provider configured on the issuance profile.

Which flow to pick

Pre-authorized codeAuthorization code
Claims come fromyour request bodythe holder's login
Holder proves identitytransaction code, out of bandat your IdP
Status endpointyesno

What LutraID handles

Pushed authorization requests, the authorize and callback endpoints, PKCE, and the exchange with the upstream OIDC provider all run inside LutraID. Your only call is the one above.

The endpoint is tagged as public integration API on the public edition but not in the SaaS OpenAPI document, even though it works on both — check /doc on your own deployment before relying on generated clients.

Was this page helpful?