---
title: "Generate Content Article Public"
method: POST
path: "/content/articles/generate"
tags: ["public-api"]
---

# Generate Content Article Public

`POST /content/articles/generate`

## Request

- Base URL: `https://api.trakkr.ai`
- URL: `https://api.trakkr.ai/content/articles/generate`
- Auth: HTTP bearer

Kick off article generation. Returns immediately with status='queued';
generation runs in the background and consumes one article credit (402 if
the brand owner has none left). Poll GET /content/articles?view=detail until
status='draft'. This never publishes: the result is a draft to review.

## Request body

- PublicGenerateArticleRequest: POST /content/articles/generate body.
  - `brand_id` string, uuid, required
  - `primary_prompt` string, required
  - `secondary_prompts` string[]
  - `word_target` integer
  - `template_id` string, nullable

## Response `200`

Successful Response

- ContentMutationPublicResponse
  - `success` boolean, nullable
  - `status` string, nullable
  - `id` string, nullable
  - `brand_id` string, nullable

## Other responses

- `401`: Missing, malformed, or expired credentials
- `402`: The current plan does not fund this operation
- `403`: Invalid credentials, missing brand access, or insufficient role
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: The operation failed
- `503`: Authentication, entitlement, or a required dependency is temporarily unavailable

---

[API](https://skmtc.dev/trakkr/apis/trakkr-api.md) · [All operations](https://skmtc.dev/trakkr/apis/trakkr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trakkr/apis/trakkr-api/revisions/189a9e76b8d5?raw)
