Skip to main content

Notifications API (Reference) v1.0.0

Notifications API reference.

info

You are viewing REST API documentation. This documentation is auto-generated from a swagger specification which itself is generated from annotations in the source code of the project. It is possible that this documentation includes bugs and that code samples are incomplete or wrong.

Authentication

  • API Key (jwtBearerToken)
    • Parameter Name: Authorization, in: header. Authentication and authorization using a valid JWT token

Notifications (Application-wide)

List Notifications

GET /api/notifications/?applicationId=bf8215e5-a39e-490a-a0e2-07df6a3d8c1f HTTP/1.1
Accept: application/json

Base paths: /api/notifications

Retrieves notification statuses filtered by application, type, channel and status.

Required authorization: ROLE_SUPERVISOR or ROLE_AGENT

Parameters

ParameterInTypeRequiredDescription
applicationIdquerystringtrueUnique application identifier
pageSizequeryinteger(int64)falsePage size - number of items per page
pageNumberqueryinteger(int64)falsePage number - 1-based page index
sortOrderquerystringfalseSort order - ascending or descending
sortFieldquerystringfalseField to use for sorting
typequeryarray[string]falseTypes filters the notification types.
channelqueryarray[string]falseChannels filters the notification channels.
statusqueryarray[string]falseStatuses filters the notification statuses.
fromquerystring(date-time)falseFrom defines the start of the search window.
toquerystring(date-time)falseTo defines the end of the search window.
Detailed descriptions

type: Types filters the notification types. Possible values: CREATE, UPDATE, RESCHEDULE, REASSIGN, ROOM, REMINDER, CANCELLED, FOLLOW_UP, IN_PROGRESS, COMPLETED, FAILED, NO_SHOW, PARTICIPANT_ADDED, PARTICIPANT_REMOVED, PARTICIPANT_UPDATED, INTERACTION_UPDATED. Accepts repeated query params (recommended) or comma-separated values.

channel: Channels filters the notification channels. Possible values: EMAIL, SMS, WEBHOOKS. Values are case-insensitive. Accepts repeated query params (recommended) or comma-separated values.

status: Statuses filters the notification statuses. Possible values: DELIVERED, FAILED, INITIALIZED, PENDING, CANCELLED. Values are case-insensitive.

Enumerated Values
ParameterValue
sortOrderasc
sortOrderdesc

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneListApplicationNotificationsResponsePaged
401UnauthorizedUnauthorized.None
403ForbiddenForbidden.None
500Internal Server ErrorInternal Server Error.None
Examples

200 Response

