> For the complete documentation index, see [llms.txt](https://docs.klai.studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.klai.studio/engineering-reference-docs/creating-a-pwa/getting-started/sending-a-push-notification-from-the-api-endpoint.md).

# Sending a Push Notification from the API Endpoint

Hitting <mark style="color:red;">`/pushdata/sendnotification`</mark> endpoint ( Eg calling from FileMaker Server)

* Create a <mark style="color:red;">`POST`</mark> request to the following endpoint: <mark style="color:red;">`https://your.domain.com/pushdata/sendnotification`</mark>
* Set the <mark style="color:red;">`body`</mark> of the request will be as follows:

```json
{
    "apiKey": "BFAPI_YOUR_KEY",
    "body": "Hello from BF push notification!",
    "data": {
        "dateOfArrival_calc": "Date.now()",
        "path": "/"
    },
    "icon": "LINK_TO_YOUR_ICON",
    "title": "BF's New Feature!!!",
    "vibrate": [100, 50, 100],
    "filter": {
        "users": ["BF_USER_ID"]
    },
    "ttl": 300
}
```

{% hint style="warning" %}
The <mark style="color:red;">`filter`</mark> key is optional, only needed when push notifications should be sent only to specific users. General push notifications can be sent without the <mark style="color:red;">`filter`</mark> key. Another optional key is <mark style="color:red;">`ttl`</mark>, which defines how long a notification will stay alive if a user is offline (e.g.: ttl is set to 300 seconds, so if a user is offline, the notification will be delivered to the user if the user comes back online within 5 minutes). The default value set to ttl, if no value is passed, is 300 seconds.
{% endhint %}
