> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postlybee.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create posts

> Understand destinations, scheduling, threads, media, and provider settings.

The create-post request contains one publishing entry for every connected social account. A single request can create posts for multiple destinations.

## Destinations

Call `GET /public/v1/integrations` first and use the returned `id` as `posts[].integration.id`. Do not use the provider name or profile URL as an identifier.

## Publishing modes

The `type` field controls how PostlyBee handles the request:

| Value      | Behavior                                      |
| ---------- | --------------------------------------------- |
| `draft`    | Saves editable content without publishing it. |
| `schedule` | Queues content for the UTC time in `date`.    |
| `now`      | Queues content for immediate publication.     |

Set `autoSchedule` to `true` to select the next available time from each account's posting schedule. When auto-scheduling, `date` is not required. Optional `autoScheduleOptions` can constrain the search window.

## Threads

Each item in `posts[].value` represents one content segment. For thread-based platforms such as X, Threads, and Bluesky, multiple items form a thread. On platforms without native threads, provider behavior may differ.

```json theme={null}
{
  "integration": { "id": "CONNECTED_ACCOUNT_ID" },
  "value": [
    { "content": "First post in the thread", "image": [] },
    { "content": "Second post in the thread", "image": [] }
  ],
  "settings": {}
}
```

## Media

Upload media before creating the post. Use the returned `id` and `path` in the content segment:

```json theme={null}
{
  "content": "A post with an image",
  "image": [
    {
      "id": "4cb8c6af-7111-4e5d-a7cd-846c9293d4c1",
      "path": "https://postlybee.com/uploads/2026/08/launch-image.png",
      "alt": "Product launch graphic"
    }
  ]
}
```

The destination platform ultimately determines supported formats, file sizes, aspect ratios, and attachment counts.

## Provider settings

`posts[].settings` contains destination-specific options. PostlyBee automatically adds the provider discriminator after resolving the connected account. Only include settings supported by that provider.

<Warning>
  Repeat and recycle modes are mutually exclusive. A request enabling both is
  rejected with `400 Bad Request`.
</Warning>

## Repeating and recycling

Use `repeat` to create a fixed number of future copies. Use `recycle` to republish on an interval until an optional maximum cycle count is reached. Intervals support `DAY`, `WEEK`, and `MONTH`.
