---
title: "Update queue"
method: PATCH
path: "/api/post_queues/{id}"
tags: ["Queues"]
---

# Update queue

`PATCH /api/post_queues/{id}`

## Request

- Base URL: `https://api.postproxy.dev`
- URL: `https://api.postproxy.dev/api/post_queues/{id}`
- Auth: HTTP bearer

Updates a queue's settings, timeslots, or enabled state. Any changes to timezone or timeslots will trigger a rearrangement of all queued posts.

## Path parameters

- `id` string, required

## Query parameters

- `profile_group_id` string

## Headers

- `Idempotency-Key` string

## Request body

- QueueUpdateRequest: Request body for updating a queue. Any changes to timezone or timeslots trigger a rearrangement of all queued posts.
  - `post_queue` object
    - `name` string: Queue name
    - `description` string: Description
    - `timezone` string: IANA timezone
    - `enabled` boolean: Pause (false) or unpause (true) the queue
    - `jitter` integer: Random offset in minutes (0-60)
    - `queue_timeslots_attributes` QueueTimeslotInput[]: Add timeslots (day + time) or remove them (id + _destroy: true)
      - `id` integer: Existing timeslot ID (required when removing)
      - `day` integer: Day of the week: 0=Sunday through 6=Saturday
      - `time` string: Time in 24-hour HH:MM format
      - `_destroy` boolean: Pass true together with id to remove the timeslot

## Response `200`

The updated queue

- Queue: A posting queue that automatically schedules posts into recurring weekly timeslots, with priority-based ordering.
  - `id` string: Queue identifier (ID)
  - `name` string: Queue name
  - `description` string, nullable: Optional description
  - `timezone` string: IANA timezone name (e.g. America/New_York)
  - `enabled` boolean: Whether the queue is active. When paused (false), posts in the queue will not be published even if their scheduled time arrives
  - `jitter` integer: Random offset in minutes (+/-) applied to scheduled times (0-60, default: 0)
  - `profile_group_id` string: Associated profile group (ID)
  - `timeslots` QueueTimeslot[]: Weekly timeslot definitions
    - `id` integer: Timeslot ID (used for deletion)
    - `day` integer: Day of the week: 0=Sunday, 1=Monday, ..., 6=Saturday
    - `time` string: Time in 24-hour HH:MM format
  - `posts_count` integer: Number of currently scheduled posts

## Other responses

- `401`: Invalid, missing, or insufficient API key permissions.
- `404`: Resource does not exist or is not accessible.
- `422`: Validation failed.

---

[API](https://skmtc.dev/postproxy/apis/postproxy-social-media-api.md) - [All operations](https://skmtc.dev/postproxy/apis/postproxy-social-media-api/llms.txt) - [OpenAPI document](https://skmtc.dev/postproxy/apis/postproxy-social-media-api/revisions/d54482ac4ce7?raw)
