Inbox Endpoint
Added in version 2.3.
Developer Preview The ESS Wallet Service endpoints are available as part of a Developer Preview program to allow early access to these features. Please be aware that these APIs may change.
The ESS Wallet Service provides the following endpoint for interacting with resources stored in the Wallet inbox:
https://datawallet.{ESS Domain}/inbox
List Inbox Items
The Wallet Service provides an endpoint to list all of the items currently stored in the inbox of the Wallet.
Method
GET
Content-Type
application/json
Endpoint
https://datawallet.{ESS Domain}/inbox
Payload
none
Output
Returns an array of inbox items.
Example response
[
{
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"identifier": "https://example.com/",
"webId": "https://id.{DOMAIN}/{username}",
"resource": "https://storage.example/data/MyResource",
"resourceName": "MyResource",
"forPurpose": "https://example.com/",
"expirationDate": "2024-07-19T09:18:52.233Z",
"issuedDate": "2024-07-19T09:18:52.233Z",
"modes": [
"read"
],
"logo": "https://images.example/logo.png",
"ownerName": "Example Name",
"isRDFResource": true
}
]
The fields have the following values:
uuid
A unique identifier of this inbox item.
identifier
The URI identifying the inbox item.
webId
The WebID of the party requesting access to a resource.
resource
The URI of the resource within the Wallet to which access has been requested.
resourceName
The short-name of the resource within the Wallet to which access has been requested, without the hostname and parent path.
forPurpose
The URI of the document describing the purpose of this Access Request.
expirationDate
The expiration date of the Access Request in ISO-8601 format.
issuedDate
The date of issuance of the Access Request in ISO-8601 format.
modes
The modes of access that will be granted if this access request is approved (e.g. read
, write
, append
).
logo
A URI identifying a logo to associate with the party requesting access to a resource (for display within the Wallet user interface).
ownerName
The name of the party requesting access to a resource, if available.
webId
The WebID of the party requesting access to a resource.
isRDFResource
Boolean value indicating whether this resource contains RDF data.
Read Inbox Item
The Wallet Service provides an endpoint to get the content of an inbox item.
Method
GET
Content-Type
*/*
Endpoint
https://datawallet.{ESS Domain}/inbox/{uuid}
Payload
none
Input
uuid
The UUID of the inbox item to read.
Output
The content of the inbox item.
Delete Inbox Item
The Wallet Service provides an endpoint to delete an inbox item.
Method
DELETE
Content-Type
application/json
Endpoint
https://datawallet.{ESS Domain}/inbox/{identifier}
Payload
none
Input
uuid
The UUID of the inbox item to be deleted.
Output
Upon completion, a status message is returned.
Example response
{
"message": "success"
}
The fields have the following values:
message
A successful operation includes the string “success”.
error
An unsuccessful operation describes the failure category, such as “UNAUTHORIZED”.
Verify Access Request
The Wallet Service provides an endpoint to verify that an Access Request within the inbox is valid and passes the verification checks described by the Access Grant Service .
Method
GET
Content-Type
application/json
Endpoint
https://datawallet.{ESS Domain}/inbox/{uuid}/verify
Payload
none
Input
uuid
The UUID of the inbox item to be verified.
Output
Upon completion, the verification results are returned.
Example Response
{
"identifier": "https://credential.example/{uuid}",
"detail": {
"checks": [
"string"
],
"warnings": [
"string"
],
"errors": [
"string"
]
},
"status": "Invalid"
}
checks
Lists the checks performed during verification.
warnings
Lists any warnings that occurred during verification.
errors
Lists any errors that occurred during verification.
status
The status of the verification, either Valid
or Invalid
.
Grant Access Request
The Wallet Service provides an endpoint to generate an Access Grant based on an inbox Access Request.
Method
PUT
Content-Type
application/json
Endpoint
https://datawallet.{ESS Domain}/inbox/{uuid}/grantAccess
Payload
none
Input
uuid
The UUID of the inbox item to be used to generate an Access Grant.
Output
Upon completion a description of the new Access Grant is returned that can be used to display the Grant within the Wallet user interface.
Example Response
{
"uuid": "fc2f50db-bdb3-43d7-b194-9868512d2459",
"identifier": "https://accessgrant.example/b7e42e71-8a67-44e8-b3da-fe2a778a9e28",
"webId": "https://id.example/agent",
"resource": "https://storage.example/data/MyResource",
"resourceName": "MyResource",
"forPurpose": "https://example.com/",
"expirationDate": "2024-07-19T10:45:24.138Z",
"issuedDate": "2024-07-19T10:45:24.138Z",
"modes": [
"read"
],
"logo": "https://images.example/logo.png",
"ownerName": "Example Name",
"isRDFResource": true
}
The fields have the following values:
uuid
The unique identifier of this inbox resource.
identifier
An identifier of the Access Grant.
webId
The WebID of the party granted access to a resource.
resource
The URI of the resource to which access has been granted.
resourceName
A short name of the resource to which access has been granted.
forPurpose
The URI of the document describing the purpose of this Access Grant.
expirationDate
The expiration of the Access Grant in ISO-8601 format.
issuedDate
The date of issuance of the Access Grant in ISO-8601 format.
modes
The modes of access granted (e.g. read
, write
, append
).
logo
A URI identifying a logo to associate with the party granted access to a resource (for display within the Wallet user interface).
ownerName
The name of the party granted access to a resource, if available.
isRDFResource
Boolean value indicating whether the resource contains RDF data.
Deny Access Request
The Wallet Service provides an endpoint to deny an Access Request that has been added to the inbox.
Method
PUT
Content-Type
application/json
Endpoint
https://datawallet.{ESS Domain}/inbox/{uuid}/denyAccess
Payload
none
Input
uuid
The UUID of the inbox item to be used to generate an Access Denial.
Output
Upon completion, a status message is returned.
Example response
{
"message": "success"
}
The fields have the following values:
message
A successful operation includes the string “success”.
error
An unsuccessful operation describes the failure category, such as “UNAUTHORIZED”.
Last updated