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).

post

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.

Authorizations
Query parameters
verifyStatusboolean ¡ default: falseoptional

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

fetchRemoteContextsboolean ¡ default: falseoptional

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 ¡ default: falseoptional

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.

verifierDidstringoptional

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

makeFeePaymentboolean ¡ default: falseoptional

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

policiesobjectoptional

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=[object Object]&verifierDid=text&makeFeePayment=true&policies=[object Object]'
{
  "verified": true,
  "issuer": "text",
  "signer": {},
  "jwt": "text",
  "verifiableCredential": {}
}

Last updated

Was this helpful?