farfield · docs

content

content.farfield.systems

Collections, entries, and series fragments. The admin UI supports writing markdown content with blob:// and series:// embeds. Collections are managed in the admin UI; series fragments are reusable markdown blocks that can be spliced into entries.

Screenshot of the Farfield content UI
Content admin dashboard in the logged-in state. Records shown are the live management view.

Public API

GET /api/collections
{ "collections": [Collection, …] }
GET /api/entries?collection=slug
{ "entries": [Entry, …] } — published only
GET /api/entries/{slug}
Entry — 404 if missing/draft; strong ETag
GET /api/series
{ "series": [Series, …] }
GET /api/series/{slug}
Series — 404 if missing; strong ETag
GET /status
{ "service": "content", "ok": true, "collections": N }

Write endpoints (POST /api/entries, PUT /api/entries/{slug}, DELETE /api/entries/{slug}, POST /api/series) require an API key.

Record Shapes

Collection

{
  "slug": "string",
  "name": "string",
  "description": "string?",
  "createdAt": "2024-01-01T00:00:00Z",
  "entryCount": 0
}

Entry

{
  "collection": "string",
  "slug": "string",
  "cid": "bafk…",
  "title": "string",
  "excerpt": "string?",
  "body": "markdown",
  "tags": ["string"],
  "published": true,
  "createdAt": "2024-01-01T00:00:00Z",
  "updatedAt": "2024-01-01T00:00:00Z"
}

Series

{
  "slug": "string",
  "cid": "bafk…",
  "title": "string?",
  "body": "markdown",
  "createdAt": "2024-01-01T00:00:00Z",
  "updatedAt": "2024-01-01T00:00:00Z"
}

Body URIs

Entry and post body markdown embeds two custom URIs. Resolve them before rendering: