GET/v1/blogs/{subdomain}/posts/{slug}

Get a published post by slug

Returns the full content of a single published post identified by its slug. The `content` field contains the raw Markdown source. The `contentFormat` field is always `markdown` in the current API version. Returns 404 if the post does not exist, has not been published yet, or belongs to a different blog.

Parameters

Name In Type Description
subdomain*
pathstringSubdomain of the blog (e.g. `alice` for `alice.writizzy.com`)
slug*
pathstringURL-safe slug of the post (from the `slug` field in the post list)

Responses

200Post retrieved successfully
idstringrequired

Unique post identifier

titlestringrequired

Post title

slugstringrequired

URL-safe slug

excerptstringoptional

Short excerpt or teaser text, if provided by the author

contentstringrequired

Full post body in the format described by `contentFormat`

contentFormatstringrequired

Format of the `content` field. Currently always `markdown`.

publishedAtstring (date)optional

Date the post was published (ISO 8601 date). Null if the post is not yet published.

updatedAtstring (date-time)required

Date and time the post was last updated (ISO 8601 datetime)

coverImageUrlstringoptional

URL of the post cover image

urlstringrequired

Canonical public URL of the post

accessModestringrequired

Content access mode: FREE (visible to all readers) or PAID (requires an active paid subscription)

clapsinteger (int64)required

Total number of claps / reactions the post has received

tagsobject[]required

Tags associated with this post

namestringrequired

Human-readable tag name

slugstringrequired

URL-safe slug — use as the `tag` query parameter when filtering posts

authorsobject[]required

Authors credited on this post

namestringrequired

Display name of the author

avatarUrlstringoptional

URL of the author's avatar image

shortBiostringoptional

Short one-line biography suitable for bylines

Code example

GET/v1/blogs/{subdomain}/posts/{slug}
curl -X GET \
  -H "Accept: application/json" \
  "http://localhost:8080/v1/blogs/<subdomain>/posts/<slug>"
GET/v1/blogs/{subdomain}/posts/{slug}
curl -X GET \
  -H "Accept: application/json" \
  "http://localhost:8080/v1/blogs/<subdomain>/posts/<slug>"