---
title: "Update schedule"
method: PUT
path: "/v1/queue/slots"
tags: ["Queue"]
---

# Update schedule

`PUT /v1/queue/slots`

Create a new queue or update an existing one. Without queueId, creates/updates the default queue. With queueId, updates a specific queue. With setAsDefault=true, makes this queue the default for the profile.

## Request body

- object
  - `profileId` string, required
  - `queueId` string — Queue ID to update (optional)
  - `name` string — Queue name
  - `timezone` string, required
  - `slots` QueueSlot[], required
    - `dayOfWeek` integer — Day of week (0=Sunday, 6=Saturday)
    - `time` string — Time in HH:mm format (24-hour)
  - `active` boolean
  - `setAsDefault` boolean — Make this queue the default
  - `reshuffleExisting` boolean — Whether to reschedule existing queued posts to match new slots

## Response `200`

Queue schedule updated

- QueueUpdateResponse
  - `success` boolean
  - `schedule` QueueSchedule
    - `_id` string — Unique queue identifier
    - `profileId` string — Profile ID this queue belongs to
    - `name` string — Queue name (e.g., "Morning Posts", "Evening Content")
    - `timezone` string — IANA timezone (e.g., America/New_York)
    - `slots` QueueSlot[]
      - `dayOfWeek` integer — Day of week (0=Sunday, 6=Saturday)
      - `time` string — Time in HH:mm format (24-hour)
    - `active` boolean — Whether the queue is active
    - `isDefault` boolean — Whether this is the default queue for the profile (used when no queueId specified)
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `nextSlots` string[]
  - `reshuffledCount` integer
  - `skippedDailyLimit` integer
  - `isNewQueue` boolean

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `404` — Profile not found

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/revisions/f81ca70ea6b9/schema)
