Verifier - OpenAPI
This is the W3C VC compatible OpenAPI, describing the endpoints to issue Verifiable Credentials. The W3C API endpoints in VDX, allow you to create an implementation compatible with the W3C VC API specification, meaning there is no vendor lock-in. VDX also has VDX specific APIs to issue and verify credentials, which are more powerful. They are however not VC API compatible.
Some examples supported by VDX, but not by the W3C VC API are:
- Using templates to issue credentials
- Binding templates to users and groups, allowing departments to issue different credentials
- Using events/callbacks when issuing
Please note that if you are reading this line, it means the final documentation is not ready yet. Release of the full documentation is scheduled for the end of Q3 of 2023.
OpenAPI spec
VC Verifier HTTP API (0.0.3-unstable)
Download OpenAPI specification:Download
This is an Experimental Open API Specification for the VC Data Model.
Verifies a verifiableCredential and returns a verificationResult in the response body.
Verifies a verifiableCredential and returns a verificationResult in the response body.
Request Body schema: application/json
Parameters for verifying a verifiableCredential.
object (VerifiableCredential) A JSON-LD Verifiable Credential without a proof. | |
object (VerifyOptions) Options for specifying how the LinkedDataProof is verified. |
Responses
Request samples
- Payload
{- "verifiableCredential": {
- "type": [
- "VerifiableCredential",
- "UniversityDegreeCredential"
], - "issuer": "did:example:123",
- "issuanceDate": "2020-03-16T22:37:26.544Z",
- "credentialSubject": {
- "id": "did:example:123",
- "degree": {
- "type": "BachelorDegree",
- "name": "Bachelor of Science and Arts"
}
}, - "proof": {
- "type": "Ed25519Signature2018",
- "created": "2020-04-02T18:28:08Z",
- "verificationMethod": "did:example:123#z6MksHh7qHWvybLg5QTPPdG2DgEjjduBDArV9EF9mRiRzMBN",
- "proofPurpose": "assertionMethod",
- "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..YtqjEYnFENT7fNW-COD0HAACxeuQxPKAmp4nIl8jYAu__6IH2FpSxv81w-l5PvE1og50tS9tH8WyXMlXyo45CA"
}
}, - "options": {
- "verificationMethod": "did:example:123#z6MksHh7qHWvybLg5QTPPdG2DgEjjduBDArV9EF9mRiRzMBN",
- "proofPurpose": "assertionMethod",
- "created": "2020-04-02T18:48:36Z",
- "domain": "example.com",
- "challenge": "d436f0c8-fbd9-4e48-bbb2-55fc5d0920a8"
}
}
Response samples
- 200
{- "checks": [
- "proof"
], - "warnings": [ ],
- "errors": [ ]
}
Verifies a Presentation with or without proofs attached and returns a verificationResult in the response body.
Verifies a verifiablePresentation and returns a verificationResult in the response body. Given the possibility of denial of service, buffer overflow, or other style attacks, an implementation is permitted to rate limit or restrict requests against this API endpoint to those requests that contain only a single credential with a 413 or 429 error code as appropriate.
Request Body schema: application/json
Parameters for verifying a verifiablePresentation.
object (VerifiablePresentation) A JSON-LD Verifiable Presentation without a proof. | |
object (VerifyOptions) Options for specifying how the LinkedDataProof is verified. |
Responses
Request samples
- Payload
{- "verifiablePresentation": {
- "holder": "did:example:123",
- "type": "VerifiablePresentation",
- "verifiableCredential": [
- {
}, - {
- "type": [
- "VerifiableCredential",
- "UniversityDegreeCredential"
]
}, - {
- "issuer": "did:example:123"
}, - {
- "issuanceDate": "2020-03-16T22:37:26.544Z"
}, - {
- "credentialSubject": {
- "id": "did:example:123",
- "degree": {
- "type": "BachelorDegree",
- "name": "Bachelor of Science and Arts"
}
}
}, - {
- "proof": {
- "type": "Ed25519Signature2018",
- "created": "2020-04-02T18:28:08Z",
- "verificationMethod": "did:example:123#z6MksHh7qHWvybLg5QTPPdG2DgEjjduBDArV9EF9mRiRzMBN",
- "proofPurpose": "assertionMethod",
- "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..YtqjEYnFENT7fNW-COD0HAACxeuQxPKAmp4nIl8jYAu__6IH2FpSxv81w-l5PvE1og50tS9tH8WyXMlXyo45CA"
}
}
], - "proof": {
- "type": "Ed25519Signature2018",
- "created": "2020-04-02T18:28:08Z",
- "verificationMethod": "did:example:123#z6MksHh7qHWvybLg5QTPPdG2DgEjjduBDArV9EF9mRiRzMBN",
- "proofPurpose": "assertionMethod",
- "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..YtqjEYnFENT7fNW-COD0HAACxeuQxPKAmp4nIl8jYAu__6IH2FpSxv81w-l5PvE1og50tS9tH8WyXMlXyo45CA"
}
}, - "options": {
- "verificationMethod": "did:example:123#z6MksHh7qHWvybLg5QTPPdG2DgEjjduBDArV9EF9mRiRzMBN",
- "proofPurpose": "assertionMethod",
- "created": "2020-04-02T18:48:36Z",
- "domain": "example.com",
- "challenge": "d436f0c8-fbd9-4e48-bbb2-55fc5d0920a8"
}
}
Response samples
- 200
{- "checks": [
- "proof"
], - "warnings": [ ],
- "errors": [ ]
}