Update an existing device's tags in one of your OneSignal apps using the External User ID.


Identity Verification

OneSignal supports a higher security method known as Identity Verification. This helps prevent users from impersonating one another by generating a user-specific token on your server.


Warning - Android SDK Data Synchronization

The OneSignal Android SDKs leverage cacheing on Data Tags.

Tags added through the Android SDK tagging methods may not update if using the API to change or update the same tag.

For example, if you use SDK method sendTag("key", "value1") then update the tag value to "value2" with this API endpoint. You will not be able to set the value back to "value1" through the SDK since "value1" is cached on the device. You will need to change it to something different through the SDK to be reset.

Recommendations if using this Endpoint on Android Mobile Apps:
1 - Do not use the same tag keys for SDK and API updates
2 - If you want to use the same key for both SDK and API updates, call the SDK getTags method first to update the device's tags.

This is only applicable on the Android Mobile App SDKs.


Deleting Tags

To delete a tag, include its key and set its value to an empty string "". Omitting a key/value will not delete it.

For example, if I wanted to delete two existing tags rank and category while simultaneously adding a new tag class, the tags JSON would look like the following:

"tags": {
           "rank": "",
           "category": "",
           "class": "my_new_value"


Character Encoding

If your external_user_id contains character/ you will need to replace this with %2F in the request. For example: /OR0ScxA+= needs to be sent as %2FOR0ScxA+=.


Data Latency

A successful response means our database has received the request. This may take additional time for the tags to be available on the user.

If using Message Personalization, please allow 60+ seconds before sending your messages.