Skip to main content
POST /v1/verifier/dc_sessions/{id}/verify API Key

Verify a DC API session

Verify a DC API session with the wallet’s encrypted response.

Call this after your frontend receives the response from navigator.credentials.get().
The response is decrypted and validated server-side. On success, returns the
verified claims and issuer information.

This endpoint is idempotent - if the session is already completed, it returns
the cached result.

Requires Secret Key authentication.

Parameters

Name Location Type Description
id * path string Session UUID
X-API-Key * header string Secret API key for authentication

* Required parameter

Request Body

application/json

Parameters for verifying a DC API session

response * string

The encrypted response from navigator.credentials.get()

Example: eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJraWQiOiIuLi4ifQ...

origin string

The origin where the credential was requested (for session transcript)

Example: https://example.com

Response

200 Cached result for completed session (idempotent)

Content-Type: application/json

Response from verifying a DC API session

success * boolean

Example: true

data * object
session_id * string (uuid)

Example: 09803c91-9161-472a-98da-97bc48c625cf

verified * boolean

Whether credential verification succeeded

Example: true

trusted * boolean

Whether the credential is from a trusted issuer

Example: true

claims * object

Verified claims from the credential

Example: {"given_name":"Jane","family_name":"Doe","age_over_21":true}

issuer object nullable
name string

Example: State DMV

did string

Example: did:web:dmv.state.gov

domain string nullable

Example: dmv.state.gov

domain_fully_verified boolean

Example: true

cached boolean

True if this is a cached result from a previously completed session (idempotent)

render_url string (uri) nullable

Signed URL to render the credential visually as SVG/PDF/HTML

Example: https://js.aho.com/v1/sessions/abc123/render?sig=xyz789

document_type string nullable

Document type identifier (e.g., org.iso.18013.5.1.mDL for Mobile Driver's License)

Example: org.iso.18013.5.1.mDL

Code Examples

import os
from aho_sdk import AhoSdk

client = AhoSdk.verifier(api_key=os.environ["AHO_API_KEY"])

result = client.dc_sessions.verify(
    id="example_id",
    body={
        "response": "eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJraWQiOiIuLi4ifQ...",
        "origin": "https://example.com"
    }
)

Try It

Log in to test this endpoint directly from the documentation.

Log in