Schema Editor
The Developer Portal provides multiple ways to design your API schema: visual editors for collections, views, and queries, plus a JSON editor for advanced users.
Collections Editor
Creating a Collection
- Go to Collections
- Click Create Collection
- Enter a name
- Add properties
Managing Properties
Each property has:
| Setting | Description |
|---|---|
| Name | Property identifier (camelCase recommended) |
| Type | Data type (string, integer, decimal, boolean, date, etc.) |
| Required | Whether the property must have a value |
| Unique | Whether values must be unique across records |
| Description | Optional documentation |
Property Types
| Type | Description |
|---|---|
string | Text up to 1024 characters |
integer | Whole numbers |
decimal | Decimal numbers |
boolean | True/false values |
date | Date only |
date-time | Date and time (UTC) |
guid | Unique identifier |
object | Flexible JSON structure |
blob | Binary files |
| Collection name | Lookup to another collection |
Creating Lookups
To create a relationship between collections:
- Add a property
- Set the type to the target collection name
- Configure the display property (shown when the lookup is expanded)
Access Settings
Configure who can perform operations on each collection:
- Go to the collection's Access tab
- For each method (GET, POST, PUT, PATCH, DELETE, LISTEN), select allowed roles
- Save changes
Views Editor
Creating a View
- Go to Views
- Click Create View
- Select the base collection
- Configure filters and properties
View Configuration
| Setting | Description |
|---|---|
| Base Collection | The collection this view filters |
| Filter | Conditions that records must match |
| Properties | Which properties to include |
| Access | Role-based permissions (independent from collection) |
Filter Builder
Build filters visually:
- Click Add Condition
- Select a property
- Choose an operator (equals, contains, greater than, etc.)
- Enter a value
- Combine with AND/OR logic
Special functions:
userId()— Current user's ID (for user-specific views)
Queries Editor
Creating a Query
- Go to Queries
- Click Create Query
- Select collections to join
- Configure properties and aggregations
Query Configuration
| Setting | Description |
|---|---|
| Collections | Up to 11 collections to join |
| Join Type | Forward (FROM) or reverse (TO) |
| Properties | Fields to include with aliases |
| Behaviour | None, SUM, AVG, MIN, MAX, COUNT, or FILTER |
| Access | Role-based permissions |
Joins
- Forward (FROM) — Follow a lookup property to the related collection
- Reverse (TO) — Find records that reference the current collection
Property Aliasing
Since joined collections may have properties with the same name, you must provide unique aliases:
customers.name → customerName
orders.name → orderName
Data Model Visualization
View your schema as an interactive diagram:
- Go to Data Model
- Explore collections, views, and queries visually
- See relationships as connecting lines
Navigation
- Zoom — Mouse wheel or buttons
- Pan — Click and drag
- Click nodes — View details
- Drag nodes — Reposition
Display Options
Toggle visibility of:
- Views
- Queries
- System fields (id, created, updated)
Layouts
Save custom layouts for different purposes:
- Arrange nodes as desired
- Click Save Layout
- Enter a name
- Load saved layouts anytime
JSON Definition
Edit your schema directly as JSON for advanced operations.
Opening the Editor
- Go to JSON Definition
- View your complete schema as JSON
Editor Features
- Syntax highlighting
- Line numbers
- Code folding
- Auto-completion for property names and types
- Real-time validation
- Error messages
Schema Structure
{
"collections": [
{
"name": "products",
"properties": [
{ "name": "sku", "typeName": "string", "isRequired": true },
{ "name": "name", "typeName": "string" },
{ "name": "price", "typeName": "decimal" },
{ "name": "category", "typeName": "categories" }
]
}
]
}
Use Cases
- Bulk renaming properties
- Copying schema between APIs
- Version control (export for git)
- Complex edits faster than UI
- Learning schema structure
Saving Changes
- Edit the JSON
- Validation runs automatically
- Fix any errors shown
- Click Save
Invalid JSON cannot be saved. Fix all errors before saving.
AI Assistant
Generate schema from natural language descriptions.
Getting Started
- Go to AI Assistant
- Choose:
- Use Existing Schema — Modify current schema
- Create New Schema — Start fresh
Writing Prompts
Describe what you need:
Create a blog with posts, comments, and authors.
Each post has one author.
Posts should have title, content, publishedDate, and isPublished.
Comments belong to posts and have text and authorName.
Iterating
Continue the conversation to refine:
Add a categories collection and link it to posts.
Make the email property required and unique on authors.
Publishing
- Review the generated schema in Graphic or Source view
- Select the version you want
- Click Publish
- Confirm
Publishing replaces your entire API schema. Review carefully.
Limitations
AI Assistant generates:
- Collections and properties
- Lookup relationships
- Data types
It does not configure:
- Access control rules
- Views or queries
- Advanced validation