What this gives you
- Posts with
draft,scheduled,published,archivedlifecycle. - Translations per language with their own title, content, excerpt, and SEO meta.
- Categories and tags with slugs, attached many-to-many.
- Scheduling — set
scheduled_atand we publish at the precise minute. - AI authoring pipeline — one POST kicks off topic research, writing, image generation, translation to every target language, and SEO meta.
Quick example
Create a published post in English, then async-translate it into French:Common workflows
1. Generate a multi-language post end to end
The headline workflow. One POST kicks off the full pipeline (research → outline → write → featured-image → SEO meta → per-language translations) and returns a Job reference. Subscribe toblog_post.published for the finished
result, or poll.
SDK
cURL
blog_post — covers research,
draft, and featured image). Per-language translations charge 7 credits
each (translate_language) on top, billed when each language lands.
2. Schedule a post for next Tuesday
SDK
cURL
scheduled state. At the exact minute we transition it to
published and fire the blog_post.published webhook.
3. Edit and republish
Patch a published post in-place. Text fields (title, content, excerpt,
meta_title, meta_description) write to the translation row resolved by
language_code (default en); post-level fields (slug, status,
category_id, featured_image) write to the post itself.
SDK
cURL
4. Translate an existing post into a new language
SDK
translate_language).
5. Lifecycle helpers
SDK
Reference
| Endpoint | Tag |
|---|---|
GET /v1/blog-posts | Blog |
POST /v1/blog-posts | Blog |
GET /v1/blog-posts/{slug} | Blog |
PUT /v1/blog-posts/{id} | Blog |
POST /v1/blog-posts/{id}/publish | Blog |
POST /v1/blog-posts/{id}/schedule | Blog |
POST /v1/blog-posts/{id}/unpublish | Blog |
GET /v1/blog-posts/{id}/translations | Blog |
PUT /v1/blog-posts/{id}/translations/{lang} | Blog |
GET /v1/categories | Blog |
GET /v1/tags | Blog |
POST /v1/jobs (blog_post.generate) | Jobs |
GET /v1/blog/topic-suggestions | Blog |