---
title: "Replace queue schedule"
method: PUT
path: "/v0/social-accounts/{id}/queue-schedule"
tags: ["Social Accounts"]
---

# Replace queue schedule

`PUT /v0/social-accounts/{id}/queue-schedule`

## Request

- Base URL: `https://api.schedulin.app`
- URL: `https://api.schedulin.app/v0/social-accounts/{id}/queue-schedule`
- Auth: one of:
  - API key in header `x-api-key`
  - OAuth 2 (authorization code, authorization URL `https://api.schedulin.app/oauth/authorize`, token URL `https://api.schedulin.app/oauth/token`, scopes: `social-accounts:write`)

Replace the account's whole weekly posting schedule with `times` (send an empty array to clear it). Times are wall-clock HH:MM in the account's timezone — change that with `PUT /v0/social-accounts/{id}/timezone`. Posts already scheduled keep their times; only future `action: "queue"` placements use the new schedule. Returns the saved schedule.

## Path parameters

- `id` string, required

## Request body

- object
  - `times` object[], required
    - `weekday` integer, required: Day of week in the account's timezone, 0 = Sunday … 6 = Saturday
    - `time` string, required: Wall-clock time in the account's timezone, 24h HH:MM
    - `capacity` integer: How many posts this slot can hold (1-10, default 1)
    - `label` string, nullable

## Response `200`

OK

- object
  - `timezone` string, required
  - `times` object[], required
    - `weekday` integer, required: Day of week in the account's timezone, 0 = Sunday … 6 = Saturday
    - `time` string, required: Wall-clock time in the account's timezone, 24h HH:MM
    - `capacity` integer: How many posts this slot can hold (1-10, default 1)
    - `label` string, nullable, required

## Other responses

- `400`: Bad Request — the request isn't allowed in the resource's current state (e.g. editing a published post).
- `401`: Unauthorized — missing or invalid API key / access token.
- `403`: Forbidden — the credential lacks the required scope or access.
- `404`: Not Found
- `409`: Conflict
- `422`: Unprocessable request. Schema validation failures have `code: "INPUT_VALIDATION_FAILED"` and `data.fieldErrors` mapping each invalid field to its messages (nested issues name their full path, e.g. `media[0].url: ...`). Business-rule rejections (e.g. a `scheduledAt` in the past) have `code: "UNPROCESSABLE_CONTENT"` and carry the reason in `data.message` and `data.formErrors`.
- `429`: Rate limit exceeded. Wait `Retry-After` seconds before retrying.
- `500`: Internal Server Error

---

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