WordPress: posting rules and settings
What a WordPress channel accepts in Posty: media, limits, required fields, and the fields of the settings object for the API.
Basics
wordpressPost types
The same channel accepts more than one kind of post, and each kind has different requirements. The table shows what you need for each.
| Type | Media | Notes |
|---|---|---|
| Post or page | featured image in main_image | The title and the post type are required. |
Rules
- You connect with the site address, your username and an application password. You create the application password in your WordPress user profile.
- The post text goes out as HTML.
- The post type, the categories and the tags expect values from your site. You fetch the lists with the channel's tool calls.
Settings fields
These fields go into the post's settings object, alongside the __type field. In the UI, you fill in the same ones in the channel's settings section.
| Field | Type | Required | What it does |
|---|---|---|---|
| title | string, at least 2 characters | yes | The post title. |
| type | string | yes | The REST base of the post type, for example "posts" or "pages". |
| status | "publish" | "draft" | "pending" | "private" | no | The status of the post on WordPress. The default is "publish". |
| main_image | media object | no | The featured image, from the media library. |
| categories | array of numbers | no | Category IDs. |
| tags | array of numbers | no | Tag IDs. |
Allowed values
The fields below only accept these values. Any other value returns a 400, and the response names the field.
status
| Value | Meaning |
|---|---|
| publish | Published at the scheduled time. The default. |
| draft | Saved as a draft on WordPress. |
| pending | Saved as pending review. |
| private | Published as a private post. |
Examples
Each example is one item in the POST /public/v1/posts request's posts array. The envelope around it is always this:
{
"type": "schedule",
"date": "2026-09-15T09:00:00.000Z",
"shortLink": false,
"posts": [ /* the item below */ ]
}Blog post
The category and tag IDs come from the tool calls of the channel.
{
"integration": { "id": "<wordpress-channel>" },
"value": [{ "content": "<p>Our autumn opening hours.</p>", "image": [] }],
"settings": {
"__type": "wordpress",
"title": "Autumn opening hours",
"type": "posts",
"status": "publish",
"main_image": { "id": "<media>", "path": "https://uploads.posty.hu/autumn.jpg" },
"categories": [3],
"tags": [12, 18]
}
}The channel ID comes from the channel list, and the path values for images and videos from media upload. The exact schema for the connected account comes from the settings schema endpoint. From the command line, the same thing is the --settings flag. See the CLI examples.