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

Get a post by slug

Returns the full content of a single 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, belongs to a different blog, or is not in the state asked by status (PUBLISHED by default). Pass status=ALL with a write-scoped key to read a draft.

Parameters

subdomainpathstringrequired
Subdomain of the blog (e.g. alice for alice.writizzy.com)
slugpathstringrequired
URL-safe slug of the post (from the slug field in the post list)
statusquerystringoptional
Publication state to read. Defaults to PUBLISHED. ALL returns posts in any state. Any value other than PUBLISHED requires a write-scoped API key.
DefaultPUBLISHEDOne ofPUBLISHEDDRAFTIN_REVIEWSCHEDULEDALL

Responses

200
Post retrieved successfully
idstringrequired
Unique post identifier
titlestringrequired
Post title
slugstringrequired
URL-safe slug
statusstringrequired
Publication state
One ofDRAFTIN_REVIEWSCHEDULEDPUBLISHED
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
2 properties
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
3 properties
namestringrequired
Display name of the author
avatarUrlstringoptional
URL of the author's avatar image
shortBiostringoptional
Short one-line biography suitable for bylines
canonicalUrlstringoptional
URL of the original version of this article, when it was first published elsewhere (Medium, dev.to, a personal blog...). Not to be confused with url, which is this post's own address on this blog. Null when this post is the original.

Code example

GET/v1/blogs/{subdomain}/posts/{slug}
curl -X GET \
  -H "Accept: application/json" \
  "https://api.writizzy.com/v1/blogs/<subdomain>/posts/<slug>"