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
1
Open Custom Fields
Open your workspace settings, then select the Custom Fields section
under the developer settings area.
2
Create a field
Add a field name, key, type, and optional description. Mark it as required
if editors must provide a value.
3
Use it in the editor
Open any post and set values in the Metadata tab. Every post can store
a value for each custom field.
get_fields before writing post field values, create any
missing field with create_field, then pass values under fields when creating
or updating a post.
Field types
select and multiselect fields require predefined options. Option values
are what you receive in the API and what you send when writing post values.Writing fields through the API
Create field definitions first:select or multiselect option are rejected with 400 responses.
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.
- Post writes never create fields implicitly. Create or update field definitions first, then write values to posts.
- 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.