---
title: "Changes to Upsert a push provider"
method: POST
path: "/push_providers"
---

# Changes to Upsert a push provider

`POST /push_providers`

> Every recorded change to this operation, newest first.
> 576 revisions in range; 3 not diffed.

## Timeline

Changed in 13 of 576 revisions.

- **2026-10-12** `30f95dce0284`: 2 info
- **2026-02-13** `72a8c35a3c01`: 1 breaking, 4 warning, 1 info
- **2025-10-29** `9eb328cf80e3`: 1 info
- **2025-09-08** `f50765704632`: 1 info
- **2025-08-27** `b23da49bb94a`: 6 info
- **2025-07-18** `ecf82915c7e4`: 1 info
- **2025-05-21** `b250ed6300aa`: 1 info
- **2024-09-05** `c008f63f0618`: 2 info
- **2024-05-08** `93c38a25cccf`: 1 breaking
- **2024-04-29** `a49249cffc7a`: 3 breaking, 3 info
- **2024-02-14** `9abea6d94d53`: 3 warning
- **2023-06-19** `1c08d6b56ba4`: 2 breaking, 67 info
- **2023-05-16** `f6f95dfaa122`: 7 breaking, 65 warning, 5 info

## Changes

- **2026-10-12** `30f95dce0284`: 2 info
  - added the optional property `cooldown_remaining_ms` to the response with the `400` status
  - added the optional property `cooldown_remaining_ms` to the response with the `429` status
- **2026-02-13** `72a8c35a3c01`: 1 breaking, 4 warning, 1 info
  - the request property `push_provider` became not nullable
  - removed the request property `push_provider/created_at`
  - removed the request property `push_provider/huawei_host`
  - removed the request property `push_provider/push_templates`
  - removed the request property `push_provider/updated_at`
  - the request property `push_provider/type` became optional
- **2025-10-29** `9eb328cf80e3`: 1 info
  - added the new optional request property `push_provider/huawei_host`
- **2025-09-08** `f50765704632`: 1 info
  - the request property `push_provider/push_templates/items/` became nullable
- **2025-08-27** `b23da49bb94a`: 6 info
  - added the new `feeds.activity.added` enum value to the request property `push_provider/push_templates/items/event_type`
  - added the new `feeds.activity.reaction.added` enum value to the request property `push_provider/push_templates/items/event_type`
  - added the new `feeds.comment.added` enum value to the request property `push_provider/push_templates/items/event_type`
  - added the new `feeds.comment.reaction.added` enum value to the request property `push_provider/push_templates/items/event_type`
  - added the new `feeds.follow.created` enum value to the request property `push_provider/push_templates/items/event_type`
  - added the new `feeds.notification_feed.updated` enum value to the request property `push_provider/push_templates/items/event_type`
- **2025-07-18** `ecf82915c7e4`: 1 info
  - added the new `notification.reminder_due` enum value to the request property `push_provider/push_templates/items/event_type`
- **2025-05-21** `b250ed6300aa`: 1 info
  - added the new optional request property `push_provider/push_templates`
- **2024-09-05** `c008f63f0618`: 2 info
  - added the optional property `unrecoverable` to the response with the `400` status
  - added the optional property `unrecoverable` to the response with the `429` status
- **2024-05-08** `93c38a25cccf`: 1 breaking
  - the `push_provider/type` request property type changed from `integer` to `string`
- **2024-04-29** `a49249cffc7a`: 3 breaking, 3 info
  - the request property `push_provider/created_at` became required
  - the request property `push_provider/type` became required
  - the request property `push_provider/updated_at` became required
  - api tag `product:chat` added
  - api tag `Server-side` removed
  - the request property `push_provider` became nullable
- **2024-02-14** `9abea6d94d53`: 3 warning
  - the optional response header `X-RateLimit-Limit` removed for the status `429`
  - the optional response header `X-RateLimit-Remaining` removed for the status `429`
  - the optional response header `X-RateLimit-Reset` removed for the status `429`
