> For the complete documentation index, see [llms.txt](https://docs.ruuvi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ruuvi.com/communicate-with-ruuvi-cloud/cloud/user-api/push-notifications.md).

# Push Notifications

Push notification token management

## Register a token for push notifications

> Registers a push notification token for the authenticated user.\
> The type of the token determines the handler used to send notifications.  Currently supported types are \`iOS\` and \`Android\`, but other values are allowed  for future compatibility.\
> Both Android and iOS handlers use params to define the language of the notifications, default "en". Supported languages as of 2025-11 are English (en), Finnish (fi), Swedish (sv), French (fr), Russian (ru), and German (de).\
> Rate limits apply per user account, IP address and total calls. <br>

```json
{"openapi":"3.0.3","info":{"title":"Ruuvi Cloud - User API","version":"1.0.0"},"tags":[{"name":"Push-Notifications","description":"Push notification token management"}],"servers":[{"url":"https://network.ruuvi.com"},{"url":"https://testnet.ruuvi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Success":{"type":"object","required":["result","data"],"properties":{"result":{"type":"string","enum":["success"]},"data":{"description":"Endpoint-specific payload"}}},"Error":{"type":"object","required":["result","error","code"],"properties":{"result":{"type":"string","enum":["error"]},"error":{"type":"string","description":"Human-readable explanation"},"code":{"type":"string","description":"Machine-readable primary error code"},"sub_code":{"nullable":true,"type":"string","description":"Optional secondary code useful for client logic"}}}}},"paths":{"/push-register":{"post":{"summary":"Register a token for push notifications","description":"Registers a push notification token for the authenticated user.\nThe type of the token determines the handler used to send notifications.  Currently supported types are `iOS` and `Android`, but other values are allowed  for future compatibility.\nBoth Android and iOS handlers use params to define the language of the notifications, default \"en\". Supported languages as of 2025-11 are English (en), Finnish (fi), Swedish (sv), French (fr), Russian (ru), and German (de).\nRate limits apply per user account, IP address and total calls. \n","operationId":"pushRegister","tags":["Push-Notifications"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token","type","name"],"properties":{"token":{"type":"string","description":"Push notification token, used to authenticate at the push notification services"},"type":{"type":"string","description":"Device platform type","enum":["iOS","Android"]},"name":{"type":"string","description":"Human-readable device name"},"data":{"type":"object","description":"Additional nested data for the device. Handler-specific.","additionalProperties":true},"params":{"type":"object","description":"Optional parameters for push notification behavior. Handler-specific.","additionalProperties":true}}}}}},"responses":{"200":{"description":"Push notification token registered successfully","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Success"},{"type":"object","properties":{"data":{"type":"object","required":["id","lastAccessed","name"],"properties":{"id":{"type":"integer","format":"int64","description":"Unique identifier for the registered push token"},"lastAccessed":{"type":"integer","format":"int64","description":"Unix timestamp of last access"},"name":{"type":"string","description":"Human-readable device name"}}}}}]}}}},"400":{"description":"INVALID - Missing or malformed fields   (`token`, `type`, or `name` missing; invalid type value)\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"UNAUTHORIZED - Auth token missing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"FORBIDDEN - User does not have permission to register push tokens","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests - Rate limit exceeded Rate limits apply per user account, IP address and total calls.  Try again later.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ruuvi.com/communicate-with-ruuvi-cloud/cloud/user-api/push-notifications.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
