---
title: "Update Post"
method: PATCH
path: "/v1/posts/{id}"
tags: ["Posts"]
---

# Update Post

`PATCH /v1/posts/{id}`

Update an existing post with the passed in data. If updating a 'scheduled' post make sure to always pass 'scheduled_at' otherwise the post will process immediately

## Path parameters

- `id` string, required

## Request body

- UpdatePostDto
  - `caption` string — Caption text for the post
  - `scheduled_at` object, nullable — Scheduled date and time for the post, setting to null will post instantly
  - `platform_configurations` object, nullable — Platform-specific configurations for the post
  - `account_configurations` object, nullable — Account-specific configurations for the post
  - `media` object, nullable — Array of media IDs associated with the post
  - `media_urls` string[], nullable — Array of publicly accesible media URLs associated with the post, will be ignored if media is provided
  - `social_accounts` number[] — Array of social account IDs for posting
  - `is_draft` boolean, nullable — If true will create the post but not process it until it is updated with a scheduled date or processed instantly
  - `processing_enabled` boolean, nullable — If true will process video files to ensure they post, If false we will skip all video processing

## Response `200`

Post updated successfully.

- PostDto
  - `id` string, required — Unique identifier of the post
  - `caption` string, required — Caption text for the post
  - `status` 'posted' | 'scheduled' | 'processing' | 'failed', required — Current status of the post: scheduled, processing, or posted
  - `scheduled_at` object, nullable, required — Scheduled date and time for the post
  - `platform_configurations` object, nullable, required — Platform-specific configurations for the post
  - `social_accounts` number[], required — Array of social account IDs associated with the post
  - `account_configurations` object, nullable, required — Account-specific configurations for the post
  - `media` object, nullable, required — Array of media URLs associated with the post
  - `created_at` string, required — Timestamp when the post was created
  - `updated_at` string, required — Timestamp when the post was last updated
  - `is_draft` boolean, required — If true the post will not be processed until updated
  - `warnings` string[] — Warnings about draft behavior — e.g. platforms that will publish immediately when the draft is sent

## Other responses

- `400` — Invalid request.
- `404` — Post not found.
- `500` — Internal server error when updating the Post.

---

[API](https://skmtc.dev/post-bridge/apis/post-bridge-api.md) · [All operations](https://skmtc.dev/post-bridge/apis/post-bridge-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/post-bridge/post-bridge-api/revisions/97ae826701f6/schema)
