Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.neuraldraft.io/llms.txt

Use this file to discover all available pages before exploring further.

The Blog pillar is a full content engine — not a header-and-body table. Posts have categories and tags, scheduling, multi-language translations, featured images, SEO meta, and a research → write → image → translate → publish pipeline that runs as one async job.

What this gives you

  • Posts with draft, scheduled, published, archived lifecycle.
  • Translations per language with their own title, content, excerpt, and SEO meta.
  • Categories and tags with slugs, attached many-to-many.
  • Scheduling — set scheduled_at and 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 two locales:
# Create the post in English
curl -X POST https://api.neuraldraft.io/v1/blog-posts \
  -H "Authorization: Bearer $NEURAL_DRAFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Five things we shipped this week",
    "content": "<p>It was a busy week.</p>",
    "excerpt": "Highlights from the past seven days.",
    "language_code": "en",
    "status": "published",
    "tags": ["weekly", "changelog"]
  }'

# Add a French translation
curl -X PUT https://api.neuraldraft.io/v1/blog-posts/4711/translations/fr \
  -H "Authorization: Bearer $NEURAL_DRAFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Cinq choses que nous avons livrees cette semaine",
    "content": "<p>La semaine a ete chargee.</p>",
    "excerpt": "Les temps forts des sept derniers jours."
  }'

Common workflows

1. Generate a multi-language post end to end

The headline workflow. One POST kicks off the full pipeline; we hand you a job id back. Subscribe to blog_post.published for the finished result.
curl -X POST https://api.neuraldraft.io/v1/jobs \
  -H "Authorization: Bearer $NEURAL_DRAFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "blog_post.generate",
    "topic": "Why API-first beats site-builder-first for SMBs",
    "tone": "friendly_professional",
    "length": "medium",
    "primary_keyword": "API-first CMS",
    "translate_to_all_languages": true,
    "enable_research": true
  }'
{
  "job_id": "job_2NgcaXxFqLPo",
  "status": "pending",
  "estimated_credits": 400
}
The pipeline runs research → outline → write → featured-image → SEO meta → per-language translations. You can poll GET /v1/jobs/{id} for progress, or stream Server-Sent Events from GET /v1/jobs/{id}/stream. Cost: 400 credits — covers research, writing, image, and per-language translations.

2. Schedule a post for next Tuesday

curl -X POST https://api.neuraldraft.io/v1/blog-posts/4711/schedule \
  -H "Authorization: Bearer $NEURAL_DRAFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"scheduled_at":"2026-04-22T09:00:00Z"}'
The post enters scheduled state. At the exact minute we transition it to published and fire the blog_post.published webhook.

3. Republish after editing

Editing a published post updates content in place and increments updated_at. The blog_post.updated webhook fires (use this to invalidate your CDN cache).
curl -X PUT https://api.neuraldraft.io/v1/blog-posts/4711 \
  -H "Authorization: Bearer $NEURAL_DRAFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Five things we shipped (updated)"}'

4. Translate an existing post into a new language

If you’ve added a new target language to your project, kick off a translation job for an existing post:
curl -X POST https://api.neuraldraft.io/v1/jobs \
  -H "Authorization: Bearer $NEURAL_DRAFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "translation.batch",
    "scope": "blog_post",
    "scope_id": 4711,
    "target_langs": ["es", "it"]
  }'
Cost: 70 credits per language.

5. Topic suggestions for a content calendar

Brand-aware topic ideas, sized for a quarter of weekly publishing:
curl https://api.neuraldraft.io/v1/blog/topic-suggestions \
  -H "Authorization: Bearer $NEURAL_DRAFT_API_KEY"
{
  "data": [
    { "topic": "API-first vs site-builder-first for SMBs", "rationale": "..." },
    { "topic": "How MCP changes how teams ship integrations", "rationale": "..." }
  ]
}

Reference

EndpointTag
GET /v1/blog-postsBlog
POST /v1/blog-postsBlog
GET /v1/blog-posts/{slug}Blog
PUT /v1/blog-posts/{id}Blog
POST /v1/blog-posts/{id}/publishBlog
POST /v1/blog-posts/{id}/scheduleBlog
POST /v1/blog-posts/{id}/unpublishBlog
GET /v1/blog-posts/{id}/translationsBlog
PUT /v1/blog-posts/{id}/translations/{lang}Blog
GET /v1/categoriesBlog
GET /v1/tagsBlog
POST /v1/jobs (blog_post.generate)Jobs
GET /v1/blog/topic-suggestionsBlog