Skip to main content
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.
FieldValue
MethodPOST
Endpointhttps://{host}/API/public/streams/:{{streamId}}/sdknotifications/subscribe
Content Typeapplication/json
Authorizationauth: {{JWT}} — See How to generate the JWT Token.
API ScopeApp Builder: SDKPushNotifications; Admin Console: Not Applicable

Path Parameters

ParameterDescriptionRequired/Optional
hostThe environment URL. For example, https://platform.kore.aiRequired
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

ParameterData TypeDescriptionRequired/Optional
deviceIdStringThe user’s device ID.Required
osTypeStringThe OS type of the user’s device.Required
userIdStringThe 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.
FieldValue
MethodGET
Endpointhttps://{host}/API/public/streams/:{{streamId}}/subscribeddevices
Content Typeapplication/json
Authorizationauth: {{JWT}} — See How to generate the JWT Token.
API ScopeApp Builder: SDKPushNotifications; Admin Console: Not Applicable

Query Parameters

ParameterDescriptionRequired/Optional
hostThe environment URL. For example, https://platform.kore.aiRequired
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.
FieldValue
MethodDELETE
Endpointhttps://{host}/API/public/streams/:{{streamId}}/sdknotifications/unsubscribe
Content Typeapplication/json
Authorizationauth: {{JWT}} — See How to generate the JWT Token.
API ScopeApp Builder: SDKPushNotifications; Admin Console: Not Applicable

Path Parameters

ParameterDescriptionRequired/Optional
hostThe environment URL. For example, https://platform.kore.aiRequired
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

ParameterData TypeDescriptionRequired/Optional
devices (if not using unsubscribe: 'all')Array of objects (String)Provide the device ID and osType of devices to unsubscribe.Required
userIdStringThe 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

ParameterData TypeDescriptionRequired/Optional
unsubscribe (if not using devices:[])StringSet to "all" to unsubscribe all devices.Required
userIdStringThe user ID received from the JWT grant.Required

Sample Response

{
    "success": true,
    "message": "All Devices are unsubscribed"
}