---
title: "Create a post: POST /posts | Posty Docs"
description: "Creates a post: draft, scheduled or published now, on one or more channels."
canonical: https://posty.hu/en/docs/api/endpoints/create-post
source: https://posty.hu/en/docs/api/endpoints/create-post.md
---

Posts

# Create a post: POST /posts

Creates a post: draft, scheduled or published now, on one or more channels.

## Path

Method and path

POSThttps://api.posty.hu/public/v1/posts

Authorization

`posts:draft (posts:publish as well to publish)`

operationId

`createPost`

Creates a draft, schedules a post, or publishes immediately, to one or more channels. This is the only write endpoint an integration calls regularly.

If you send an existing group ID, it updates the existing post instead of creating a second one.

## Parameters

| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| type | body | "draft" \| "schedule" \| "now" | yes | Draft, schedule, or publish immediately. schedule and now require the posts:publish scope. |
| date | body | ISO 8601 date | yes | The publish time, in UTC. |
| shortLink | body | boolean | no | Whether Posty should shorten the links in the text. |
| tags | body | array | no | Internal tags on the post. They do not go out to the platform. You only use them to filter in Posty. |
| posts | body | array | yes | One item per channel. Each has the integration.id, the value array (the post and its comments), and optionally the platform-specific settings. |

## Request

```
curl -X POST https://api.posty.hu/public/v1/posts \
  -H "Authorization: psty_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "schedule",
    "date": "2026-09-15T09:00:00.000Z",
    "shortLink": false,
    "posts": [{
      "integration": { "id": "clx1a2b3c4d5e6f7g8h9" },
      "value": [
        { "content": "<p>Hello everyone!</p>", "image": [] },
        { "content": "<p>The first comment.</p>", "image": [], "delay": 5 }
      ],
      "settings": { "__type": "x", "who_can_reply_post": "everyone" }
    }]
  }'
```

Copy Code

## Response

Example response structure. The [OpenAPI document](https://posty.hu/openapi.json) contains the authoritative schema for each field.

```
[
  { "postId": "clp0s7t8u9v0w1x2", "integration": "clx1a2b3c4d5e6f7g8h9" }
]
```

Copy Code

## Important

- content expects HTML, not plain text. A paragraph lives between <p>…</p>.
- The first item in the value array is the post. The rest go out as comments under it. delay is how many minutes later.
- Images come from the media library: upload first with the /upload or /upload-from-url endpoint, then pass the path value from the response.
- settings.\_\_type is the platform ID. The expected fields are listed in the channel's settings schema.
- Publishing immediately cannot be undone, and it calls external systems. Protect network retries with an idempotency key.

## Related

- [Authentication](https://posty.hu/en/docs/api/authentication): API key and scopes.
- [Errors and limits](https://posty.hu/en/docs/api/errors): error responses and rate limits.
- [All endpoints](https://posty.hu/en/docs/api/endpoints): full list.

Documentation pages

Is something missing from this page? Email [norbert@posty.hu](mailto:norbert@posty.hu) or use the form on the [Help](https://posty.hu/en/help) page.
