Create post
create_postCreate a new blog post with title, HTML content, author, collection, tags, metadata, slug, image, and publishing options. status=published makes the post live. collection_id is optional; omit it to use the empty-slug default Posts collection. If that default does not exist, provide collection_id (call list_collections or create_collection).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Post slug. Auto-generated from title when omitted. | |
| tags | No | Tag names. Maximum 10 tags. | |
| image | No | Optional featured image path or URL. Use upload_image for local files. | |
| title | Yes | Post title. | |
| blogId | Yes | Blog ID. Use list_blogs to discover available blog IDs. | |
| status | No | Publishing status. Default: draft. | draft |
| content | Yes | Post HTML content. | |
| authorId | No | Optional author user ID from list_blog_members. Assigning another member requires owner or admin access. | |
| metadata | No | Custom metadata entries as key/value objects. Maximum 20 entries; description should be 200 characters or fewer. | |
| published_at | No | Optional publish datetime in ISO 8601 format. | |
| collection_id | No | Optional collection ID. When omitted, the collection with an empty slug is used. If none exists, use list_collections to choose a collection_id, or create_collection to create one first. |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |