Verifiable presentation generation
Generating a “Verifiable Presentation”
The VP generation API generates a Verifiable Presentation of the requested ATP Credential in JWT format for usage in ATP Credential exchange.
During the generation of a Verifiable Presentation none of requested credentials fields are checked for validity by default. This is done on purpose to save on processing time in generation use cases, as all fields will always be validated by a verifing side via the /api/v1/verifiablePresentation/verify endpoint. You may optionally enable theses checks via parameters.
|Whether or not to check the expirationDate of the requested Credential||❌||false|
|Whether or not to check the proof of the requested Credential||❌||false|
|Whether or not to check the issuance date of the requested Credential||❌||false|
|Whether or not to check the credential status of the requested Credential (revoked or non-revoked)||❌||false|
Please see Obtaining and using a Token for a detailed description of how to authenticate yourself with our API.
Note that bearer tokens have a validity of 24 h. Please reuse each token until its expiry.
Example request body
|Correlation UUIDv4 which identifies this VRS request-response pair across networks||string||✅|
|The DID of the customer who holds the requested DSCSA ATP Credential||string||✅|
|Type of the Credential (|
|enum | string||✅|
The corrUUID is to connect all events in a full VRS roundtrip (request and response) for a consistent audit trail. Hence, as a responder you must re-use the corrUUID that you have received from the requester instead of creating a new random corrUUID. The requester’s corrUUID can be extracted from the decoded received Verifiable Presentation.
The customer you are serving VRS Events for will either share their DID with you via traditional communication formats or you can view a list of Identifiers in your web frontend after the customer has invited you to their Enterprise Account.
While two values are allowed here, most VRS Events will use DSCSAATPCredential.
"message": "Generation succeeded"
|Boolean value indicating whether or not the request was successful.||Boolean||true | false|
|The JWT formatted and base64 encoded Verifiable Presentation.||base64 | string||-|
|The holderDID that was used to generate the Verifiable Presentation.||string||-|
|The corrUUID that was used to generate the Verifiable Presentation.||string||-|
|The credentialType that was used to generate the verifiable presentation.||enum | string||IdentityCredential | DSCSAATPCredential|
|Additional message to be included for humans and/or logging systems||string||-|
"Generation of Verifiable Presentation failed because Credential has been revoked"
|Boolean value indicating whether or not the requested was successful.||Boolean||true | false|
|a list of error messages describing the error code(s) encountered while attempting to generate VP||string||-|
|a list of error code(s) as specified in the Digital Wallet Conformance Criteria encountered while attempting to generate VP||string||enum | string|
curl --location --request POST 'https://app.caro.vc/api/v1/verifiablePresentations/generate' \
--header 'Authorization: Bearer [YOUR_API_TOKEN]' \
--header 'Content-Type: application/json' \