Update a player’s (Subscription’s) information using the External ID.

This is a Legacy API. Use Update User or Update Subscription instead.


Path Parameters

ParameterTypeRequiredDescription
app_idstringYesYour OneSignal App ID.
external_user_idstringYesThe user’s External ID.

Headers

HeaderValueRequiredDescription
AuthorizationBasic YOUR_LEGACY_REST_API_KEYYesYour Legacy OneSignal API key.
Content-Typeapplication/jsonYesThe content type of the request.

Request Body Parameters

FieldTypeRequiredDescription
tagsobjectYesKey-value pairs to set or update.
  • To delete a tag, set its value to an empty string ("").
  • Existing tags with the same keys will be overwritten.

Example Request

PATCH /api/v1/apps/your_app_id/users/user123 HTTP/1.1
Host: onesignal.com
Authorization: Basic YOUR_LEGACY_REST_API_KEY
Content-Type: application/json

{
  "tags": {
    "plan": "premium",
    "logged_in": "true",
    "referral": ""
  }
}

Response

{
  "success": true
}

Errors

  • 400 Bad Request – Invalid request or payload.
  • 401 Unauthorized – Invalid or missing keys.
  • 403 Forbidden – Access denied due to insufficient permissions.
  • 404 Not Found – No players found for given external_user_id.

Update a player’s (Subscription’s) information using the External ID.

This is a Legacy API. Use Update User or Update Subscription instead.


Path Parameters

ParameterTypeRequiredDescription
app_idstringYesYour OneSignal App ID.
external_user_idstringYesThe user’s External ID.

Headers

HeaderValueRequiredDescription
AuthorizationBasic YOUR_LEGACY_REST_API_KEYYesYour Legacy OneSignal API key.
Content-Typeapplication/jsonYesThe content type of the request.

Request Body Parameters

FieldTypeRequiredDescription
tagsobjectYesKey-value pairs to set or update.
  • To delete a tag, set its value to an empty string ("").
  • Existing tags with the same keys will be overwritten.

Example Request

PATCH /api/v1/apps/your_app_id/users/user123 HTTP/1.1
Host: onesignal.com
Authorization: Basic YOUR_LEGACY_REST_API_KEY
Content-Type: application/json

{
  "tags": {
    "plan": "premium",
    "logged_in": "true",
    "referral": ""
  }
}

Response

{
  "success": true
}

Errors

  • 400 Bad Request – Invalid request or payload.
  • 401 Unauthorized – Invalid or missing keys.
  • 403 Forbidden – Access denied due to insufficient permissions.
  • 404 Not Found – No players found for given external_user_id.