Create a presentation request
Creates a short lived presentation request based on an existing presentation template. The request is returned in the form of a JWM message and must be signed and sent to the holder via one of the following methods:
Analytics Events
Roles
/v2/credentials/web-semantic/presentations/requests
In: header
The presentation request payload
This unique identifier will be used to validate the presentation response sent to the configured callbackUrl
. By comparing challenge
with the challengeId
value in the response, you can ensure it was sent by the intended MATTR VII tenant.
This is the DID associated with the verifier. It must be available on the tenant and have a key type that is able to be used for messaging (e.g. a ed25519 key type).
The id
value of an existing presentation template that will be used to create the presentation request.
Once the time (Unix time) is reached the presentation corresponding to the challenge will not be accepted. For the purpose of testing you may wish to extend this out. Value cannot be more than 30 minutes (1800000ms) in the future, which is the maximal expiry period for a presentation request. Defaults to five minutes if no value is provided.
This is the path that you want MATTR VII to message (in the form of a JSON body) once it has received and processed the verifiable presentation from the mobile wallet holder:
- Must be a valid URL.
- Must use the HTTPS protocol.
- Must not be an IP address.
- Must be available, accept POST requests and respond with a 200 OK. ℹ️ Note: The callback URL will not be present directly in the signed presentation request. We highly recommend protecting the callback endpoint by including a unique identifier in the URL to create a unique callback URL for each request, which would make it hard to guess. ℹ️ Note: We recommend the callback endpoint always responds with a 404 header to any unsuccessful calls.
uri
Response Body
curl -X POST "https://example.vii.au01.mattr.global/v2/credentials/web-semantic/presentations/requests" \ -H "Content-Type: application/json" \ -d '{ "challenge": "64e45290-9980-11ea-b872-f1bee5fb328f", "did": "did:key:z6Mkt7bFYc4V2HdAxwhMtaY6cgJckYXwhYdPLJCcnVqzrkpr", "templateId": "64e45290-9980-11ea-b872-f1bee5fb328f", "callbackUrl": "https://your-website.com/api/callback" }'
{
"id": "c74128a0-9949-11ea-9554-b5a630b3c119",
"callbackUrl": "https://your-website.com/api/callback",
"request": {
"id": "c74128a0-9949-11ea-9554-b5a630b3c119",
"type": "https://mattr.global/schemas/verifiable-presentation/request/QueryByExample",
"from": "did:key:z6MkrYVmyqSA93o4B1GwERM8kaQDMAUKAFV2TC3weQKeg9Gq",
"created_time": 1606709582907,
"expires_time": 2594859115000,
"reply_url": "https://your-website.com/api/callback",
"reply_to": [
"did:key:z6MkrYVmyqSA93o4B1GwERM8kaQDMAUKAFV2TC3weQKeg9Gq"
],
"body": {
"id": "64e45290-9980-11ea-b872-f1bee5fb328f",
"domain": "tenant.vii.mattr.global",
"name": "alumni_credential_request",
"query": [
{
"type": "QueryByExample",
"credentialQuery": [
{
"required": true,
"reason": "string",
"example": [
{
"@context": [
null
],
"type": "AlumniCredential",
"trustedIssuer": [
{
"required": true,
"issuer": "string"
}
]
}
]
}
]
}
],
"challenge": "e1b35ae0-9e0e-11ea-9bbf-a387b27c9e60"
}
},
"didcommUri": "http://example.com"
}
{
"code": "string",
"message": "string",
"details": [
{
"value": "string",
"msg": "Invalid value",
"param": "id",
"location": "body"
}
]
}
How would you rate this page?