Why use custom fields
- Extend Marble’s default post schema without changing your frontend code structure each time.
- Keep metadata consistent across all posts with typed inputs.
- Return custom field values directly in API responses under a single
fieldsobject.
Create and manage fields
Open Custom Fields
Open your workspace settings, then select the Custom Fields section
under the developer settings area.
Create a field
Add a field name, key, type, and optional description. Mark it as required
if editors must provide a value.
Field types
| Type | Input in Marble | API value |
|---|---|---|
text | Multi-line text | string | null |
number | Numeric input | number | null |
boolean | Toggle/switch | boolean | null |
date | Date picker | string | null (ISO date, e.g. 2026-04-02) |
richtext | Rich text editor | string | null (HTML string) |
select | Single option | string | null |
multiselect | Multiple options | string[] | null |
select and multiselect fields require predefined options. Option values
are what you receive in the API.API response shape
Custom fields are exposed on posts aspost.fields (single post) and posts[].fields (list posts).
In the current public API, custom fields are returned in GET post responses.
Example response
Unset fields
If a field exists in your workspace but a post has no value for it yet, Marble returns that key withnull.
Important behavior
- Field keys are workspace-scoped and must be unique.
- Field type and options are effectively schema choices. Plan them early to avoid migration work later.
- Deleting a field removes that field and its stored values from all posts.