Section Fields
The field set a section's type is built from, together with the values it currently holds. This is what makes a client-side editor possible without knowing the six types in advance: render the schema, fill it from options, and post the result back to Stage edits.
Endpoint
| Method | Path | Purpose |
|---|---|---|
GET | /api/admin/appearance/sections/{id}/fields | Get the editable fields of a section |
Path parameters
| Parameter | Description |
|---|---|
id | Section ID. |
Query parameters
| Parameter | Description |
|---|---|
locale | Locale the options are read in. Must be one the channel runs; otherwise the app locale, then the channel's first locale. |
Response fields
| Field | Type | Description |
|---|---|---|
sectionId | integer | Section the fields belong to. |
type | string | Section type the schema describes. |
locale | string | Locale the options were read in. |
schema | array | The field set for the type. Shape is decided by the type. |
options | object | Values currently held — staged when there are any, otherwise published. Empty object for a section with no content yet. |
Use cases
- Render an editor for any section type — one code path handles all six, because the schema describes the fields and
optionssupplies the values. - Round-trip an edit — read
optionshere, change what the merchant edited, post the whole object to the draft endpoint.
Best practices
optionsresolves staged over published. A section holding a draft returns the draft, which is what the editor should show; read Get section when you specifically need the published values.- Ask per locale. The response covers the one locale requested, so a translation editor calls this once per locale rather than expecting them all at once.
Errors
| Status | When |
|---|---|
404 | No section with this ID. |
Permissions
Requires appearance.sections.

