Open Morse

Reference

Templates

6 routes, generated from Morse’s own OpenAPI document. Every path below hangs off the base URL, and every one needs the bearer header.

The examples are built from each route’s schema, so the shapes and types are exactly what the API declares. The values are illustrative, and no one has run them.

Every template this person can pick: the built-in set first, then the ones they wrote, then the ones they adopted.

GET/templates

Each carries a source so the picker can tell them apart, and a status so an author sees where a template they offered has got to (plan 041 D10).

GET/templates

curl "$MORSE/templates" \
  -H "Authorization: Bearer $MORSE_TOKEN"
200
[
  {}
]

Validated again on the way in: a draft is advice, a POST is anything.

POST/templates

POST/templates

curl -X POST "$MORSE/templates" \
  -H "Authorization: Bearer $MORSE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Priya Shah", "sections": [ {} ] }'

A draft to edit.

POST/templates/draft

The model writes it; template_draft decides what is legal, and says why in words a person can act on (D3, D4).

POST/templates/draft

curl -X POST "$MORSE/templates/draft" \
  -H "Authorization: Bearer $MORSE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "description": "…" }'

Change a template you wrote. Sections are validated again on the way in, because a draft is advice and a PATCH is anything.

PATCH/templates/{template_id}

Editing a template that is in the community takes it back out, to a draft. The name, the description and the sections all reach the summary prompt of everyone who adopts it afterwards, so changing any of them means an admin approved text nobody has reviewed.

PATCH/templates/{template_id}

curl -X PATCH "$MORSE/templates/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
  -H "Authorization: Bearer $MORSE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Priya Shah", "sections": [ {} ] }'

Delete a template you wrote.

DELETE/templates/{template_id}

Meetings that named it keep their notes — resolve falls back to General for an id that is no longer there — and anyone who adopted it holds their own copy, which is untouched.

DELETE/templates/{template_id}

curl -X DELETE "$MORSE/templates/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
  -H "Authorization: Bearer $MORSE_TOKEN"

Offer a template to the community (D7). It stays yours and stays usable (D6) — only other people's sight of it changes.

POST/templates/{template_id}/submit

A rejected template may be resubmitted; one already in review or approved may not (409). Past the daily allowance the route refuses rather than filling a queue two people have to empty by hand (D13). The allowance counts submitted_at, not created_at. Counting when a template was written let anyone stock them up over a week and offer them all in one morning, which is precisely the queue being rationed.

POST/templates/{template_id}/submit

curl -X POST "$MORSE/templates/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/submit" \
  -H "Authorization: Bearer $MORSE_TOKEN"