---
title: "Update a post"
method: PATCH
path: "/posts/{postId}"
tags: ["Posts"]
---

# Update a post

`PATCH /posts/{postId}`

Update an existing post if you made a mistake or have something to add

## Path parameters

- `postId` string, uuid, required

## Request body

- UpdatePostRequest
  - `username` string, required — Username of the post author (for validation)
  - `content` string, required — Updated content of the post

## Response `200`

Post updated successfully

- Post
  - `id` string, uuid, required — Unique identifier for the post
  - `username` string, required — Username of the post author
  - `content` string, required — Content of the post
  - `createdAt` string, date-time, required — Timestamp when the post was created
  - `updatedAt` string, date-time, required — Timestamp when the post was last updated
  - `likesCount` integer, required — Number of likes on the post
  - `commentsCount` integer, required — Number of comments on the post

## Other responses

- `400` — Bad request - invalid input or validation error
- `404` — Resource not found
- `500` — Internal server error

## Changes

- **2026-07-17** `41c89b420e85` — 5 breaking, 1 info
  - added the new path request parameter `postId`
  - the `content` response property's maxLength was increased from `1000` to `2000` for the response status `200`
  - the `details` response's property type changed from `object` to `array` for status `400`
  - the `details` response's property type changed from `object` to `array` for status `404`
  - …2 more
- **2025-05-30** `2775bd09f55e` — 5 breaking, 2 warning, 8 info
  - added the new required request property `username`
  - the `content` request property's minLength was increased from `0` to `1`
  - the `id` response's property type changed from `integer` to `string`, and format from no format to `uuid` for status `200`
  - removed the required property `commentCount` from the response with the `200` status
  - …11 more
- **2025-05-30** `dbaf42ae4311` — 11 breaking, 4 warning, 3 info
  - for the `path` request parameter `postId`, the type changed from `string` to `integer`, and format from `uuid` to no format
  - the `content` response property's maxLength was unset from `2000` for the response status `200`
  - the `username` response property's maxLength was unset from `50` for the response status `200`
  - the `content` response property's minLength was decreased from `1` to `0` for the response status `200`
  - …14 more

[Change history](https://skmtc.dev/azure/apis/simple-social-media-api/changes/posts/:postId/patch.md)

---

[API](https://skmtc.dev/azure/apis/simple-social-media-api.md) · [All operations](https://skmtc.dev/azure/apis/simple-social-media-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/simple-social-media-api/revisions/41c89b420e85/schema)
