The Universal Verifier enables the verification of different types of Verifiable Credentials (VCs), using a common interface.
The Universal Verifier can verify Verifiable Credentials in various formats (JSON-LD, VC-JWT, SD-JWT), as well as return metadata.
See https://api.godiddy.com/#tag/Universal-Verifier
When verifying a VC, the input is a Verifiable Credential or a Verifiable Presentation plus options, and the output is the result of the verification process.
The following request will verify a Verifiable Credential and return the result of the verification process.
Supported options:
returnMetadata: Whether or not to return metadata in the response.
true
, false
false
checks.credentialStatus: Whether or not to verify the credential status.
true
, false
false
credentialFormatOptions.documentLoaderEnableHttps: Whether or not to load JSON-LD contexts remotely via HTTPS.
true
, false
true
credentialFormatOptions.documentLoaderEnableHttp: Whether or not to load JSON-LD contexts remotely via HTTP.
true
, false
false
credentialFormatOptions.documentLoaderEnableFile: Whether or not to load JSON-LD contexts remotely via local files.
true
, false
false
proofFormatOptions.overrideCanonicalization: Override the canonicalization algorithm to be used.
urdna2015
, jcs
curl -H "Authorization: Bearer b082c420-df67-4b06-899c-b7c51d75fba0" \
-X POST "https://api.godiddy.com/1.0.0/universal-verifier/credentials/verify" \
-H "Content-Type: application/json" \
-d '{
"verifiableCredential": {
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://essif.europa.eu/schemas/vc/2020/v1",
"https://w3id.org/security/suites/ed25519-2020/v1"
],
"type": [
"VerifiableCredential",
"VerifiableAttestation",
"DiplomaCredential"
],
"issuer": "did:key:z6MkrBLbiyN7pDuoK6esPDQas7FYeueVVAKz8ZtMaMcFpDE2",
"credentialSubject": {
"type": "Student",
"id": "did:key:z6MkqyYXcBQZ5hZ9BFHBiVnmrZ1C1HCpesgZQoTdgjLdU6Ah",
"studyProgram": "Master Studies in Computer Science",
"learningAchievement": "Master of Science",
"dateOfAchievement": "2021-03-18T00:00:00.000Z",
"eqfLevel": "http://data.europa.eu/snb/eqf/7",
"targetFrameworkName": "European Qualifications Framework for lifelong learning - (2008/C 111/01)"
},
"issuanceDate": "2023-07-29T20:18:05Z",
"proof": {
"type": "Ed25519Signature2020",
"created": "2023-07-29T20:18:05Z",
"proofPurpose": "assertionMethod",
"verificationMethod": "did:key:z6MkrBLbiyN7pDuoK6esPDQas7FYeueVVAKz8ZtMaMcFpDE2#z6MkrBLbiyN7pDuoK6esPDQas7FYeueVVAKz8ZtMaMcFpDE2",
"proofValue": "z4Ka1ScNSgG6ZaBR1i6KyV31DyeBTueZY3KXPTtfsijnSBXZt4D9YgbJcqW1HjmprBpPLeFabbAJ5s4BAzsP1c2WU"
}
},
"options": {
"returnMetadata": true,
"credentialFormatOptions": {
"documentLoaderEnableHttps": true
}
}
}'
The following request will verify a Verifiable Presentation and return the result of the verification process.
Supported options: (same as in Example 1)
curl -H "Authorization: Bearer b082c420-df67-4b06-899c-b7c51d75fba0" \
-X POST "https://api.godiddy.com/1.0.0/universal-verifier/presentations/verify" \
-H "Content-Type: application/json" \
-d '{
"verifiablePresentation": {
"@context": [
"https://www.w3.org/2018/credentials/v1"
],
"type": [
"VerifiablePresentation"
],
"holder": "did:key:z6Mkfj5NtmWA95ynd8mbABFJvwL7ufoXAKvQAGfLp5QoUV6L",
"verifiableCredential": [
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
"id": "http://example.gov/credentials/3732#07aa969e-b40d-4c1b-ab46-ded252003ded",
"type": [
"VerifiableCredential",
"UniversityDegreeCredential"
],
"issuer": {
"id": "did:v1:test:nym:z6Mkf2oXtnamowoTSFGda1bgmW3PSLDcHRj4W3eTU1Q3czuL"
},
"issuanceDate": "2020-03-10T04:24:12.164Z",
"credentialSubject": {
"id": "did:key:z6Mkg9AkjefxdJFSphkStzXwHQnbweN43mCqA37aANGRxF1o",
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science and Arts"
}
},
"proof": {
"type": "Ed25519Signature2018",
"created": "2020-04-30T04:11:13Z",
"jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..bHLaH6NgkenDUczoF9G2-O495RyzJUrcVxk64BziKsgi-0R5n4hT6xVqsexe609QBMGgHTSvvtdqeMg98sxMDw",
"proofPurpose": "assertionMethod",
"verificationMethod": "did:v1:test:nym:z6Mkf2oXtnamowoTSFGda1bgmW3PSLDcHRj4W3eTU1Q3czuL#z6Mkf2oXtnamowoTSFGda1bgmW3PSLDcHRj4W3eTU1Q3czuL"
}
}
],
"proof": {
"type": "Ed25519Signature2018",
"created": "2020-04-30T04:26:51Z",
"challenge": "20ed2940-bcb0-4d2c-a747-d0a5bf0a4456",
"domain": "issuer.example.com",
"jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..GpJJsYz2AIiZZG6fiVf01lNTdGG3eBUutkIHjSu12uwjHr2yNXWUBDKMX38oE6vQYNIcxCZ62DhTzYFjgrgQBA",
"proofPurpose": "authentication",
"verificationMethod": "did:key:z6Mkfj5NtmWA95ynd8mbABFJvwL7ufoXAKvQAGfLp5QoUV6L#z6Mkfj5NtmWA95ynd8mbABFJvwL7ufoXAKvQAGfLp5QoUV6L"
}
},
"options": {
"returnMetadata": true,
"credentialFormatOptions": {
"documentLoaderEnableHttps": true
}
}
}'
The following request will verify a JWT Verifiable Presentation and return the result of the verification process.
Supported options: (same as in Example 1)
curl -H "Authorization: Bearer b082c420-df67-4b06-899c-b7c51d75fba0" \
-X POST "https://api.godiddy.com/1.0.0/universal-verifier/presentations/verify" \
-H "Content-Type: application/json" \
-d '{
"verifiablePresentation": {
"vp": "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejZNa2ZrNmdnUzl0aHhnWnV1ZnkzTUVCcWpMSkRUWW1kektSWXZGSlVOazh4WFJ1I3o2TWtmazZnZ1M5dGh4Z1p1dWZ5M01FQnFqTEpEVFltZHpLUll2RkpVTms4eFhSdSJ9.eyJpYXQiOjE2OTUwMzc2NzgsImV4cCI6MTY5NTAzODU3OCwic3ViIjoiZGlkOmtleTp6Nk1rZms2Z2dTOXRoeGdadXVmeTNNRUJxakxKRFRZbWR6S1JZdkZKVU5rOHhYUnUiLCJqdGkiOiJ1cm46ZGlkOjMwM2I1NjNmLWI5ZDUtNGQ3MS04MDczLWQ3YzlhYjMwYTY2NyIsImF1ZCI6ImRpZDp3ZWI6bGF1bmNocGFkLnZpaS5lbGVjdHJvbi5tYXR0cmxhYnMuaW8iLCJuYmYiOjE2OTUwMzc2NzgsInZwIjp7ImlkIjoidXJuOmRpZDozMDNiNTYzZi1iOWQ1LTRkNzEtODA3My1kN2M5YWIzMGE2NjciLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaG9sZGVyIjoiZGlkOmtleTp6Nk1rZms2Z2dTOXRoeGdadXVmeTNNRUJxakxKRFRZbWR6S1JZdkZKVU5rOHhYUnUiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3sidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIk9wZW5CYWRnZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjp7ImlkIjoiZGlkOndlYjpsYXVuY2hwYWQudmlpLmVsZWN0cm9uLm1hdHRybGFicy5pbyIsIm5hbWUiOiJFeGFtcGxlIFVuaXZlcnNpdHkiLCJpY29uVXJsIjoiaHR0cHM6Ly93M2MtY2NnLmdpdGh1Yi5pby92Yy1lZC9wbHVnZmVzdC0xLTIwMjIvaW1hZ2VzL0pGRl9Mb2dvTG9ja3VwLnBuZyIsImltYWdlIjoiaHR0cHM6Ly93M2MtY2NnLmdpdGh1Yi5pby92Yy1lZC9wbHVnZmVzdC0xLTIwMjIvaW1hZ2VzL0pGRl9Mb2dvTG9ja3VwLnBuZyJ9LCJuYW1lIjoiRXhhbXBsZSBVbml2ZXJzaXR5IERlZ3JlZSIsImRlc2NyaXB0aW9uIjoiSkZGIFBsdWdmZXN0IDMgT3BlbkJhZGdlIENyZWRlbnRpYWwiLCJjcmVkZW50aWFsQnJhbmRpbmciOnsiYmFja2dyb3VuZENvbG9yIjoiIzQ2NGM0OSJ9LCJpc3N1YW5jZURhdGUiOiIyMDIzLTA5LTE4VDExOjA5OjQxLjE4M1oiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejZNa2ZrNmdnUzl0aHhnWnV1ZnkzTUVCcWpMSkRUWW1kektSWXZGSlVOazh4WFJ1IiwidHlwZSI6WyJBY2hpZXZlbWVudFN1YmplY3QiXSwiYWNoaWV2ZW1lbnQiOnsiaWQiOiJodHRwczovL2V4YW1wbGUuY29tL2FjaGlldmVtZW50cy8yMXN0LWNlbnR1cnktc2tpbGxzL3RlYW13b3JrIiwibmFtZSI6IlRlYW13b3JrIiwidHlwZSI6WyJBY2hpZXZlbWVudCJdLCJpbWFnZSI6eyJpZCI6Imh0dHBzOi8vdzNjLWNjZy5naXRodWIuaW8vdmMtZWQvcGx1Z2Zlc3QtMy0yMDIzL2ltYWdlcy9KRkYtVkMtRURVLVBMVUdGRVNUMy1iYWRnZS1pbWFnZS5wbmciLCJ0eXBlIjoiSW1hZ2UifSwiY3JpdGVyaWEiOnsibmFycmF0aXZlIjoiVGVhbSBtZW1iZXJzIGFyZSBub21pbmF0ZWQgZm9yIHRoaXMgYmFkZ2UgYnkgdGhlaXIgcGVlcnMgYW5kIHJlY29nbml6ZWQgdXBvbiByZXZpZXcgYnkgRXhhbXBsZSBDb3JwIG1hbmFnZW1lbnQuIn0sImRlc2NyaXB0aW9uIjoiVGhpcyBiYWRnZSByZWNvZ25pemVzIHRoZSBkZXZlbG9wbWVudCBvZiB0aGUgY2FwYWNpdHkgdG8gY29sbGFib3JhdGUgd2l0aGluIGEgZ3JvdXAgZW52aXJvbm1lbnQuIn19LCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vbWF0dHIuZ2xvYmFsL2NvbnRleHRzL3ZjLWV4dGVuc2lvbnMvdjIiLCJodHRwczovL3B1cmwuaW1zZ2xvYmFsLm9yZy9zcGVjL29iL3YzcDAvY29udGV4dC0zLjAuMi5qc29uIiwiaHR0cHM6Ly9wdXJsLmltc2dsb2JhbC5vcmcvc3BlYy9vYi92M3AwL2V4dGVuc2lvbnMuanNvbiIsImh0dHBzOi8vdzNpZC5vcmcvdmMtcmV2b2NhdGlvbi1saXN0LTIwMjAvdjEiXSwiY3JlZGVudGlhbFN0YXR1cyI6eyJpZCI6Imh0dHBzOi8vbGF1bmNocGFkLnZpaS5lbGVjdHJvbi5tYXR0cmxhYnMuaW8vY29yZS92MS9yZXZvY2F0aW9uLWxpc3RzL2JiMjcyMDQ5LTRjNGQtNGU3YS05NWJkLTlkOTk5MDE5ZGRmOCMzOCIsInR5cGUiOiJSZXZvY2F0aW9uTGlzdDIwMjBTdGF0dXMiLCJyZXZvY2F0aW9uTGlzdEluZGV4IjoiMzgiLCJyZXZvY2F0aW9uTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2xhdW5jaHBhZC52aWkuZWxlY3Ryb24ubWF0dHJsYWJzLmlvL2NvcmUvdjEvcmV2b2NhdGlvbi1saXN0cy9iYjI3MjA0OS00YzRkLTRlN2EtOTViZC05ZDk5OTAxOWRkZjgifSwicHJvb2YiOnsidHlwZSI6IkVkMjU1MTlTaWduYXR1cmUyMDE4IiwiY3JlYXRlZCI6IjIwMjMtMDktMThUMTE6MDk6NDNaIiwiandzIjoiZXlKaGJHY2lPaUpGWkVSVFFTSXNJbUkyTkNJNlptRnNjMlVzSW1OeWFYUWlPbHNpWWpZMElsMTkuLjNmSXVqbGxXMHZvSFFxRDhfVC1IU0tTQjU4MFBRWHpDVTdsdVU4VzJVd1Vtb2Jxc1ZCaTVXbUlRMHV6WGtCQlZlYk5oWGljVC1oTExNSEVjM0FId0NnIiwicHJvb2ZQdXJwb3NlIjoiYXNzZXJ0aW9uTWV0aG9kIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOndlYjpsYXVuY2hwYWQudmlpLmVsZWN0cm9uLm1hdHRybGFicy5pbyM2QmhGTUNHVEpnIn19XX0sIm5vbmNlIjoiYzkwY2NhMTAtMzY0NC00ODI5LWJmNzItMWE1NjQ4MzM0MTUxIiwiaXNzIjoiZGlkOmtleTp6Nk1rZms2Z2dTOXRoeGdadXVmeTNNRUJxakxKRFRZbWR6S1JZdkZKVU5rOHhYUnUifQ.Cicy1lZNe4r1486lFh-1w7OkNmacCHpB7uQLe_7pl-sHxN-5NrnQz_To6Hy__tYPvt-2kly-kqBVM4EegME1AA"
},
"options": {
"returnMetadata": true,
"credentialFormatOptions": {
"documentLoaderEnableHttps": true
}
}
}'
The following request will verify a JWT Verifiable Presentation and return the result of the verification process.
Supported options: (same as in Example 1)
curl -H "Authorization: Bearer b082c420-df67-4b06-899c-b7c51d75fba0" \
-X POST "https://api.godiddy.com/1.0.0/universal-verifier/presentations/verify" \
-H "Content-Type: application/json" \
-d '{
"verifiablePresentation": {
"vp": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa2sxcG5GS3I2OUZOV1ZrR3dxcHNFNGhHTnk5YVM5ZmV6Nlpha2Q3V2VtZ1cxI3o2TWtrMXBuRktyNjlGTldWa0d3cXBzRTRoR055OWFTOWZlejZaYWtkN1dlbWdXMSJ9.eyJpc3MiOiJkaWQ6a2V5Ono2TWtrMXBuRktyNjlGTldWa0d3cXBzRTRoR055OWFTOWZlejZaYWtkN1dlbWdXMSIsIm5vbmNlIjoiNmE2ODljNzUtYjczNS00NzkyLTkzMWMtYmI0ZTEyNzM2NzZlIiwidnAiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2lkZW50aXR5LmZvdW5kYXRpb24vcHJlc2VudGF0aW9uLWV4Y2hhbmdlL3N1Ym1pc3Npb24vdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIiwiUHJlc2VudGF0aW9uU3VibWlzc2lvbiJdLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6WyJleUpyYVdRaU9pSmthV1E2YTJWNU9ubzJUV3R6ZGxSa1pXTjZaRGt5V1ZFMVZ6SldNbWRNT1d0WVpGSjJSREpCUldsNVNsQnZWMmxsVURrMVNGVkVieU42TmsxcmMzWlVaR1ZqZW1RNU1sbFJOVmN5VmpKblREbHJXR1JTZGtReVFVVnBlVXBRYjFkcFpWQTVOVWhWUkc4aUxDSjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSkZaRVJUUVNKOS5leUp6ZFdJaU9pSmthV1E2YTJWNU9ubzJUV3RyTVhCdVJrdHlOamxHVGxkV2EwZDNjWEJ6UlRSb1IwNTVPV0ZUT1dabGVqWmFZV3RrTjFkbGJXZFhNU0lzSW01aVppSTZNVFk1TmpJM01qTTRNeXdpYVhOeklqb2laR2xrT210bGVUcDZOazFyYzNaVVpHVmplbVE1TWxsUk5WY3lWakpuVERscldHUlNka1F5UVVWcGVVcFFiMWRwWlZBNU5VaFZSRzhpTENKMll5STZleUowZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVQzQmxia0poWkdkbFEzSmxaR1Z1ZEdsaGJDSmRMQ0pBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdk1qQXhPQzlqY21Wa1pXNTBhV0ZzY3k5Mk1TSXNJbWgwZEhCek9pOHZjSFZ5YkM1cGJYTm5iRzlpWVd3dWIzSm5MM053WldNdmIySXZkak53TUM5amIyNTBaWGgwTG1wemIyNGlYU3dpYVhOemRXVnlJanA3SW5SNWNHVWlPaUpRY205bWFXeGxJaXdpYVdRaU9pSmthV1E2YTJWNU9ubzJUV3R6ZGxSa1pXTjZaRGt5V1ZFMVZ6SldNbWRNT1d0WVpGSjJSREpCUldsNVNsQnZWMmxsVURrMVNGVkVieUlzSW01aGJXVWlPaUpWYm1sMlpYSnpZV3dnU1hOemRXVnlJaXdpZFhKc0lqb2lhSFIwY0hNNkx5OXBaR00wZG1NdWRXNXBhWE56ZFdWeUxtbHZMeUlzSW1sdFlXZGxJam9pYUhSMGNITTZMeTkxYm1scGMzTjFaWEl1YVc4dmFXMWhaMlZ6TDJ4dloyOHVhbkJuSW4wc0ltTnlaV1JsYm5ScFlXeFRkV0pxWldOMElqcDdJbUZqYUdsbGRtVnRaVzUwSWpwN0ltbHRZV2RsSWpwN0ltbGtJam9pYUhSMGNITTZMeTkzTTJNdFkyTm5MbWRwZEdoMVlpNXBieTkyWXkxbFpDOXdiSFZuWm1WemRDMHlMVEl3TWpJdmFXMWhaMlZ6TDBwR1JpMVdReTFGUkZVdFVFeFZSMFpGVTFReUxXSmhaR2RsTFdsdFlXZGxMbkJ1WnlJc0luUjVjR1VpT2lKSmJXRm5aU0o5TENKamNtbDBaWEpwWVNJNmV5SnVZWEp5WVhScGRtVWlPaUpVYUdVZ1ptbHljM1FnWTI5b2IzSjBJRzltSUhSb1pTQktSa1lnVUd4MVoyWmxjM1FnTXlCcGJpQlBZM1F2VG05MklHOW1JREl3TWpNZ1kyOXNiR0ZpYjNKaGRHVmtJSFJ2SUhCMWMyZ2dhVzUwWlhKdmNHVnlZV0pwYkdsMGVTQnZaaUJXUTNNZ2FXNGdaV1IxWTJGMGFXOXVJR1p2Y25kaGNtUXVJaXdpZEhsd1pTSTZJa055YVhSbGNtbGhJbjBzSW01aGJXVWlPaUpWYm1sMlpYSnpZV3dnU1hOemRXVnlJR2x6YzNWbFpDQlBjR1Z1SUVKaFpHZGxJSFl6SUdOeVpXUmxiblJwWVd3aUxDSmtaWE5qY21sd2RHbHZiaUk2SWxkaGJHeGxkQ0JqWVc0Z2MzUnZjbVVnWVc1a0lHUnBjM0JzWVhrZ1FtRmtaMlVnZGpNZ1kzSmxaR1Z1ZEdsaGJDSXNJblI1Y0dVaU9pSkJZMmhwWlhabGJXVnVkQ0o5TENKMGVYQmxJam9pUVdOb2FXVjJaVzFsYm5SVGRXSnFaV04wSW4xOWZRLk5feTNqR2dBdVlfZUJTMFYtRjZ5V2lkMXI1TXJPc0RtbFlZRlUzeDVTYjA3bG9xTC01ZkVmVVhHOFJOaFl2aFZJYVhCbXh3bDhBZ2FzTUhPLTVoNURBIl19LCJpYXQiOjE2OTYzMzgzMTYsImV4cCI6MTY5NjM0NTUxNn0.FRIIsGhu9ZV9eDtIKVsRmgRycWfTudFFqaYXQTvoUD71qJy4zip80fFFWgtATyQ8WKuFgsP_lks1KsbZsG1QBQ"
},
"options": {
"returnMetadata": true,
"credentialFormatOptions": {
"documentLoaderEnableHttps": true
}
}
}'
When creating an OID4VP Request...
As a prerequisite, a configuration value with key oid4vp
has to be set according to Verifier Configuration.
The following request will return an OID4VP Response.
curl -H "Authorization: Bearer b082c420-df67-4b06-899c-b7c51d75fba0" \
-X GET "https://api.dev.godiddy.com/1.0.0/universal-verifier-oid4vp/authorize?presentationDefinitionId=example1&schema=oidc4vp&walletName=wallet1"