Content API

Serves two kinds of writing-style content over a small JSON API: one main copywriting guide, and many individual articles. Built for other projects and LLMs to query directly.

Content model

Authentication

Every endpoint below except /api/healthcheck requires an API key on every request, sent as a header:

x-api-key: <ADMIN_API_KEY>

Requests without a valid key get 401 Unauthorized. There is one key, shared by all callers, read and write.

Endpoints

GET /api/content

Everything in one call: the guide plus every article. The simplest way for another project or an LLM to pull the full corpus.

curl https://content.fastfastapps.com/api/content \
  -H "x-api-key: $ADMIN_API_KEY"

GET /api/guide

Fetch the main copywriting guide.

PUT /api/guide

Replace the main guide's content. Body: { "content": string }.

GET /api/articles

List all articles, most recently updated first.

POST /api/articles

Create an article. Body: { "title": string, "content": string }.

GET /api/articles/:id

Fetch one article by id.

PUT /api/articles/:id

Update an article. Body: any of { "title"?: string, "content"?: string }.

DELETE /api/articles/:id

Delete an article by id.

GET /api/healthcheck

Liveness probe. No API key required.

Response shape

All responses are JSON with an ok boolean. Errors look like:

{ "ok": false, "error": "message" }