Overview
When an entitlement is created, updated, or deleted, the platform can notify the devices concerned. If the entitlement is for a specific device, only that device is notified. Otherwise, all the devices in the account are notified.
Notifications are sent only if the operator has enabled them for the entitlement (see Managing messaging).
The same message is sent whether the entitlement was created, updated, or deleted. When the client receives it, it should refresh its entitlement information from the platform.
Message format
Example of an entitlement change message, as received through AWS IoT Core:
{"data":{"reference":"Account_2356425","deviceId" : "null","productid" : "Product_123","referenceType":"ENTITLEMENT_UPDATE","status":"null","action":"REFRESH","name":"Entitlement change in account","validFrom" : "Tue Aug 12 00:00:00 UTC 2025", "expiryDate" : "Sun Aug 31 23:59:59 UTC 2025","productType" : "SUBSCRIPTION","priority":"HIGH" }}
The same message laid out for readability. Through Firebase or ADM, the SDK delivers these data fields as key–value pairs:
{
"data": {
"reference": "Account_2356425",
"deviceId": "null",
"productid": "Product_123",
"referenceType": "ENTITLEMENT_UPDATE",
"status": "null",
"action": "REFRESH",
"name": "Entitlement change in account",
"validFrom": "Tue Aug 12 00:00:00 UTC 2025",
"expiryDate": "Sun Aug 31 23:59:59 UTC 2025",
"productType": "SUBSCRIPTION",
"priority": "HIGH"
}
}
All values in data are strings:
|
Field |
Description |
|---|---|
|
|
The account ID |
|
|
The device ID, if the entitlement is for a specific device. Otherwise |
|
|
The product ID. Note the lowercase |
|
|
|
|
|
Currently always |
|
|
|
|
|
|
|
|
The date/time the entitlement is valid from, for example |
|
|
The date/time the entitlement expires, in the same format, or |
|
|
One of |
|
|
|