---
title: "Changes to Create device"
method: POST
path: "/devices"
---

# Changes to Create device

`POST /devices`

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

## Timeline

Changed in 11 of 576 revisions.

- **2026-10-12** `30f95dce0284`: 2 info
- **2026-07-29** `d274674f0337`: 4 info
- **2025-10-06** `4834c2766be0`: 1 info
- **2025-04-17** `4790b8d86366`: 1 info
- **2025-01-31** `1af2cd87156c`: 1 warning
- **2024-09-05** `c008f63f0618`: 2 info
- **2024-04-30** `8fa8e0a897c0`: 1 info
- **2024-04-29** `a49249cffc7a`: 2 breaking, 6 info
- **2024-02-14** `9abea6d94d53`: 3 warning, 1 info
- **2023-06-19** `1c08d6b56ba4`: 2 breaking, 64 info
- **2023-05-16** `f6f95dfaa122`: 3 breaking, 70 warning, 4 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-07-29** `d274674f0337`: 4 info
  - added the new optional request property `hardware_id`
  - the request property `user/privacy_settings/delivery_receipts/enabled` became optional
  - the request property `user/privacy_settings/read_receipts/enabled` became optional
  - the request property `user/privacy_settings/typing_indicators/enabled` became optional
- **2025-10-06** `4834c2766be0`: 1 info
  - added the new optional request property `user/privacy_settings/delivery_receipts`
- **2025-04-17** `4790b8d86366`: 1 info
  - added the new optional request property `user/teams_role`
- **2025-01-31** `1af2cd87156c`: 1 warning
  - removed the request property `user/push_notifications`
- **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-04-30** `8fa8e0a897c0`: 1 info
  - added the new optional request property `user/privacy_settings`
- **2024-04-29** `a49249cffc7a`: 2 breaking, 6 info
  - the request property `id` became required
  - the request property `push_provider` became required
  - api tag `product:chat` added
  - api tag `Devices` removed
  - api tag `Push` removed
  - added the new optional request property `user/invisible`
  - added the new optional request property `user/push_notifications`
  - added the success response with the status `201`
- **2024-02-14** `9abea6d94d53`: 3 warning, 1 info
  - 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`
  - added the new optional request property `user/language`
- **2023-06-19** `1c08d6b56ba4`: 2 breaking, 64 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`
  - 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`
  - removed the `not-allowed` enum value from the `code` response property for the response status `429`
  - removed the `not-found` enum value from the `code` response property for the response status `400`
  - removed the `not-found` enum value from the `code` response property for the response status `429`
  - …26 more
- **2023-05-16** `f6f95dfaa122`: 3 breaking, 70 warning, 4 info
  - 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`
  - removed the success response with the status `201`
  - removed the request property `user/ban_expires`
  - removed the request property `user/banned`
  - removed the request property `user/invisible`
  - removed the request property `user/language`
  - removed the request property `user/push_notifications`
  - removed the request property `user/revoke_tokens_issued_before`
  - 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`
  - …37 more

---

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