Developer API
Blogo Writing API
Send a website and a keyword. Get a reviewed, publish-ready article back through the same research → draft → fact-check → human-review workflow the app uses. REST over HTTPS, API-key auth, asynchronous jobs you poll to completion.
Principles
- The API removes UI work — it does not bypass quality. Every article runs the full pipeline and lands in your review queue as a draft.
- Writing is asynchronous: research, drafting, fact-checks, and review signals take time.
- API keys are server-side secrets. Never expose them in browser code.
- Each delivered article costs one credit (a refresh costs half). Buying API capacity means buying credits — the same wallet the app uses.
Authentication
Create a key in Settings → API Keys. Send it on every request as either header:
Authorization: Bearer sk_your_key
# or
x-api-key: sk_your_key1. Analyze a website
Use this when you only have a URL. Returns a draft business profile to confirm.
curl -X POST https://www.blogo.ai/api/articleos/onboarding/analyze \
-H "Authorization: Bearer sk_your_key" \
-H "Content-Type: application/json" \
-d '{"website":"https://example.com"}'2. Confirm the business
Save the confirmed profile. This creates (or reuses) the site the article is written for.
curl -X POST https://www.blogo.ai/api/articleos/onboarding/confirm \
-H "Authorization: Bearer sk_your_key" \
-H "Content-Type: application/json" \
-d '{"website":"https://example.com","understanding":{"companyOneLiner":"..."}}'3. Start an article
Send a keyword. The job runs asynchronously; the response returns a jobId. Prepare-only runs (precomputeOnly: true) build the plan without writing and are free.
curl -X POST https://www.blogo.ai/api/articleos/v2/workflow-runs \
-H "Authorization: Bearer sk_your_key" \
-H "Content-Type: application/json" \
-d '{"input":{"topic":"best airless pump bottles","siteId":"<site-id>"}}'4. Poll the job
List recent runs and read status. An article is ready for you when its status iswaiting_for_human_review or ready_to_publish.
curl https://www.blogo.ai/api/articleos/v2/workflow-runs?limit=10 \
-H "Authorization: Bearer sk_your_key"Statuses
running— the pipeline is working.waiting_for_human_review— a reviewable draft exists; open it in the app.ready_to_publish— approved; a WordPress draft can be pushed.blocked— the run stopped fail-closed (never a fabricated article). Read the reason and retry.
Credits & billing
One delivered article = one credit; a refresh = half. Prepare-only runs and failed runs are never charged. Per-key usage is visible in Settings → API Keys. Add capacity by buying credits — there is no separate API pricing tier.
Errors
401 Unauthorized— missing or invalid key.402 / "Not enough credits"— top up your credit balance.429 Too Many Requests— rate limited; retry after the indicated delay.