light-mode-image
Learn
API ReferenceJSON

Verify a JSON credential

Roles

adminverifier

Analytics Events

CREDENTIAL_WEB_SEMANTIC_VERIFY_STARTCREDENTIAL_WEB_SEMANTIC_VERIFY_SUCCESSCREDENTIAL_WEB_SEMANTIC_VERIFY_FAIL
POST/v2/credentials/web-semantic/verify

Verify 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 assertExpiry is set to true and the credential has a set expiration date, verification will fail if the expiration date has passed.
  • If checkRevocation is set to true and the provided credential contains a revocation status list, verification will fail if the credential has been set to revoked.

Analytic events

  • CREDENTIAL_WEB_SEMANTIC_VERIFY_START
  • CREDENTIAL_WEB_SEMANTIC_VERIFY_SUCCESS
  • CREDENTIAL_WEB_SEMANTIC_VERIFY_FAIL

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

payload*

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.

assertExpiry?booleanDeprecated

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.

Defaulttrue
checkRevocation?boolean

When set to true, verification will fail when the credential has been revoked.

Defaulttrue
assertValidFrom?boolean

When set to true, verification will fail when issuanceDate has not been reached.

Defaulttrue
assertValidUntil?boolean

When set to true, verification will fail when expirationDate has passed. When specified, this overrides the deprecated assertExpiry property.

Defaultfalse

Response 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