Verify Presentation

Verify presentations on cheqd Studio.

A Verifiable Presentation is a collection of multiple Verifiable Credentials that are being presented by a holder to a verifier. In addition to checking whether the Credentials are untampered, Verifiable Presentation verification also checks that the holder subject DID is valid.

Step 1: Obtain Presentation to Verify

To verify a Credential, you can either pass the full VP-JWT string or a JSON object. These can be either obtained from a Verifiable Presentation presented to the user.

Step 2: Configure Verification Parameters

The user is able to set verification parameters to filter whether they want to verify certain aspects of a Presentation, including:

verifyStatus
  • true (indicates that the user wants to verify the Credential Statuses within the Presentatiuon, requiring a credentialStatus property to be present in at least one Credential within the Presentation)

  • false (Default. Indicates that the user does not want to verify the Credential Status.

fetchRemoteContexts

When dealing with JSON-LD type Verifiable Credentials you also MUST provide the proper contexts within a Credential body. Set this to true ONLY if you want the @context URLs to be fetched in case they are a custom context.

  • true

  • false (default)

Step 3: Execute the API

Use the API below to verify a Presentation

Verify a Verifiable Presentation generated from credential(s).

This endpoint verifies the Verifiable Presentation generated from credential(s). As input, it can take the Verifiable Presentation JWT as a string or the entire Verifiable Presentation itself.

POST/presentation/verify
Query parameters
Body
presentation*object

Verifiable Presentation to be verified as a VP-JWT string or a JSON object.

verifierDidstring

Provide an optional verifier DID (also known as 'domain' parameter), if the verifier DID in the presentation is not managed in the wallet.

makeFeePaymentboolean

Automatically make fee payment (if required) based on payment conditions to unlock encrypted StatusList2021 DID-Linked Resource.

policiesobject

Custom verification policies to execute when verifying presentation.

Response

The request was successful.

Body
verifiedboolean
issuerstring
signerobject
jwtstring
verifiableCredentialobject
Request
const response = await fetch('/presentation/verify', {
    method: 'POST',
    headers: {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    body: JSON.stringify({}),
});
const data = await response.json();
Response
{
  "verified": false,
  "issuer": "text",
  "jwt": "text"
}

Last updated