Skip to content
Docs

Product & API docs

Everything you need to generate, approve, and deliver content — whether you publish to a CMS or pull articles headlessly into your own frontend.

Quickstart

  1. 1

    Create an account

    Start free — no credit card. You get 3 quality-gated articles on the trial.

  2. 2

    Add a site

    Connect a CMS (WordPress, with Ghost and Webflow next) or choose headless-api to publish via the Content API.

  3. 3

    Add topics & generate

    Seed keywords or let Draftwave discover and cluster them, then generate. Articles run the full pipeline and land in your review queue as pending_review.

  4. 4

    Approve & publish

    Review the scorecard, tweak if you like, and publish. For headless sites, approving makes the article retrievable from the Content API.

Two publishing models

Draftwave supports both directions. Pick per site — or use both.

Push · connectors

Draftwave → your CMS. On approve, the connector publishes the article to WordPress (Ghost and Webflow next). Best for existing CMS-backed sites.

Pull · headless

Your app → Draftwave. Set cms_type = headless-api and fetch published articles from the Content API with a publishable key. Best for Vue / Next / static sites and apps.

API keys: publishable vs secret

pk_live_… Publishable (read) key

Read-only, scoped to published content for one site. Safe to ship in a browser; can be origin-restricted and rate-limited. This is what powers content fetching.

sk_live_… Secret (admin) key

Server-side only. Broader access — trigger generation, read drafts, manage topics. Never expose it in a browser. Draftwave stores only a hash of every key and shows the full key exactly once, at creation.

Content Delivery API

Read-only, key-authed, and edge-cached at https://cdn.draftwave.io. Only ever returns published content for the key's site — drafts are never exposed.

# Fetch the 10 most recent published articles
curl "https://cdn.draftwave.io/v1/articles?site=SITE_ID&limit=10" \
  -H "Authorization: Bearer pk_live_xxx"

# → { "data": [ { "slug": "...", "title": "...",
#       "html": "...", "faq": [...], "jsonLd": {...},
#       "publishedAt": 1719878400000 }, ... ] }
Method Endpoint Description
GET /v1/articles List published articles for a site (paginated).
GET /v1/articles/{slug} Fetch one published article by slug.
GET /v1/articles/{id}/raw Get the article body as Markdown.
GET /v1/sites/{siteId}/sitemap.xml XML sitemap of published articles.
GET /v1/sites/{siteId}/feed.xml RSS / Atom feed.
GET /v1/sites/{siteId}/manifest ids + updatedAt for incremental static builds.

Dashboard API (selected)

Secret-key or session-authed, at https://api.draftwave.io. A few of the most-used endpoints:

Method Endpoint Description
POST /api/generate Generate one article (async job).
GET /api/sites/{id}/articles List the review queue for a site.
POST /api/articles/{id}/approve Approve (and optionally schedule) an article.
POST /api/articles/{id}/publish Publish an approved article now.
POST /api/keys Create an API key (full key returned once).

The complete machine-readable contract lives in our OpenAPI 3.1 spec (docs/openapi.yaml), covering auth, sites, topics, generation, review, publishing, scheduling, keys, and the Content Delivery API.

Build on your own content backend.

Start free, generate an article, and pull it via the Content API.