Notifications
Claim-based access control: Identity_Issuer_Api
, Identity_Verifier_Api
User identifier for the notification recipient, typically the Cognito UUID.
Notification creation is queued
Invalid request body.
Invalid authentication credentials.
User does not have a required claim to perform this operation.
POST /api/v1/notifications/queue-notification HTTP/1.1
Host: {PORTAL_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 272
{
"recipientCognitoSub": "text",
"notificationType": "expired_vc",
"notificationIcon": "error",
"notificationRecordId": "text",
"notificationRecordType": "credential_offer",
"service": "issuer",
"notificationTitle": "text",
"notificationSubtitle": "text",
"notificationDescription": "text"
}
{
"message": "text",
"scheduledJobId": "text"
}
Claim-based access control: Issuer_Admin
, Issuer_Auditor
, Issuer_User
, Verifier_Admin
, Verifier_Auditor
, Verifier_User
Invalid request body.
Invalid authentication credentials.
User does not have a required claim to perform this operation.
Notification not found.
Notification already marked as read.
POST /api/v1/notifications/{id}/read HTTP/1.1
Host: {PORTAL_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"createdAt": "2025-10-09T12:08:22.259Z",
"notification": {
"id": "text",
"createdAt": "2025-10-09T12:08:22.259Z",
"recipientCognitoSub": "text",
"notificationType": "expired_vc",
"notificationIcon": "error",
"notificationRecordId": "text",
"notificationRecordType": "credential_offer",
"service": "issuer",
"notificationTitle": "text",
"notificationSubtitle": "text",
"notificationDescription": "text"
}
}
Claim-based access control: Issuer_Admin
, Issuer_Auditor
, Issuer_User
, Verifier_Admin
, Verifier_Auditor
, Verifier_User
The service for which notifications are being marked as read.
Invalid authentication credentials.
User does not have a required claim to perform this operation.
POST /api/v1/notifications/mark-all-read HTTP/1.1
Host: {PORTAL_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 20
{
"service": "issuer"
}
{
"message": "text"
}
Claim-based access control: Issuer_Admin
, Issuer_Auditor
, Issuer_User
, Verifier_Admin
, Verifier_Auditor
, Verifier_User
Page number to retrieve.If you provide invalid value the default page number will applied Example: 1 Default Value: 1
Number of records per page. Example: 20 Default Value: 20 Max Value: 100
If provided value is greater than max value, max value will be applied.
Filter by read query param. Format: filter.read={$not}:OPERATION:VALUE Example: filter.read=$not:$like:John Doe&filter.read=like:John Available Operations$eq
Filter by service query param. Format: filter.service={$not}:OPERATION:VALUE Example: filter.service=$not:$like:John Doe&filter.service=like:John Available Operations$eq
Invalid authentication credentials.
User does not have a required claim to perform this operation.
GET /api/v1/notifications HTTP/1.1
Host: {PORTAL_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"id": "text",
"createdAt": "2025-10-09T12:08:22.259Z",
"recipientCognitoSub": "text",
"notificationType": "expired_vc",
"notificationIcon": "error",
"notificationRecordId": "text",
"notificationRecordType": "credential_offer",
"service": "issuer",
"notificationTitle": "text",
"notificationSubtitle": "text",
"notificationDescription": "text",
"userRead": true
}
],
"meta": {
"select": [
"text"
],
"filter": {
"read": "text",
"service": "text"
}
},
"links": {
"first": "text",
"previous": "text",
"current": "text",
"next": "text",
"last": "text"
}
}
Claim-based access control: Issuer_Admin
, Issuer_Auditor
, Issuer_User
, Verifier_Admin
, Verifier_Auditor
, Verifier_User
Invalid authentication credentials.
User does not have a required claim to perform this operation.
GET /api/v1/notifications/preferences HTTP/1.1
Host: {PORTAL_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"credentialStatus": {
"claimed_vc": true,
"expired_vc": true,
"expiring_vc": true
},
"userActivity": {
"new_user": true,
"role_changed": true,
"user_removed": true
},
"verificationStatus": {
"verification_error": true,
"verification_failed": true,
"verification_valid": true
}
}
Claim-based access control: Issuer_Admin
, Issuer_Auditor
, Issuer_User
, Verifier_Admin
, Verifier_Auditor
, Verifier_User
Invalid authentication credentials.
User does not have a required claim to perform this operation.
PATCH /api/v1/notifications/preferences HTTP/1.1
Host: {PORTAL_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 207
{
"preferences": {
"expired_vc": true,
"expiring_vc": true,
"claimed_vc": true,
"new_user": true,
"user_removed": true,
"role_changed": true,
"verification_error": true,
"verification_failed": true,
"verification_valid": true
}
}
{
"credentialStatus": {
"claimed_vc": true,
"expired_vc": true,
"expiring_vc": true
},
"userActivity": {
"new_user": true,
"role_changed": true,
"user_removed": true
},
"verificationStatus": {
"verification_error": true,
"verification_failed": true,
"verification_valid": true
}
}