client.content.getBlogPost()
Get a single blog post, including its full body.
getBlogPost(slug: string): Promise<APIResponse<BlogPost>>- stringheader
Optional. Without a key this endpoint answers under the public policy; a key raises your limits and unlocks plan-gated fields.
Authorization: Bearer <key>is accepted in its place.
- stringrequired
Blog post slug
- Accepts
- a lowercase slug: letters, digits and hyphens
- Example
- object
The response payload.
- BlogPost
A published post. Both endpoints serve the stored row;
bodyis markdown. - string
Opaque post id. A string, not a number: posts are keyed like every other authored record here.
- string
URL-safe slug, and what
/v1/blog/{slug}addresses. - string
Post headline.
- string | null
One-line description, for a card or a feed. Null where the author wrote none.
- string | null
The post itself, as markdown.
- string | null
Path of the hero image on the assets CDN, or null. Prefix it with the assets host to fetch.
- string | null
Editorial category, e.g.
guides. Null where the post has none. - string
Always
publishedon these endpoints: a draft is not served publicly. - string | null
When the post was published, which is what the list orders by. Null on a post never given a date.
- string
When the post was first written,
YYYY-MM-DD HH:MM:SSin UTC. Not the publication date:postedAtis. - string
When the post was last edited,
YYYY-MM-DD HH:MM:SSin UTC.
- 400
VALIDATION_ERROR - 404
NOT_FOUND - 429
RATE_LIMITED - 500
INTERNAL_ERROR
- Minimum tier
- Explorer+
- Monthly quota
- 200/mo
- Rate limit
- 10/min
- Daily cap
- 50
Figures shown are for this endpoint's minimum tier. Higher tiers raise every limit.