POST /api/v1/authentication_response
Submits the verifiable presentation as form-encoded data. This is the primary endpoint for receiving authentication responses in OIDC4VP flows.Request
The session identifier that was provided in the original authentication request. This correlates the response with the authentication session.Example:
274e7465-cc9d-4cad-b75f-190db927e56aThe ID of the client/service that initiated the authentication flow.Example:
packet-delivery-portalThe verifiable presentation token containing one or more verifiable credentials. Must be Base64-URL encoded (not standard Base64).The VP token can be in one of two formats:
- JSON-LD VP: A JSON-LD formatted Verifiable Presentation
- SD-JWT VC: A Selective Disclosure JWT Verifiable Credential
A Base64-URL encoded PresentationSubmission object as specified by the DIF Presentation Exchange specification.The presentation submission describes how the submitted credentials fulfill the requested presentation definition.
Important: Both
vp_token and presentation_submission must use Base64-URL-Safe encoding, not standard Base64 encoding.Response
HTTP status code indicating the result.
204- Authentication successful, credential stored for the session302- Same-device flow redirect with authorization code400- Invalid request (missing parameters, invalid token format)
Example Request
VP Token Structure
Thevp_token contains a Verifiable Presentation with embedded credentials:
Presentation Submission Schema
Unique identifier for the presentation submission.
Must be the ID of the PresentationDefinition that was requested.Example:
32f54163-7166-48f1-93d8-ff217bdb0653Array of descriptor objects mapping submitted credentials to requested input descriptors.
Matches the
id property of the Input Descriptor in the Presentation Definition.Example: id_credentialThe Claim Format Designation denoting the data format.Supported formats:
ldp_vc, jwt_vc, sd+jwt-vcJSONPath expression indicating the location of the submitted credential.Example:
$Nested descriptor for complex credential structures.
GET /api/v1/authentication_response
Alternative method for submitting authentication responses via query parameters. Used in certain flow variations where POST is not feasible.Request
The session identifier provided in the original authentication request.Example:
274e7465-cc9d-4cad-b75f-190db927e56aBase64-URL encoded Verifiable Presentation containing the credentials.
Base64-URL encoded PresentationSubmission as specified by DIF Presentation Exchange.
Response
Status Codes:204- Authentication successful400- Invalid request parameters
Example Request
Verification Process
When a credential is submitted, the VCVerifier performs the following verification steps:-
Cryptographic Verification
- Validates the proof signature on the Verifiable Presentation
- Verifies the credential signatures using configured verification policies
-
Issuer Trust Verification
- Checks that the issuer is registered in the configured Trusted Participants Registry
- Validates that the issuer is authorized to issue credentials of the given type
- Verifies against Trusted Issuers Lists (TIL)
-
Holder Verification (if enabled)
- Validates that the holder of the credential matches the expected subject
- Configurable via
holderVerificationsettings
-
Content Validation
- Validates the credential structure based on configured validation mode
- Options:
none,combined,jsonLd,baseContext
Error Responses
Brief description of the error.
Detailed explanation of what went wrong.
Common Errors
Missing State
Invalid Token
Verification Error
Related Endpoints
- Token Endpoint - Exchange authorization code for JWT
- Request by Reference - Retrieve request objects
- Authorization Endpoint - Start the authentication flow