Masters
Manage shared options (categories, tags, and more) as master entities + records, and reference them from Form Set select / radio fields. After you publish a master to the site, the Public API can read it.
Done state
| Item | State |
|---|---|
| Entity | At least one master with a key |
| Records | value (locale-stable) and label (display) filled |
| Site publish | Published to site in Console (unpublished masters are omitted from Public API) |
| Public API | master-entities / .../records return 200 |
| Optional | Subscribed to master.published webhooks |
When to use
- Shared options across Form Sets
- Building filter UIs from the Public API
- Seeding master definitions via Agents / Blueprint
Checklist
- [ ] Created entity + records under Console Masters
- [ ] Ran Publish to site (empty masters cannot publish)
- [ ]
GET .../master-entities/{key}/records?locale=jareturnsvalue/label - [ ] Form Set select references the master; published snapshots store value
Do this now
- Create a master and add records (
value= stable id,label= display name) - Publish to site
- Verify via Public API
bash
curl "https://api.luno.rest/public/p/{projectId}/v1/master-entities"
curl "https://api.luno.rest/public/p/{projectId}/v1/master-entities/category/records?locale=ja"ts
const BASE = 'https://api.luno.rest/public/p/{projectId}/v1'
const entities = await fetch(`${BASE}/master-entities`).then((r) => r.json())
const records = await fetch(
`${BASE}/master-entities/category/records?locale=ja`
).then((r) => r.json())bash
# “Create a category master, publish to site, and verify public records”- Wire the master into a Form Set select / radio and publish an entry
Next
| Goal | Page |
|---|---|
| Endpoints | Public API · Masters |
| Field wiring | Form builder |
master.published | Webhooks |
| Blueprint / MCP | AI Agents guide |