---
title: "Bulk-create posts across creators"
method: POST
path: "/agencies/posts"
---

# Bulk-create posts across creators

`POST /agencies/posts`

Create (and optionally schedule) multiple posts across one or more creators in a single request.

Each item reuses the same validation, scheduling (`publishAt`/`expiresAt`) and creation path as the single-creator `createCreatorPost` endpoint, and access is enforced per `creatorUserUuid` exactly as that endpoint does.

The request returns HTTP `200` whenever the envelope is valid. Each item is reported independently in `results` (index-aligned with the request `posts` array) as either a success or an error, so one creator's failure never sinks the whole batch.

<Info>Requires: `write:post` and `write:creator` scopes, plus access to each creator (agency assignment/admin, or self).</Info>

## Headers

- `X-Fanvue-API-Version` string, required

## Request body

- object
  - `posts` object[], required — Array of posts to create across creators (1–100)
    - `creatorUserUuid` string, uuid, required — UUID of the creator to create the post for
    - `text` string — Text content of the post
    - `mediaUuids` string[] — Array of media UUIDs to attach to the post
    - `mediaPreviewUuid` string, uuid — UUID of free preview media shown before unlock
    - `price` number — Price in cents for paid posts (requires media)
    - `audience` 'subscribers' | 'followers-and-subscribers', required — Audience that can view the post
    - `publishAt` string, date-time — Future date/time to publish the post (ISO 8601 format)
    - `expiresAt` string, date-time — Date/time when the post expires (ISO 8601 format)
    - `collectionUuids` string[] — Array of content collection UUIDs to assign to the post

## Response `200`

Batch processed. Per-item success/failure is reported in `results`; a 200 does not imply every item succeeded.

- object
  - `results` union[], required — Per-item results, index-aligned with the request `posts` array
    - union
      - object
        - `index` integer, required — Zero-based index of this item in the request `posts` array
        - `creatorUserUuid` string, uuid, required — Creator the post was created for
        - `status` 'success', required — Indicates this item succeeded
        - `data` object, required — The created post
          - `uuid` string, uuid, required — Unique identifier of the created post
          - `createdAt` string, date-time, required — Date/time when the post was created (ISO 8601 format)
          - `text` string, nullable, required — Text content of the post
          - `price` number, nullable, required — Price in cents for paid posts
          - `mediaPreviewUuid` string, uuid, nullable, required — UUID of free preview media
          - `audience` 'subscribers' | 'followers-and-subscribers', required — Audience that can view the post
          - `publishAt` string, date-time, nullable, required — Future date/time when the post will be published (ISO 8601 format)
          - `publishedAt` string, date-time, nullable, required — Date/time when the post was published (ISO 8601 format)
          - `expiresAt` string, date-time, nullable, required — Date/time when the post expires (ISO 8601 format)
      - object
        - `index` integer, required — Zero-based index of this item in the request `posts` array
        - `creatorUserUuid` string, uuid, required — Creator this item targeted
        - `status` 'error', required — Indicates this item failed
        - `code` union, required — HTTP-style status for the failure: 403 (creator exists but caller lacks access), 404 (creator not found), 400 (validation failed)
          - 400
          - 403
          - 404
        - `message` string, required — Human-readable failure reason

## Other responses

- `400` — Bad Request - API version not supported OR validation failed OR invalid UUID
- `401` — Unauthorized Response
- `403` — Unauthorized Response
- `410` — API version no longer supported (sunset)
- `429` — Too many requests - rate limit exceeded

---

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