Docs
Create View
POST /views
POST
/viewsRequired Tokens
| Field | Type | Required | Description |
|---|---|---|---|
| Bearer | Authorization: Bearer <token> | Optional | Your user token. |
| Organization token | x-Organization-Token | Optional | Run **Authorize Organization** in the Authorization folder. |
Creates a new saved view for a table. The entityId scopes the view to the relevant entity. The
configuration field holds the serialized layout state as a JSON string.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Display name for the view. |
| index | int | Required | Sort position within its scope bucket. Must be greater than 0. |
| entityId | Guid | Required | The entity this view belongs to. |
| tableId | string | Required | Identifier of the table this view applies to. |
| isDefault | bool | Required | Whether this should be the default view. Demotes the incumbent default **within the same scope only**. |
| configuration | string | Required | Serialized view configuration as a JSON string. Pass `"{}"` for an empty configuration. |
| isPrivate | bool | Required | `false` creates a shared view everyone in the organization can see. `true` creates a view visible only to the calling user. **Permanent** — scope cannot be changed later, only copied via a new create. Omitting the field yields a shared view. |
Scope and indexes
Shared views and each user's private views are independent 1-based index sequences. A first
private view on a table that already has three shared views gets index: 1, not 4.
One shared default and one private default per user may coexist on the same table.
Errors
| Condition | Response |
|---|---|
isPrivate: true with no acting user (API-key auth) | 400 — A private view requires a signed-in user |
Blank name, blank configuration, blank tableId, empty entityId | 400 |
index less than 1 | 400 — Index must be greater than 0 |
Response
Returns 201 Created with an empty body. Re-fetch Get Views to learn the new view's id.