api.exportDatabase(). New logical names must be unique across all three relation types.
Create a View in the workspace
- Open Databases → Views and choose Add.
- Enter a stable name, optional category and description.
- Keep Structured unless the instance explicitly enables raw SQL and the use case requires it.
- Choose the root Table and an alias.
- Open Builder and configure output columns, joins, filters, grouping, and sorting.
- Preview the result. Inspect both the rows and the derived output definition.
- Decide whether the View is restricted and assign users or Groups.
- Save, then open View to query the saved output.
Structured definitions
Structured mode is the default because it resolves logical Table names, checks access to every source, validates fields and expressions, and records direct field lineage. A representative create request looks like this:Raw SQL mode
Raw SQL is an opt-in administrative capability, not a general bypass around the query model. It is shown only when the caller has Resource Admin and the instance enables raw Database Views. The public boundary accepts exactly one read-onlySELECT, WITH, or UNION statement in the supported SQL dialect. Mutation, DDL, SELECT INTO, locking clauses, other schemas, and inaccessible relations are rejected. Output columns must be unique valid identifiers. The raw preview runs in a read-only transaction with a 15-second statement timeout; the query text is limited to 5 MiB.
Raw definitions do not retain direct source-field lineage and cannot drive source update or delete actions. Prefer Structured mode when a governed builder can express the query.
See Preview a raw Database View query for the generated request contract.
Query the saved output
Open View in the UI, or call Query Database View data. The request body addresses output fields; callers do not replace the saved source relation.data, the returned results count, next, and total when count is requested. Use take and skip for deterministic paging; a positive take also enables the next-page probe.
Filters and casts
- Combine conditions with nested
and,or, andnotgroups. - Use scalar comparisons such as
eq,ne,gt,gte,lt,lte,in, null checks, and text matching. - Use the array and JSON-array operators only with the corresponding output type.
- Use
pathfor nested JSON values. A typed JSON-path comparison requiresfilterTypeorcastAs. - Use
castAswhen stored and comparison types differ, for example a text identifier that must sort numerically asBIGINT. - Project only required fields, and use explicit aliases for expressions and aggregates.
take up to 10,000. The body-based View data operation does not publish a larger guaranteed page ceiling, so production clients should use small bounded pages instead of relying on an unbounded read.
Edit one structured result row
The saved View relation remains read-only, but the workspace can update the owning source Table for a safely traceable field:- Open a saved Structured View and select a result row.
- Change a directly projected field in Details.
- Choose Save beside the section title.
Governed source actions
A View is read-only, but a Structured View with direct primary-key lineage can define a separate, explicit update or delete workset against one of its source Tables.- Open the saved View and choose the source action.
- Select a source whose complete primary key is projected directly.
- Preview the workset and review the affected count plus sample keys.
- Apply the update or explicitly confirm permanent deletion.
Access, audit, and cache boundaries
Lifecycle and failures
- Creation counts against the instance’s shared Database resource quota, together with Tables and other Views.
- Names must be unique and use a stable identifier of at most 60 characters; category is limited to 30 characters and description to 1000.
- A restricted request accepts at most 1000 user IDs and 1000 Group IDs; every referenced principal must exist.
- Updates require the current
version. A stale version fails rather than overwriting a newer definition. - Create and update build the database relation transactionally. Validation or database errors fail the request instead of saving a partial definition.
- Delete is recoverable: the relation is tombstoned and can be restored if its logical name is available.
- Export returns 202 and continues as an asynchronous CSV, TSV, NDJSON or Excel (XLSX) export to an authorized Storage destination. CSV is the default when no format is selected. Excel exports enforce worksheet row and column limits. Export output queries cannot redefine joins, CTEs, or raw where clauses.
Database Views API
TheDatabase Views OpenAPI tag is generated from the current Platform API contract. Start with:
- List Database Views
- Get a Database View
- Update a Database View
- Export readable relation data
- Delete Database Views
- Restore a Database View

