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

Authorizations
Query parameters
verifyStatusboolean

If set to true the verification will also check the status of the presentation. Requires the VP to have a credentialStatus property.

fetchRemoteContextsboolean

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

allowDeactivatedDidboolean

If set to true allow to verify credential which based on deactivated DID.

Body
presentationobjectrequired

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.

Responses
curl -L \
  --request POST \
  --url '/presentation/verify' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data '{"presentation":{},"makeFeePayment":false,"policies":{"issuanceDate":true,"expirationDate":true,"audience":false}}'
{
  "verified": true,
  "issuer": "text",
  "signer": {},
  "jwt": "text",
  "verifiableCredential": {}
}

Last updated

Was this helpful?