Overview
After presenting the request to the user, poll this endpoint to check the status of the presentation and retrieve the verified credential data once the user responds.Endpoint
Request
{presentation_id} with the id returned in Step 2.
Response
HTTP 200 OKStatus Values
| Status | Description |
|---|---|
requested | Waiting for the user to respond |
verified | User has successfully presented their credential |
rejected | User declined the request |
expired | Request expired before the user responded |
Credential Validation Fields
| Field | Description |
|---|---|
isValid | true if the credential has been cryptographically verified and hasn’t been tampered with |
attributes | The verified data the user chose to share |
issues | Array of any validation issues found (empty if credential is valid) |
Polling Strategy
The presentation status won’t change instantly — the user needs time to respond. Poll this endpoint periodically (e.g. every 2–3 seconds) until the status changes fromrequested.
Consider using Webhooks instead of polling — they’ll notify your application automatically when the user responds.
Checking Validity
Always check bothstatus === "verified" and credentials[].isValid === true before trusting the presented data. The isValid field confirms that:
- The credential hasn’t been tampered with
- The issuer’s decentralized identifier (DID) is legitimate
- The credential is cryptographically authentic
The verification workflow is complete! Use the
attributes from the response to process the verified user data in your application.
