Preview & Hints
Preview is the feedback loop that keeps your model honest. It should be part of every modelling iteration, not reserved as a final validation step. The runtime preview runs your model against the mock runtime — the same runtime that answers your mock API — and shows the data next to hints that explain what is missing.
This page covers how previewing works, the hints the preview shows, and the iteration workflow that connects model changes to feedback.


Preview panel showing data results and readiness hints side by side.
How Preview Works
- The current model — the preview uses the current state of your tables, attributes, relations, mappings and operations.
- The table's list operation — the preview runs the list operation the table's view is bound to, with its default page size and sort order.
- Imported data — attributes bound to data columns return the values of the imported rows; relations are resolved one level deep.
- Hints — if something prevents data from showing, the preview says what and links to the place to fix it.
Requests from the preview count toward your plan's request quota, like requests from your own code.


Preview flow: model, list operation, imported data, hints.
Opening the Preview
Every table card on the Modelling Board has a play button in its header. Clicking it opens the Modelling Runtime Preview for that table, which combines view settings, live data and relation detail in one place.


Play button on the modelling board table card.
Hints
| Hint | Meaning | Action |
|---|---|---|
| Not mapped to imported data | The table is not bound to imported data, so the API returns no rows for it. | Bind the table and its attributes in the Mappings pane. See Data Sources. |
| No API binding | The view is not bound to a list operation, so no data can load. | Bind a list operation in the view settings. See API Design. |
| No identifier field | The view has no identifier field, so clicking a row opens no detail view. | Set the identifier field in the view settings. |
| No tables defined | The project has no tables yet. | Create tables on the modelling board. |
| Failed to load data | The request failed. | Retry; if it keeps failing, check the operation in API Design. |
When a table is bound, the preview also tells you where its rows come from: imported data the table is mapped to, or values composed from imported value pools. In both cases nothing is invented.


Runtime preview with a hint for a table that is not mapped yet.
The Iteration Workflow
The most productive modelling workflow is a tight loop between model changes and preview feedback — seconds, not minutes.
Recommended Sequence
- Make a model change — add a table, modify an attribute, create a relation, or bind a mapping.
- Open preview — run the table's list operation and inspect the results.
- Resolve hints — follow the hint to the place that needs a change.
- Update API design — adjust operation names, parameters or page sizes if needed. See API Design.
- Repeat — until the preview shows the data you expect without hints.


Diagram of the iteration workflow: model change, preview, hints, API update, repeat.
Why Short Cycles Matter
Delayed validation is the primary source of modelling rework. When you build ten tables before previewing, an issue in the first table may already have spread through relations. Previewing after each meaningful change keeps the corrective effort small.
What to Validate in Preview
| Validation Area | What to Check | Related Page |
|---|---|---|
| Field readability | Are field names consistent? Use camelCase, avoid abbreviations. | Tables & Attributes |
| Data shape consistency | Do fields return the expected types? | Tables & Attributes |
| Relation behaviour | Does a 1:n relation return an array? Does a 1:1 relation return an object? | Relations |
| Mapping completeness | Is the table bound to imported data? Are the attributes your consumers need bound to columns? | Data Sources |
| Parameters and sorting | Do operation parameters narrow the result? Does sortField order it? | API Design |


Preview result inspection showing field types and relation nesting.
Common Preview Issues
| Issue | Likely Cause | Fix |
|---|---|---|
| No rows at all | The table is not bound to imported data | Bind the table in the Mappings pane |
Field returns null unexpectedly | The attribute is not bound to a data column | Bind the attribute to a column (Data Source mapping) |
| Relation returns an empty array | Wrong direction, wrong linking columns, or the target table is not bound | Review the relation definition. See Relations |
| Sort has no effect | sortField is not the name of an attribute bound to a data column | Use the name of a mapped attribute |
| Filter returns all records | The operation defines no parameter for that argument | Add the parameter in API Design |
Related Pages
- Modelling Runtime Preview — the combined preview panel with view configuration, live data, and relation detail
- Tables & Attributes — attribute configuration and data mappings
- Relations — relation types, linking columns, and cardinality
- Data Sources — binding tables and attributes to the data pool
- API Design — operations, parameters and page sizes
- Modelling Board — the visual canvas where domain entities are created and arranged