---
title: "Write and queue a week of posts from one topic"
method: POST
path: "/api/week"
---

# Write and queue a week of posts from one topic

`POST /api/week`

## Request

- Base URL: `https://postwire.io`
- URL: `https://postwire.io/api/week`
- Auth: HTTP bearer

One topic in, one post a day out: each day is written from a different angle for every network asked, and queued at start_hour in the given IANA timezone, starting tomorrow. Text networks only (a video network answers media_required). Counts as one AI draft against the daily limit; 3 week plans an hour. Days that do not fit the plan (the Free queue of 3, or the month's posts) are written and saved as held, never dropped.

## Request body

- object
  - `topic` string, required
  - `platforms` string[], required
  - `days` integer
  - `start_hour` integer: Hour of the day, on the wall clock of timezone.
  - `timezone` string: IANA name, e.g. America/Lima. Without it, tz_offset_minutes (getTimezoneOffset convention) or UTC.
  - `tz_offset_minutes` integer
  - `brand_voice` string
  - `brand_id` string, uuid

## Response `200`

{ ok, queued: [{ id, run_at, status, preview, posts }], held?: [...], failed: [], targets, message, held_networks?, upgrade? }

## Other responses

- `400`: topic required, platforms[] required, bad_timezone, not_connected, media_required
- `409`: ambiguous_brand
- `429`: rate_limited, or the daily AI limit

---

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