Skip to content

Verify W3C VC 1.1 Verifiable Presentation

This guide demonstrates how to verify a W3C Verifiable Presentation (VP) 1.1 using the Verifier service API. Use your own presentation, or the sample below, to test verification.

Before you start, complete the setup guide to set up your environment.


Below is a sample W3C VC 1.1 Verifiable Presentation that you’ll use for verification.

W3C VC 1.1 Presentation Sample
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://w3id.org/security/data-integrity/v2"
],
"type": [
"VerifiablePresentation"
],
"verifiableCredential": [
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
{
"AlumniCredential": "https://schema.org#AlumniCredential",
"alumniOf": "https://schema.org#alumniOf"
},
"https://w3id.org/security/data-integrity/v2"
],
"id": "http://example.edu/credentials/1872",
"type": [
"VerifiableCredential",
"AlumniCredential"
],
"issuer": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"issuanceDate": "2010-01-01T19:23:24Z",
"credentialSubject": {
"id": "https://example.edu/students/alice",
"alumniOf": "Example University"
},
"proof": {
"type": "DataIntegrityProof",
"created": "2023-03-01T21:29:24Z",
"verificationMethod": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9#zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"cryptosuite": "ecdsa-rdfc-2019",
"proofPurpose": "assertionMethod",
"proofValue": "zNqtAbEWenMxFDB8omdCSzY5S1GGNAQjWibDycCnJMkHeLF5apDje6QxSgqsjn5AMqDRkX7dsh9BnVpbAnnkzTX1"
}
}
],
"id": "id:test",
"proof": {
"type": "DataIntegrityProof",
"created": "2023-03-01T21:29:24Z",
"verificationMethod": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9#zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"cryptosuite": "ecdsa-rdfc-2019",
"proofPurpose": "assertionMethod",
"proofValue": "zkhFb45dDtvpxfu21fyAMxi4tqRnNKDSouckj24JG9AAKKa2wpoq9RUvACP6kmJmZUrjrP4GVvRLyFJQNhRDCgfS"
}
}

Run the following command to verify your presentation:

Verify a W3C VC 1.1 Verifiable Presentation
curl \
--request POST -i "$VIDOS_VERIFIER_ENDPOINT/vidos/verifier/draft/verify" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $VIDOS_API_KEY" \
--data '{
"credential": {
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://w3id.org/security/data-integrity/v2"
],
"type": [
"VerifiablePresentation"
],
"verifiableCredential": [
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
{
"AlumniCredential": "https://schema.org#AlumniCredential",
"alumniOf": "https://schema.org#alumniOf"
},
"https://w3id.org/security/data-integrity/v2"
],
"id": "http://example.edu/credentials/1872",
"type": [
"VerifiableCredential",
"AlumniCredential"
],
"issuer": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"issuanceDate": "2010-01-01T19:23:24Z",
"credentialSubject": {
"id": "https://example.edu/students/alice",
"alumniOf": "Example University"
},
"proof": {
"type": "DataIntegrityProof",
"created": "2023-03-01T21:29:24Z",
"verificationMethod": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9#zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"cryptosuite": "ecdsa-rdfc-2019",
"proofPurpose": "assertionMethod",
"proofValue": "zNqtAbEWenMxFDB8omdCSzY5S1GGNAQjWibDycCnJMkHeLF5apDje6QxSgqsjn5AMqDRkX7dsh9BnVpbAnnkzTX1"
}
}
],
"id": "id:test",
"proof": {
"type": "DataIntegrityProof",
"created": "2023-03-01T21:29:24Z",
"verificationMethod": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9#zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"cryptosuite": "ecdsa-rdfc-2019",
"proofPurpose": "assertionMethod",
"proofValue": "zkhFb45dDtvpxfu21fyAMxi4tqRnNKDSouckj24JG9AAKKa2wpoq9RUvACP6kmJmZUrjrP4GVvRLyFJQNhRDCgfS"
}
}
}'

HTTP status 200 indicates the credential was successfully verified. Failed verifications also return non HTTP 200 with detailed results.

Sample HTTP Response Headers
HTTP/2 200
date: Wed, 19 Nov 2025 16:09:47 GMT
content-type: application/json; charset=utf-8
x-vidos-request-id: req_f2b97b0a-ac62-444c-abac-dab7345fdec1
...
{
"results": [
{
"data": {
"version": "w3c:vc-data-model:v1.1",
"credentialType": "vc",
"format": "w3:vc-data-model:json-ld"
},
"path": ["verifiableCredential", 0],
"policy": "format",
"service": "verifier",
"status": "success"
},
{
"data": {
"version": "w3c:vc-data-model:v1.1",
"credentialType": "vp",
"format": "w3:vc-data-model:json-ld"
},
"path": [],
"policy": "format",
"service": "verifier",
"status": "success"
},
{
"data": {
"target": "2025-10-23T15:16:03.628Z",
"status": "indeterminate"
},
"path": ["verifiableCredential", 0],
"policy": "notAfter",
"service": "verifier",
"status": "success"
},
{
"service": "verifier",
"policy": "notBefore",
"path": ["verifiableCredential", 0],
"status": "success",
"data": {
"reference": "2010-01-01T19:23:24.000Z",
"target": "2025-10-23T15:16:03.628Z",
"status": "success"
}
},
{
"data": {
"type": "w3c",
"verificationMethods": [
{
"id": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9#zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"type": "JsonWebKey2020",
"controller": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"publicKeyJwk": {
"crv": "P-256",
"kty": "EC",
"x": "JsDXbCAWoV7dhtu8HT9WxXdmXBd_t082s_N_uWYNN54",
"y": "DBXabPuCx6xG4VcVfBtKkRZL3iC4FYHXaA9eLdZ9dXE"
}
}
]
},
"path": ["verifiableCredential", 0],
"policy": "proof",
"service": "verifier",
"status": "success"
},
{
"data": {
"target": "2025-10-23T15:16:03.628Z",
"status": "indeterminate"
},
"service": "verifier",
"status": "success",
"policy": "notAfter",
"path": []
},
{
"data": {
"target": "2025-10-23T15:16:03.628Z",
"status": "indeterminate"
},
"path": [],
"policy": "notBefore",
"service": "verifier",
"status": "success"
},
{
"data": {
"type": "w3c",
"verificationMethods": [
{
"id": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9#zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"type": "JsonWebKey2020",
"controller": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9",
"publicKeyJwk": {
"crv": "P-256",
"kty": "EC",
"x": "JsDXbCAWoV7dhtu8HT9WxXdmXBd_t082s_N_uWYNN54",
"y": "DBXabPuCx6xG4VcVfBtKkRZL3iC4FYHXaA9eLdZ9dXE"
}
}
]
},
"path": [],
"policy": "proof",
"service": "verifier",
"status": "success"
}
]
}