> For the complete documentation index, see [llms.txt](https://mastodon.gitbook.io/mastodon/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mastodon.gitbook.io/mastodon/entities/push-subscription.md).

# PushSubscription

## Example

```javascript
{
  "id": 328183,
  "endpoint": "https://yourdomain.example/listener",
  "alerts": {
    "follow": false,
    "favourite": false,
    "reblog": false,
    "mention": true,
    "poll": false
  },
  "server_key": "BCk-QqERU0q-CfYZjcuB6lnyyOYfJ2AifKqfeGIm7Z-HiTU5T9eTG5GxVA0_OH5mMlI4UkkDTpaZwozy0TzdZ2M="
}
```

## Required attributes <a href="#push-subscription" id="push-subscription"></a>

### `id`

**Description:** The id of the push subscription in the database.\
**Type:** String (cast from an integer, but not guaranteed to be a number)\
**Version history:** Added in 2.4.0

### `endpoint`

**Description:** Where push alerts will be sent to.\
**Type:** String (URL)\
**Version history:** Added in 2.4.0

### `server_key`

**Description:** The streaming server's VAPID key.\
**Type:** String\
**Version history:** Added in 2.4.0

### `alerts`

**Description:** Which alerts should be delivered to the `endpoint`.\
**Type:** Hash\
**Version history:** Added in 2.4.0. `alerts[poll]` added in 2.8.0.

#### `alerts[follow]`

Receive a push notification when someone has followed you? Boolean.

#### `alerts[favourite]`

Receive a push notification when a status you created has been favourited by someone else? Boolean.

#### `alerts[mention]`

Receive a push notification when someone else has mentioned you in a status? Boolean.

#### `alerts[reblog]`

Receive a push notification when a status you created has been boosted by someone else? Boolean.

#### `alerts[poll]`

Receive a push notification when a poll you voted in or created has ended? Boolean. Added in 2.8.0

## See also

{% content-ref url="/pages/-LqIf0Yklg-nYp9AhvzY" %}
[push](/mastodon/methods/notifications/push.md)
{% endcontent-ref %}

{% embed url="<https://github.com/tootsuite/mastodon/blob/master/app/serializers/rest/web_push_subscription_serializer.rb>" %}
app/serializers/rest/web\_push\_subscription\_serializer.rb
{% endembed %}
