GET/v1/blogs/{subdomain}/posts

List published posts

Returns a paginated list of published posts for the given blog.

Results can be filtered by tag slug or a full-text search query, and sorted by any supported field. Only posts with status PUBLISHED are returned — drafts and scheduled posts are never included.

Posts with accessMode: PAID are included in the listing but their full content is only accessible via the single-post endpoint for authenticated subscribers.

Parameters

subdomainpathstringrequired
Subdomain of the blog (e.g. alice for alice.writizzy.com)
pagequeryinteger (int32)optional
Zero-based page index
Default0
limitqueryinteger (int32)optional
Number of posts per page. Clamped to a maximum of 1000.
Default20
tagquerystringoptional
Filter posts by tag slug. Use the slug field from the Tags endpoint.
searchquerystringoptional
Full-text search query applied to post titles and content excerpts
sortquerystringoptional
Field to sort by. Supported values: publishedAt, updatedAt, title, claps.
DefaultpublishedAt
orderquerystringoptional
Sort direction: asc for ascending, desc for descending.
Defaultdesc

Responses

200
Paginated list of posts returned successfully
postsobject[]required
Posts on the current page
12 properties
idstringrequired
Unique post identifier
titlestringrequired
Post title
slugstringrequired
URL-safe slug used to fetch the full post via GET /posts/{slug}
excerptstringoptional
Short excerpt or teaser text, if provided by the author
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
pageinteger (int32)required
Zero-based current page index
limitinteger (int32)required
Maximum number of posts per page as requested
totalinteger (int64)required
Total number of matching posts across all pages
totalPagesinteger (int32)required
Total number of pages available

Code example

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