- A
course_status_enumshared bycourses.statusandapplications.course_status - A
priority_enumshared by every table that has a priority column - A
country_code_enumshared byusers.countryandaddresses.country
User-defined vs. inline enum
Both constrain a column to a fixed list of values. Pick based on whether the list is shared:
If you don’t have a Data Type yet, create one first — see Data Types.
Configuration options
How it appears in the API
The field is generated as the same enum type wherever the Data Type is referenced. Updating the Data Type — adding, removing, or renaming values — propagates to every field that uses it and to every place the type appears in the GraphQL schema. See the GraphQL API Explorer to inspect the generated types.Permissions
User-defined fields are subject to the per-role read and write rules configured in Role-Based Access.FAQ
What happens if I edit the Data Type after applying it to fields?
What happens if I edit the Data Type after applying it to fields?
Every field that uses the Data Type sees the change immediately. Adding a value is safe; removing one will fail validation on rows that still hold the removed value, so plan removals carefully.
Can I switch a field from inline enum to user-defined later?
Can I switch a field from inline enum to user-defined later?
Yes — change the field type and pick the matching Data Type. Existing values that match the Data Type’s allowed list carry over; values that don’t will need to be migrated.
How do I create a new Data Type from inside the field configuration?
How do I create a new Data Type from inside the field configuration?
Open the Data Model sidebar, click the dropdown arrow next to + Add Table, and choose Add Data Type. Once created, it becomes available in the Enum Type picker on any user-defined field.
Can I use a Data Type that isn't an enum?
Can I use a Data Type that isn't an enum?
Today, Data Types are enums — that’s the built-in shape. The user-defined field is the way to apply that shape to a column.