- **2023-06-19** `1c08d6b56ba4`: 2 breaking, 67 info
  - the `code` response's property type changed from `string` to `integer` for status `400`
  - the `code` response's property type changed from `string` to `integer` for status `429`
  - api tag `Server-side` added
  - api tag `Push` removed
  - api tag `Settings` removed
  - removed the `access-key-error` enum value from the `code` response property for the response status `400`
  - removed the `access-key-error` enum value from the `code` response property for the response status `429`
  - removed the `app-suspended` enum value from the `code` response property for the response status `400`
  - removed the `app-suspended` enum value from the `code` response property for the response status `429`
  - removed the `auth-failed` enum value from the `code` response property for the response status `400`
  - removed the `auth-failed` enum value from the `code` response property for the response status `429`
  - removed the `channel-feature-not-supported` enum value from the `code` response property for the response status `400`
  - removed the `channel-feature-not-supported` enum value from the `code` response property for the response status `429`
  - removed the `connection-id-not-found` enum value from the `code` response property for the response status `400`
  - removed the `connection-id-not-found` enum value from the `code` response property for the response status `429`
  - removed the `cool-down` enum value from the `code` response property for the response status `400`
  - removed the `cool-down` enum value from the `code` response property for the response status `429`
  - removed the `custom-command-endpoint-missing` enum value from the `code` response property for the response status `400`
  - removed the `custom-command-endpoint-missing` enum value from the `code` response property for the response status `429`
  - removed the `custom-command-endpoint=call-error` enum value from the `code` response property for the response status `400`
  - removed the `custom-command-endpoint=call-error` enum value from the `code` response property for the response status `429`
  - removed the `duplicate-username` enum value from the `code` response property for the response status `400`
  - removed the `duplicate-username` enum value from the `code` response property for the response status `429`
  - removed the `event-not-supported` enum value from the `code` response property for the response status `400`
  - removed the `event-not-supported` enum value from the `code` response property for the response status `429`
  - removed the `expired-token` enum value from the `code` response property for the response status `400`
  - removed the `expired-token` enum value from the `code` response property for the response status `429`
  - removed the `input-error` enum value from the `code` response property for the response status `400`
  - removed the `input-error` enum value from the `code` response property for the response status `429`
  - removed the `internal-error` enum value from the `code` response property for the response status `400`
  - removed the `internal-error` enum value from the `code` response property for the response status `429`
  - removed the `invalid-token-signature` enum value from the `code` response property for the response status `400`
  - removed the `invalid-token-signature` enum value from the `code` response property for the response status `429`
  - removed the `message-too-long` enum value from the `code` response property for the response status `400`
  - removed the `message-too-long` enum value from the `code` response property for the response status `429`
  - removed the `moderation-failed` enum value from the `code` response property for the response status `400`
  - removed the `moderation-failed` enum value from the `code` response property for the response status `429`
  - removed the `multiple-nesting-level` enum value from the `code` response property for the response status `400`
  - removed the `multiple-nesting-level` enum value from the `code` response property for the response status `429`
  - removed the `not-allowed` enum value from the `code` response property for the response status `400`
  - …29 more
- **2023-05-16** `f6f95dfaa122`: 7 breaking, 65 warning, 5 info
  - the `push_provider/description` response property's maxLength was unset from `128` for the response status `201`
  - the `push_provider/disabled_reason` response property's maxLength was unset from `255` for the response status `201`
  - the `push_provider/name` response property's maxLength was unset from `36` for the response status `201`
  - the `push_provider/name` response property's minLength was decreased from `1` to `0` for the response status `201`
  - the `code` response's property type changed from `integer` to `string` for status `400`
  - the `code` response's property type changed from `integer` to `string` for status `429`
  - the `push_provider/type` response's property type changed from `integer` to `string` for status `201`
  - removed the optional property `push_provider/apn_notification_template` from the response with the `201` status
  - added the new `access-key-error` enum value to the `code` response property for the response status `400`
  - added the new `access-key-error` enum value to the `code` response property for the response status `429`
  - added the new `app-suspended` enum value to the `code` response property for the response status `400`
  - added the new `app-suspended` enum value to the `code` response property for the response status `429`
  - added the new `auth-failed` enum value to the `code` response property for the response status `400`
  - added the new `auth-failed` enum value to the `code` response property for the response status `429`
  - added the new `channel-feature-not-supported` enum value to the `code` response property for the response status `400`
  - added the new `channel-feature-not-supported` enum value to the `code` response property for the response status `429`
  - added the new `connection-id-not-found` enum value to the `code` response property for the response status `400`
  - added the new `connection-id-not-found` enum value to the `code` response property for the response status `429`
  - added the new `cool-down` enum value to the `code` response property for the response status `400`
  - added the new `cool-down` enum value to the `code` response property for the response status `429`
  - added the new `custom-command-endpoint-missing` enum value to the `code` response property for the response status `400`
  - added the new `custom-command-endpoint-missing` enum value to the `code` response property for the response status `429`
  - added the new `custom-command-endpoint=call-error` enum value to the `code` response property for the response status `400`
  - added the new `custom-command-endpoint=call-error` enum value to the `code` response property for the response status `429`
  - added the new `duplicate-username` enum value to the `code` response property for the response status `400`
  - added the new `duplicate-username` enum value to the `code` response property for the response status `429`
  - added the new `event-not-supported` enum value to the `code` response property for the response status `400`
  - added the new `event-not-supported` enum value to the `code` response property for the response status `429`
  - added the new `expired-token` enum value to the `code` response property for the response status `400`
  - added the new `expired-token` enum value to the `code` response property for the response status `429`
  - added the new `input-error` enum value to the `code` response property for the response status `400`
  - added the new `input-error` enum value to the `code` response property for the response status `429`
  - added the new `internal-error` enum value to the `code` response property for the response status `400`
  - added the new `internal-error` enum value to the `code` response property for the response status `429`
  - added the new `invalid-token-signature` enum value to the `code` response property for the response status `400`
  - added the new `invalid-token-signature` enum value to the `code` response property for the response status `429`
  - added the new `message-too-long` enum value to the `code` response property for the response status `400`
  - added the new `message-too-long` enum value to the `code` response property for the response status `429`
  - added the new `moderation-failed` enum value to the `code` response property for the response status `400`
  - added the new `moderation-failed` enum value to the `code` response property for the response status `429`
  - …37 more

---

[Operation](https://skmtc.dev/getstream/apis/stream-api/docs/push_providers/post.md) - [API](https://skmtc.dev/getstream/apis/stream-api.md) - [Page](https://skmtc.dev/getstream/apis/stream-api/changes/push_providers/post)
