Fields API
Field management is app-scoped under /api/apps/{app}/tables/{table}/fields.
List fields
Section titled “List fields”GET /api/apps/{app}/tables/{table}/fieldsReturns {"fields": [...]}.
Add a field
Section titled “Add a field”POST /api/apps/{app}/tables/{table}/fieldsContent-Type: application/json
{ "name": "title", "type": "text", "required": true}The field is added to the table immediately — no migration needed. The response includes the new field plus the table’s full field list (HTTP 201).
Field with configuration
Section titled “Field with configuration”POST /api/apps/{app}/tables/{table}/fieldsContent-Type: application/json
{ "name": "budget", "type": "decimal", "required": false, "config": { "precision": 10, "scale": 2 }}Enum field
Section titled “Enum field”Enum (and multi-select) options live under config.options. Each option may be a plain string or an object with value, label, and color:
POST /api/apps/{app}/tables/{table}/fieldsContent-Type: application/json
{ "name": "status", "type": "enum", "config": { "options": ["draft", "active", "completed", "cancelled"] }}Reference field
Section titled “Reference field”POST /api/apps/{app}/tables/{table}/fieldsContent-Type: application/json
{ "name": "assigned_to", "type": "reference", "config": { "target_table": "users" }}Conditional field
Section titled “Conditional field”POST /api/apps/{app}/tables/{table}/fieldsContent-Type: application/json
{ "name": "reason", "type": "text", "required": false, "config": { "conditions": [ { "when_field": "type", "operator": "eq", "value": "bug", "action": "require" } ] }}The conditions array makes the field conditionally required when type equals bug. Supported operators: eq, neq, in, not_in, is_empty, is_not_empty, gt, lt, gte, lte, contains, not_contains. Supported actions: show, hide, require.
Update a field
Section titled “Update a field”PUT /api/apps/{app}/tables/{table}/fields/{field}Content-Type: application/json
{ "display_name": "Project Title", "required": true}Delete a field
Section titled “Delete a field”DELETE /api/apps/{app}/tables/{table}/fields/{field}See Field Types for the full list of supported types and their configurations.