Items
Create, read, fill and publish a piece in any kind of space through one endpoint, with the shape as JSON Schema.
One endpoint writes a piece into any kind of space — a documentation page, a blog post, a forum topic, a roadmap card, a changelog entry, an incident. The space decides what a piece is made of; you post that.
Usage
GET /api/orgs/{org}/spaces/{space}/shape?preset={kind}
POST /api/orgs/{org}/spaces/{space}/items
GET /api/orgs/{org}/spaces/{space}/items
GET /api/orgs/{org}/spaces/{space}/items/{id}
PUT /api/orgs/{org}/spaces/{space}/items/{id}/sections/{key}
POST /api/orgs/{org}/spaces/{space}/items/{id}/publishParameters
title(string, required) — the piece's title.slug(string) — the address it answers to. Derived from the title when omitted.preset(string) — which kind of piece, from the shape'spresets.sections(object) — markdown per declared slot, keyed by the slot'skey.body(string) — markdown, for a space whose shape declares no slots.params(object) — the parameters the shape declares (a version, a severity, a cover image).
Returns
Create and publish both return a conformance object naming the required slots still empty. An agent can create a piece, ask what it forgot, and close the gap rather than assuming it got it right.
Examples
curl -X POST -H "Authorization: Bearer $TOKEN" -H "content-type: application/json" \
https://forumulate.com/api/orgs/$ORG/spaces/$SPACE/items \
-d '{"title":"Rotate an API key","preset":"how-to","sections":{"goal":"…","steps":"1. …"}}'