Verify a JSON credential
Roles
Analytics Events
/v2/credentials/web-semantic/verifyVerify a JSON credential by providing its payload. The credential is verified against the following criteria:
- Issuer DID can be resolved, so that the referenced DID Document is available and valid and the public key is obtainable.
- Proof is valid and the credential has not been tampered with.
- JSON-LD context is valid for subject claims.
Optional verification checks:
- If
assertExpiryis set totrueand the credential has a set expiration date, verification will fail if the expiration date has passed. - If
checkRevocationis set totrueand the provided credential contains a revocation status list, verification will fail if the credential has been set torevoked.
Analytic events
- CREDENTIAL_WEB_SEMANTIC_VERIFY_START
- CREDENTIAL_WEB_SEMANTIC_VERIFY_SUCCESS
- CREDENTIAL_WEB_SEMANTIC_VERIFY_FAIL
Authorization
bearerAuth In: header
Request Body
application/json
Replace with the contents of the credential object from the response obtained when creating a JSON credential. Make sure you only include the contents of the credential object and not the entire response.
When set to true, verification will fail when expiration date has passed. This field is deprecated in favour of assertValidUntil, and will be disabled from September 2024.
trueWhen set to true, verification will fail when the credential has been revoked.
trueWhen set to true, verification will fail when issuanceDate has not been reached.
trueWhen set to true, verification will fail when expirationDate has passed. When specified, this overrides the deprecated assertExpiry property.
falseResponse Body
application/json
application/json
curl -X POST "https://example.vii.au01.mattr.global/v2/credentials/web-semantic/verify" \ -H "Content-Type: application/json" \ -d '{ "payload": { "@context": [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ], "type": [ "VerifiableCredential", "AlumniCredential" ], "issuanceDate": "2020-05-02T12:06:29.156Z", "credentialSubject": { "givenName": "Jamie", "familyName": "Doe", "alumniOf": "Example University" }, "proof": {} } }'{
"verified": true,
"reason": {
"type": "string",
"message": "string"
}
}{
"code": "string",
"message": "string",
"details": [
{
"value": "string",
"msg": "Invalid value",
"param": "id",
"location": "body"
}
]
}How would you rate this page?
Verify a Semantic CWT credential POST
Verify a Semantic CWT credential by providing the encoded payload and specifying verification options. You can provide a valid Semantic CWT credential as either an encoded string or a QR code in a PDF document or an image file. Standard checks performed on all verification requests: - Conformance of the string and encoded data. All string representations of CWT credentials must be prefixed with `CSC/1`. - Decoded payload CWT structure and attributes can be validated. - Remote context schema can be resolved and validate claims can be dereferenced. - Issuer DID can be used to resolve its `did.json` document. - Public key from issuer's `did.json` document validates the proof signature, confirming the credential has not been tampered with. Optional parameter checks: - Credential was issued by a trusted issuer. - Current time is after the beginning of the credential validity period. - Current time is not after the end of the credential validity period. - Credential has not been revoked. ### **Analytic events** * CREDENTIAL_COMPACT_SEMANTIC_VERIFY_START * CREDENTIAL_COMPACT_SEMANTIC_VERIFY_SUCCESS * CREDENTIAL_COMPACT_SEMANTIC_VERIFY_FAIL
Create a presentation template POST
Creates a presentation template defining what type of credential is required for a particular verification workflow. Presentation templates are used to create presentation requests that are shared with a specific holder. ### **Analytic events** * PRESENTATION_WEB_SEMANTIC_TEMPLATE_CREATE_START * PRESENTATION_WEB_SEMANTIC_TEMPLATE_CREATE_SUCCESS * PRESENTATION_WEB_SEMANTIC_TEMPLATE_CREATE_FAIL