---
title: "Update caption, schedule, status or hashtags"
method: PATCH
path: "/publications/{id}"
---

# Update caption, schedule, status or hashtags

`PATCH /publications/{id}`

Partial update. Dragging a publication on the calendar sends `scheduled_at`. Publications already `publishing` or `published` are locked except for status transitions.

## Path parameters

- `id` string, required

## Request body

- object
  - `caption` string
  - `hashtags` string[]
  - `scheduled_at` string, date-time
  - `notes` string
  - `status` 'draft' | 'scheduled' | 'ready_for_publishing' | 'publishing' | 'published' | 'failed' | 'cancelled'
  - `instagram_post_url` string
  - `failure_reason` string

## Response `200`

Updated publication

## Other responses

- `400` — Invalid input or publication locked
- `401` — Unauthorized
- `404` — Not found

---

[API](https://skmtc.dev/lovable/apis/loomly-public-api.md) · [All operations](https://skmtc.dev/lovable/apis/loomly-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lovable/loomly-public-api/revisions/082fb473547f/schema)
