---
title: "Bulk update posts"
method: PATCH
path: "/posts/bulk"
tags: ["Posts"]
---

# Bulk update posts

`PATCH /posts/bulk`

## Request

- Base URL: `https://doomscrollr.com/api/v1`
- URL: `https://doomscrollr.com/api/v1/posts/bulk`
- Auth: HTTP bearer

Update up to 100 posts owned by the API key account. Supports status/scheduling, feed flags, and tag replace/append/remove.

## Request body

- object
  - `ids` integer[], required
  - `title` string
  - `description` string
  - `status` 'published' | 'draft' | 'scheduled'
  - `publish_at` string, date-time
  - `tags` string: Comma-separated tags
  - `tag_mode` 'replace' | 'append' | 'remove'
  - `hide_main_feed` boolean
  - `subscription_only` boolean
  - `shoppable` boolean: Show or hide the buy button on all selected posts

## Response `200`

Bulk update result

- object
  - `updated` integer
  - `deleted` integer
  - `ids` integer[]
  - `missing_ids` integer[]

## Other responses

- `429`: Monthly API rate limit exceeded

---

[API](https://skmtc.dev/doomscrollr/apis/doomscrollr-api.md) · [All operations](https://skmtc.dev/doomscrollr/apis/doomscrollr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/doomscrollr/apis/doomscrollr-api/revisions/0bd7ab034196?raw)
