Back to API List
The platform provides the following APIs for managing SDK push notifications:
To receive push notifications, each user’s device must be registered and subscribed via the mobile or WebSDK app.
Device Subscription API
This API manages SDK push message subscriptions for a user’s specified device. It:
Subscribes the device to SDK push messages.
Returns subscription status and device details.
Field Value Method POST Endpoint https://{host}/API/public/streams/:{{streamId}}/sdknotifications/subscribeContent Type application/jsonAuthorization auth: {{JWT}} — See How to generate the JWT Token .API Scope App Builder: SDKPushNotifications; Admin Console: Not Applicable
Path Parameters
Parameter Description Required/Optional hostThe environment URL. For example, https://platform.kore.ai Required StreamIdBot ID or Stream ID. Accessible under General Settings on the App Builder. Required
Sample Request
curl -- location
'https://{{host}}/api/public/stream/:{{streamId}}/sdknotifications/subscribe' \
-- header 'auth: {jwt-token}' \
-- header 'bot-language: {language-code}' \
-- header 'Content-Type: application/json' \
-- data - raw ' {
"deviceId" : "exxxxxf0-bxx3-4xx3-axx7-fexxxxxxxxxx2" ,
"osType" : "Android" ,
"userId" : "u-dxxxxxx1-7xx0-5xxb-axx2-84xxxxxxxxx2"
} '
Body Parameters
Parameter Data Type Description Required/Optional deviceIdString The user’s device ID. Required osTypeString The OS type of the user’s device. Required userIdString The user ID received from the JWT grant. Required
Sample Response
{
"success" : true ,
"message" : "Device Subscribed" ,
"deviceDetails" : {
"deviceId" : "exxxxxf0-bxx3-4xx3-axx7-fexxxxxxxxxx2" ,
"osType" : "Android" ,
"status" : "Subscribed"
}
}
Subscribed User Devices API
This API lists all mobile devices subscribed to SDK push notifications for a given user, including device ID, OS type, and subscription status.
Field Value Method GET Endpoint https://{host}/API/public/streams/:{{streamId}}/subscribeddevicesContent Type application/jsonAuthorization auth: {{JWT}} — See How to generate the JWT Token .API Scope App Builder: SDKPushNotifications; Admin Console: Not Applicable
Query Parameters
Parameter Description Required/Optional hostThe environment URL. For example, https://platform.kore.ai Required StreamIdBot ID or Stream ID. Accessible under General Settings on the App Builder. Required UserIdThe user ID received from the JWT grant. Required
Sample Request
curl -- location
'https://{{host}}/api/public/streams/:{{streamId}}/subscribeddevices?uId=-f30xxx4e-6xx3-5xx8-8xx7-01xxxxxxxxx4u' \
-- header 'auth: {jwt-token}' \
-- header 'bot-language: {language-code}' \
-- header 'Content-Type: application/json' \
-- data - raw ' {
} '
Body Parameters
No body parameters.
Sample Response
{
"subscribedDevices" : [
{
"deviceId" : "exxxxxf0-bxx3-4xx3-axx7-fexxxxxxxxxx2" ,
"osType" : "Android" ,
"status" : "Subscribed"
},
{
"deviceId" : "exxxxxx0-bxx3-4xx3-axx7-fxxxxxxxxxxf" ,
"osType" : "ios" ,
"status" : "Subscribed"
}
]
}
Device Unsubscription API
This API unsubscribes SDK push messages for specific or all devices of a user.
Note: The API processes unsubscriptions for one user at a time, not for multiple users simultaneously.
Field Value Method DELETE Endpoint https://{host}/API/public/streams/:{{streamId}}/sdknotifications/unsubscribeContent Type application/jsonAuthorization auth: {{JWT}} — See How to generate the JWT Token .API Scope App Builder: SDKPushNotifications; Admin Console: Not Applicable
Path Parameters
Parameter Description Required/Optional hostThe environment URL. For example, https://platform.kore.ai Required StreamIdBot ID or Stream ID. Accessible under General Settings on the App Builder. Required
Unsubscribe Specific Devices
Returns the device ID, OS type, and subscription status (unsubscribed) for the selected devices.
Sample Request
curl -- location
'https://{{host}}/api/public/streams/:{{streamId}}/sdknotifications/unsubscribe' \
-- header 'auth: {jwt-token}' \
-- header 'bot-language: {language-code}' \
-- header 'Content-Type: application/json' \
-- data - raw ' {
"devices" :
[
{ "deviceId" : "exxxxxx0-bxx3-4xx3-axx7-fxxxxxxxxxxf" , "osType" : "iOS" },
{ "deviceId" : "exxxxxx1-bxx5-5xx3-axx2-bxxxxxxxxxxf" , "osType" : "Android" }
],
"userId" : "u-fxxxxxxe-6xx3-5xx8-8xx7-0xxxxxxxxxx4"
} '
Body Parameters
Parameter Data Type Description Required/Optional devices (if not using unsubscribe: 'all')Array of objects (String) Provide the device ID and osType of devices to unsubscribe. Required userIdString The user ID received from the JWT grant. Required
Sample Response
{
"success" : true ,
"message" : "Requested devices are Unsubscribed" ,
"unsubscribedDevices" : [
{
"deviceId" : "exxxxxx0-bxx3-4xx3-axx7-fxxxxxxxxxxf" ,
"osType" : "iOS" ,
"status" : "unsubscribed"
},
{
"deviceId" : "exxxxxx1-bxx5-5xx3-axx2-bxxxxxxxxxxf" ,
"osType" : "Android" ,
"status" : "unsubscribed"
}
],
"invalidDeviceIds" : [
{
"deviceId" : "Prod Iphone5rs"
}
]
}
Unsubscribe All Devices
Returns the success status and message when all devices are unsubscribed.
Sample Request
curl -- location
'https://{{host}}/api/public/streams/:{{streamId}}/sdknotifications/unsubscribe' \
-- header 'auth: {jwt-token}' \
-- header 'bot-language: {language-code}' \
-- header 'Content-Type: application/json' \
-- data - raw ' {
"unsubscribe" : "all" ,
"userId" : "u-fxxxxxxe-6b83-56d8-8397-011c430550a4"
} '
Body Parameters
Parameter Data Type Description Required/Optional unsubscribe (if not using devices:[])String Set to "all" to unsubscribe all devices. Required userIdString The user ID received from the JWT grant. Required
Sample Response
{
"success" : true ,
"message" : "All Devices are unsubscribed"
}