---
title: "Changes to Update a single post"
method: PUT
path: "/posts/{id}.json"
---

# Changes to Update a single post

`PUT /posts/{id}.json`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 8 of 52 revisions.

- **2026-01-31** `26b802611328`: 1 info
- **2025-10-14** `e90da7406181`: 1 info
- **2025-03-10** `b2fb29c265a4`: 2 info
- **2024-12-29** `40b2f42a88e8`: 1 info
- **2024-08-13** `7153cdbbf109`: 2 breaking
- **2024-01-27** `2df0ac845943`: 1 breaking
- **2023-08-11** `7b91dc8ad5ad`: 3 breaking, 2 warning, 53 info
- **2022-03-05** `e1108b0434c0`: 59 breaking, 9 warning, 9 info

## Changes

- **2026-01-31** `26b802611328`: 1 info
  - added the new optional request property `bypass_bump`
- **2025-10-14** `e90da7406181`: 1 info
  - added the optional property `post/post_localizations` to the response with the `200` status
- **2025-03-10** `b2fb29c265a4`: 2 info
  - added the required property `post/post_url` to the response with the `200` status
  - added the required property `post/posts_count` to the response with the `200` status
- **2024-12-29** `40b2f42a88e8`: 1 info
  - added the optional property `post/badges_granted` to the response with the `200` status
- **2024-08-13** `7153cdbbf109`: 2 breaking
  - the `post/flair_group_id` response's property type changed from `string, null` to `integer, null` for status `200`
  - the `post/reviewable_id` response's property type changed from `string, null` to `integer, null` for status `200`
- **2024-01-27** `2df0ac845943`: 1 breaking
  - the `post/score` response's property type changed from no type to `number` for status `200`
- **2023-08-11** `7b91dc8ad5ad`: 3 breaking, 2 warning, 53 info
  - the request's body type changed from `object` to no type
  - the response's body type changed from `object` to no type for status `200`
  - the `post/score` response's property type changed from `number` to no type for status `200`
  - deleted the `header` request parameter `Api-Key`
  - deleted the `header` request parameter `Api-Username`
  - added the optional property `post/can_see_hidden_post` to the response with the `200` status
  - added the optional property `post/flair_group_id` to the response with the `200` status
  - added the optional property `post/mentioned_users` to the response with the `200` status
  - the response property `post` became required for the status `200`
  - the response property `post/actions_summary` became required for the status `200`
  - the response property `post/actions_summary/items/can_act` became required for the status `200`
  - the response property `post/actions_summary/items/id` became required for the status `200`
  - the response property `post/admin` became required for the status `200`
  - the response property `post/avatar_template` became required for the status `200`
  - the response property `post/can_delete` became required for the status `200`
  - the response property `post/can_edit` became required for the status `200`
  - the response property `post/can_recover` became required for the status `200`
  - the response property `post/can_view_edit_history` became required for the status `200`
  - the response property `post/can_wiki` became required for the status `200`
  - the response property `post/cooked` became required for the status `200`
  - the response property `post/created_at` became required for the status `200`
  - the response property `post/deleted_at` became required for the status `200`
  - the response property `post/draft_sequence` became required for the status `200`
  - the response property `post/edit_reason` became required for the status `200`
  - the response property `post/flair_bg_color` became required for the status `200`
  - the response property `post/flair_color` became required for the status `200`
  - the response property `post/flair_url` became required for the status `200`
  - the response property `post/hidden` became required for the status `200`
  - the response property `post/id` became required for the status `200`
  - the response property `post/incoming_link_count` became required for the status `200`
  - the response property `post/moderator` became required for the status `200`
  - the response property `post/post_number` became required for the status `200`
  - the response property `post/post_type` became required for the status `200`
  - the response property `post/primary_group_name` became required for the status `200`
  - the response property `post/quote_count` became required for the status `200`
  - the response property `post/readers_count` became required for the status `200`
  - the response property `post/reads` became required for the status `200`
  - the response property `post/reply_count` became required for the status `200`
  - the response property `post/reply_to_post_number` became required for the status `200`
  - the response property `post/reviewable_id` became required for the status `200`
  - …18 more
- **2022-03-05** `e1108b0434c0`: 59 breaking, 9 warning, 9 info
  - added the new required `header` request parameter `Api-Key`
  - added the new required `header` request parameter `Api-Username`
  - the response property `post/deleted_at` became nullable for the status `200`
  - the response property `post/display_username` became nullable for the status `200`
  - the response property `post/edit_reason` became nullable for the status `200`
  - the response property `post/name` became nullable for the status `200`
  - the response property `post/primary_group_name` became nullable for the status `200`
  - the response property `post/reply_to_post_number` became nullable for the status `200`
  - the response property `post/user_title` became nullable for the status `200`
  - the response property `post/actions_summary` became optional for the status `200`
  - the response property `post/actions_summary/items/can_act` became optional for the status `200`
  - the response property `post/actions_summary/items/id` became optional for the status `200`
  - the response property `post/admin` became optional for the status `200`
  - the response property `post/avatar_template` became optional for the status `200`
  - the response property `post/can_delete` became optional for the status `200`
  - the response property `post/can_edit` became optional for the status `200`
  - the response property `post/can_recover` became optional for the status `200`
  - the response property `post/can_view_edit_history` became optional for the status `200`
  - the response property `post/can_wiki` became optional for the status `200`
  - the response property `post/cooked` became optional for the status `200`
  - the response property `post/created_at` became optional for the status `200`
  - the response property `post/display_username` became optional for the status `200`
  - the response property `post/draft_sequence` became optional for the status `200`
  - the response property `post/hidden` became optional for the status `200`
  - the response property `post/id` became optional for the status `200`
  - the response property `post/incoming_link_count` became optional for the status `200`
  - the response property `post/moderator` became optional for the status `200`
  - the response property `post/name` became optional for the status `200`
  - the response property `post/post_number` became optional for the status `200`
  - the response property `post/post_type` became optional for the status `200`
  - the response property `post/quote_count` became optional for the status `200`
  - the response property `post/reads` became optional for the status `200`
  - the response property `post/reply_count` became optional for the status `200`
  - the response property `post/score` became optional for the status `200`
  - the response property `post/staff` became optional for the status `200`
  - the response property `post/topic_id` became optional for the status `200`
  - the response property `post/topic_slug` became optional for the status `200`
  - the response property `post/trust_level` became optional for the status `200`
  - the response property `post/updated_at` became optional for the status `200`
  - the response property `post/user_deleted` became optional for the status `200`
  - …37 more

---

[Operation](https://skmtc.dev/discourse/apis/discourse-api-documentation/docs/posts/:id.json/put.md) - [API](https://skmtc.dev/discourse/apis/discourse-api-documentation.md) - [Page](https://skmtc.dev/discourse/apis/discourse-api-documentation/changes/posts/:id.json/put)
