- Get credential offer.
Returns the current status of a credential offer created via POST /b2b/v1/credential-offers. Poll this endpoint until the status is no longer `pending`.
- Mock serverhttps://docs.deepcredentials.swiss/_mock/docs/openapi/credential-offers-v1/b2b/v1/credential-offers/{offerId}
- Developmenthttps://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/{offerId}
- Integrationhttps://api.int.deepcredentials.swiss/b2b/v1/credential-offers/{offerId}
curl -i -X GET \
'https://docs.deepcredentials.swiss/_mock/docs/openapi/credential-offers-v1/b2b/v1/credential-offers/{offerId}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'X-Environment: beta' \
-H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'Success response
Credential lifetime to apply at issuance (SD-JWT exp = iat + N). Absent means the credential will be issued without an exp claim.
Offer id (matches the value returned at creation time). UUID v4 identifier.
InvitationID / SelfServiceRequestID expose the upstream lineage anchors when this offer was created from one. nil for plain portal or B2B offers.
Only when status is issued: ID of the issued credential. UUID v4 identifier.
UUID v4 identifier.
Source records where this offer originated: "portal" (admin UI), "b2b" (API caller), "invitation" (redeemed email invitation), or "self_service" (admin approval of a public request). Stable at row level — captured at create and never mutated.
{ "id": "d4e5f6a7-b8c9-0123-4567-89abcdef0123", "environment": "beta", "credential_definition": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "vct": "person-id-vct", "name": "Person ID" }, "status": "issued", "claims": { "given_name": "Max", "family_name": "Mustermann", "date_of_birth": "1990-01-15", "is_over_18": true }, "reference_id": "order-12345", "issued_credential_id": "f1e2d3c4-b5a6-7890-1234-567890abcdef", "expires_at": "2026-03-29T12:10:00Z", "created_at": "2026-03-29T12:00:00Z", "completed_at": "2026-03-29T12:01:30Z" }