{
"content": [
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": true,
"channel": "EMAIL",
"createdAt": "2024-06-01T09:00:00Z",
"errorMessage": "rejected by provider",
"id": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"message": "Queued for delivery",
"nextPollAt": "2024-06-01T09:01:30Z",
"nextRetryAt": "2024-06-01T09:02:00Z",
"offset": "PT30M",
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"type": "REMINDER",
"updatedAt": "2024-06-01T09:01:00Z"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/notifications/?applicationId=bf8215e5-a39e-490a-a0e2-07df6a3d8c1f \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Get Notification Poll Properties

GET /api/notifications/applications/{id}/poll HTTP/1.1
Accept: application/json

Base paths: /api/notifications

Retrieves the polling configuration used for notification delivery.

Required authorization: ROLE_ADMIN

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueUnique application identifier

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneNotificationPollProperties
401UnauthorizedUnauthorized.None
403ForbiddenForbidden.None
500Internal Server ErrorInternal Server Error.None
Examples

200 Response

{
"properties": {
"property1": {
"source": "string",
"value": "string"
},
"property2": {
"source": "string",
"value": "string"
}
}
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/notifications/applications/{id}/poll \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

List Notification Events

GET /api/notifications/events?applicationId=bf8215e5-a39e-490a-a0e2-07df6a3d8c1f HTTP/1.1
Accept: application/json

Base paths: /api/notifications

Retrieves notification events filtered by application, type, channel and status.

Required authorization: ROLE_SUPERVISOR or ROLE_AGENT

Parameters

ParameterInTypeRequiredDescription
applicationIdquerystringtrueUnique application identifier
pageSizequeryinteger(int64)falsePage size - number of items per page
pageNumberqueryinteger(int64)falsePage number - 1-based page index
sortOrderquerystringfalseSort order - ascending or descending
sortFieldquerystringfalseField to use for sorting
typequeryarray[string]falseTypes filters the notification types.
channelqueryarray[string]falseChannels filters the notification channels.
statusqueryarray[string]falseStatuses filters the notification statuses.
fromquerystring(date-time)falseFrom defines the start of the search window.
toquerystring(date-time)falseTo defines the end of the search window.
Detailed descriptions

type: Types filters the notification types. Possible values: CREATE, UPDATE, RESCHEDULE, REASSIGN, ROOM, REMINDER, CANCELLED, FOLLOW_UP, IN_PROGRESS, COMPLETED, FAILED, NO_SHOW, PARTICIPANT_ADDED, PARTICIPANT_REMOVED, PARTICIPANT_UPDATED, INTERACTION_UPDATED. Accepts repeated query params (recommended) or comma-separated values.

channel: Channels filters the notification channels. Possible values: EMAIL, SMS, WEBHOOKS. Values are case-insensitive. Accepts repeated query params (recommended) or comma-separated values.

status: Statuses filters the notification statuses. Possible values: DELIVERED, FAILED, INITIALIZED, PENDING, CANCELLED. Values are case-insensitive.

Enumerated Values
ParameterValue
sortOrderasc
sortOrderdesc

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneListApplicationNotificationEventsResponsePaged
401UnauthorizedUnauthorized.None
403ForbiddenForbidden.None
500Internal Server ErrorInternal Server Error.None
Examples

200 Response

{
"content": [
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"channel": "EMAIL",
"conversationId": "conv-3d2f4a",
"errorMessage": "rejected by provider",
"id": "7c3b1ad6-2e55-4c8f-9f2d-8ca9e78f1a0e",
"message": "Queued for delivery",
"messageId": "msg-07f1e",
"nextPollAt": "2024-06-01T09:01:30Z",
"offset": "PT30M",
"pollAttempts": 1,
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"statusId": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"timestamp": "2024-06-01T09:00:30Z",
"type": "REMINDER"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/notifications/events?applicationId=bf8215e5-a39e-490a-a0e2-07df6a3d8c1f \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Get Webhook Notification Types

GET /api/notifications/webhooks/types HTTP/1.1
Accept: application/json

Base paths: /api/notifications

Retrieves the supported webhook notification types.

Required authorization: ROLE_SUPERVISOR or ROLE_AGENT

Responses

Overview
StatusMeaningDescriptionSchema
200OKWebhookNotificationTypesResponse carries the list of supported webhook notification types.WebhookNotificationTypes
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"types": [
"string"
]
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/notifications/webhooks/types \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Retry Notification

PUT /api/notifications/{id}/retry HTTP/1.1
Accept: application/json

Base paths: /api/notifications

Retries a failed or pending notification.

Required authorization: ROLE_SUPERVISOR or ROLE_AGENT

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueUnique notification status identifier

Responses

Overview
StatusMeaningDescriptionSchema
200OKNotificationStatusResponse documents the payload returned when a notification status is updated.NotificationStatus
400Bad RequestBad request.None
401UnauthorizedUnauthorized.None
403ForbiddenForbidden.None
404Not FoundStatusNotFound.None
500Internal Server ErrorInternal Server Error.None
Examples

200 Response

{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": true,
"channel": "EMAIL",
"createdAt": "2024-06-01T09:00:00Z",
"errorMessage": "rejected by provider",
"id": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"message": "Queued for delivery",
"nextPollAt": "2024-06-01T09:01:30Z",
"nextRetryAt": "2024-06-01T09:02:00Z",
"offset": "PT30M",
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"type": "REMINDER",
"updatedAt": "2024-06-01T09:01:00Z"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X PUT /api/notifications/{id}/retry \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Schemas

ListApplicationNotificationEventsResponsePaged

{
"content": [
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"channel": "EMAIL",
"conversationId": "conv-3d2f4a",
"errorMessage": "rejected by provider",
"id": "7c3b1ad6-2e55-4c8f-9f2d-8ca9e78f1a0e",
"message": "Queued for delivery",
"messageId": "msg-07f1e",
"nextPollAt": "2024-06-01T09:01:30Z",
"offset": "PT30M",
"pollAttempts": 1,
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"statusId": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"timestamp": "2024-06-01T09:00:30Z",
"type": "REMINDER"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}

Properties

NameTypeRequiredRestrictionsDescription
content[NotificationEvent]falsenonenone
pageCountinteger(int64)falsenoneNumber of pages for the provided page size
pageNumberinteger(int64)falsenonePage number - 1-based page index
pageSizeinteger(int64)falsenonePage size - number of items per page
sortFieldstringfalsenoneField to use for sorting
sortOrderstringfalsenoneSort order - ascending or descending
totalinteger(int64)falsenoneTotal number of entities in the result set
Enumerated Values
PropertyValue
sortOrderasc
sortOrderdesc

ListApplicationNotificationsResponsePaged

{
"content": [
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": true,
"channel": "EMAIL",
"createdAt": "2024-06-01T09:00:00Z",
"errorMessage": "rejected by provider",
"id": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"message": "Queued for delivery",
"nextPollAt": "2024-06-01T09:01:30Z",
"nextRetryAt": "2024-06-01T09:02:00Z",
"offset": "PT30M",
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"type": "REMINDER",
"updatedAt": "2024-06-01T09:01:00Z"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}

Properties

NameTypeRequiredRestrictionsDescription
content[NotificationStatus]falsenonenone
pageCountinteger(int64)falsenoneNumber of pages for the provided page size
pageNumberinteger(int64)falsenonePage number - 1-based page index
pageSizeinteger(int64)falsenonePage size - number of items per page
sortFieldstringfalsenoneField to use for sorting
sortOrderstringfalsenoneSort order - ascending or descending
totalinteger(int64)falsenoneTotal number of entities in the result set
Enumerated Values
PropertyValue
sortOrderasc
sortOrderdesc

NotificationEvent

{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"channel": "EMAIL",
"conversationId": "conv-3d2f4a",
"errorMessage": "rejected by provider",
"id": "7c3b1ad6-2e55-4c8f-9f2d-8ca9e78f1a0e",
"message": "Queued for delivery",
"messageId": "msg-07f1e",
"nextPollAt": "2024-06-01T09:01:30Z",
"offset": "PT30M",
"pollAttempts": 1,
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"statusId": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"timestamp": "2024-06-01T09:00:30Z",
"type": "REMINDER"
}

Properties

NameTypeRequiredRestrictionsDescription
appointmentIdstringfalsenoneAssociated appointment ID
channelstringfalsenoneEmail, SMS, Webhook
conversationIdstringfalsenoneProvider conversation ID
errorMessagestringfalsenoneError details on failure
idstringfalsenoneUnique event ID
messagestringfalsenoneHuman readable status reason
messageIdstringfalsenoneProvider message ID
nextPollAtstring(date-time)falsenoneNext provider poll time (while pending/submitted)
offsetstringfalsenoneISO8601 duration (e.g. PT30M)
pollAttemptsinteger(int64)falsenoneProvider polls made
providerStatusstringfalsenoneRaw provider state
recipientNotificationRecipientfalsenonenone
retryCountinteger(int64)falsenoneNumber of delivery attempts
scheduledForstring(date-time)falsenoneTimestamp when delivery is due (only for scheduled types).
statusNotificationStatefalsenonenone
statusIdstringfalsenoneLinked notification status ID
timestampstring(date-time)falsenoneEvent time
typestringfalsenoneReminder, Follow-up, Create, Reschedule

NotificationPollProperties

{
"properties": {
"property1": {
"source": "string",
"value": "string"
},
"property2": {
"source": "string",
"value": "string"
}
}
}

NotificationPollProperties exposes notification polling configuration for a specific application. When the application does not override a property the service returns the system default and marks the source accordingly.

Properties

NameTypeRequiredRestrictionsDescription
propertiesobjectfalsenonenone
» additionalPropertiesPollPropertyfalsenonePollProperty describes a single notification polling setting along with its
origin source.

NotificationRecipient

{
"displayName": "string",
"reasonCode": "string",
"type": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
displayNamestringfalsenoneDisplayName is a human-friendly label of the recipient; when not available, mapping sets "-".
reasonCodeRecipientReasonCodefalsenonenone
typeRecipientTypefalsenonenone

NotificationState

"string"

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenonenone

NotificationStatus

{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": true,
"channel": "EMAIL",
"createdAt": "2024-06-01T09:00:00Z",
"errorMessage": "rejected by provider",
"id": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"message": "Queued for delivery",
"nextPollAt": "2024-06-01T09:01:30Z",
"nextRetryAt": "2024-06-01T09:02:00Z",
"offset": "PT30M",
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"type": "REMINDER",
"updatedAt": "2024-06-01T09:01:00Z"
}

Properties

NameTypeRequiredRestrictionsDescription
appointmentIdstringfalsenoneAssociated appointment ID
canRetrybooleanfalsenoneWhether manual retry is allowed
channelstringfalsenoneEmail, SMS, Webhook
createdAtstring(date-time)falsenoneCreation timestamp
errorMessagestringfalsenoneError details on failure
idstringfalsenoneUnique notification status ID
messagestringfalsenoneHuman readable status reason
nextPollAtstring(date-time)falsenoneNext provider poll time (while pending/submitted)
nextRetryAtstring(date-time)falsenoneTime of the next automatic retry (when applicable)
offsetstringfalsenoneISO8601 duration (e.g. PT30M)
providerStatusstringfalsenoneRaw provider-native state (last-known)
recipientNotificationRecipientfalsenonenone
retryCountinteger(int64)falsenoneNumber of delivery attempts
scheduledForstring(date-time)falsenoneTimestamp when delivery is due (only for scheduled types).
statusNotificationStatefalsenonenone
typestringfalsenoneReminder, Follow-up, Create, Reschedule, etc.
updatedAtstring(date-time)falsenoneTimestamp of last attempt

PollProperty

{
"source": "string",
"value": "string"
}

PollProperty describes a single notification polling setting along with its origin source.

Properties

NameTypeRequiredRestrictionsDescription
sourcestringfalsenoneSource indicates where the value originates from.
valuestringfalsenoneValue holds the configured value for the property.

RecipientReasonCode

"string"

Example values: PDM_EXPIRED, NOT_FOUND, SYSTEM_ERROR.

Properties

NameTypeRequiredRestrictionsDescription
Example values: PDM_EXPIRED, NOT_FOUND, SYSTEM_ERROR.stringfalsenonenone

RecipientType

"string"

Allowed values: CUSTOMER, AGENT, SYSTEM.

Properties

NameTypeRequiredRestrictionsDescription
Allowed values: CUSTOMER, AGENT, SYSTEM.stringfalsenonenone

WebhookNotificationTypes

{
"types": [
"string"
]
}

Properties

NameTypeRequiredRestrictionsDescription
types[string]falsenoneSupported webhook notification types.