/v1/blogs/{subdomain}/postsCreates a new post as a draft. The post is never published by this call; use the publish endpoint to make it visible. The `slug` is optional: when omitted it is generated from the title. If the resulting slug collides with an existing post on the blog, it is de-duplicated automatically. The response always carries the final `slug` and `id` — use them as your reference, as creation is not idempotent (a replayed request creates another post). The post author is the blog owner.
| Name | In | Type | Description |
|---|---|---|---|
subdomain* | path | string | Subdomain of the blog |
application/json
Post title
Post body in Markdown
URL-safe slug. Optional: generated from the title when omitted. The response always carries the final slug, which may differ if a collision was resolved.
Short excerpt or teaser text
URL of the post cover image (e.g. an URL returned by the media upload endpoint)
Tag names. Tags are created on the fly if they do not exist yet.
Tag names. Tags are created on the fly if they do not exist yet.
Content access mode: FREE or PAID. Defaults to FREE.
Unique post identifier
Post title
URL-safe slug
Short excerpt or teaser text, if provided by the author
Full post body in the format described by `contentFormat`
Format of the `content` field. Currently always `markdown`.
Date the post was published (ISO 8601 date). Null if the post is not yet published.
Date and time the post was last updated (ISO 8601 datetime)
URL of the post cover image
Canonical public URL of the post
Content access mode: FREE (visible to all readers) or PAID (requires an active paid subscription)
Total number of claps / reactions the post has received
Tags associated with this post
Human-readable tag name
URL-safe slug — use as the `tag` query parameter when filtering posts
Authors credited on this post
Display name of the author
URL of the author's avatar image
Short one-line biography suitable for bylines
/v1/blogs/{subdomain}/postscurl -X POST \
-H "Accept: application/json" \
"http://localhost:8080/v1/blogs/<subdomain>/posts"/v1/blogs/{subdomain}/postscurl -X POST \
-H "Accept: application/json" \
"http://localhost:8080/v1/blogs/<subdomain>/posts"