Verify an SD-JWT verifiable credential
POST/api/v1/vc/sdjwt/verify
Verifies the authenticity and validity of a Selective Disclosure JWT (SD-JWT) verifiable credential.
Request
- application/json
Body
required
The credential to verify. For SD-JWT-VC format, this should be a compact JWT string with disclosures and optional key binding JWT separated by tilde (~) characters
Possible values: [jwt_vc, vc+sd-jwt]
List of acceptable credential formats. If omitted, format is automatically inferred. Useful for strict validation of credential format
List of trusted issuer DIDs. If specified, the credential issuer must be one of these DIDs. If empty, all issuers are accepted
List of claim names that must be disclosed in the credential. Used for SD-JWT credentials to ensure specific claims are present. Verification will fail if any required claim is missing or undisclosed
The expected subject DID. If provided, the credential subject must match this value. Used to prevent credential substitution attacks
If true, skips verification of the credential status (e.g., revocation status). Use only when status verification is not applicable
Responses
- 200
The credential verification result.
- application/json
- Schema
- Example (from schema)
Schema
Indicates whether the credential verification succeeded
List of error messages encountered during verification. Empty if success is true
Array of error codes corresponding to the errors. Only populated if errors occurred
The parsed credential structure. Only populated if credential parsing succeeded, even if other verification checks failed
The disclosed claims from the credential. Only populated if the credential was successfully parsed and claims were extracted
{
"success": true,
"errors": [
"Signature verification failed",
"Issuer is not trusted"
],
"errorCodes": [
"SIGNATURE_VERIFICATION_FAILED",
"UNTRUSTED_ISSUER"
],
"parsedCredential": {
"iss": "did:web:issuer.example.com",
"sub": "did:key:z6MkhaXgBZDvotDkL5257faWxcqDy2Kwp5l0EQ3SL7AEm57D",
"vc": {
"@context": [
"https://www.w3.org/2018/credentials/v1"
],
"type": [
"VerifiableCredential"
],
"credentialSubject": {
"name": "John Doe",
"email": "john@example.com"
}
}
},
"claims": {
"name": "John Doe",
"email": "john@example.com",
"address": {
"street": "123 Main St",
"city": "Springfield"
}
}
}