Docs

Create View

POST /views

POST/views

Required Tokens

FieldTypeRequiredDescription
BearerAuthorization: Bearer <api-key>OptionalYour API key. Pass it as the Bearer token on every request.

Creates a new saved view for a table. The entityId scopes the view to the relevant entity (e.g. an event or collaborator). The configuration field holds the serialized layout state as a JSON string.

Request Body

FieldTypeRequiredDescription
namestringRequiredDisplay name for the view.
indexintRequiredSort position among views for this table.
entityIdGuidRequiredThe entity this view belongs to (e.g. `{{eventId}}`).
tableIdstringRequiredIdentifier of the table this view applies to (e.g. `"tasks"`, `"activities"`).
isDefaultboolRequiredWhether this should be the default view for the table. Setting `true` will unset any existing default.
configurationstringRequiredSerialized view configuration as a JSON string. Pass `"{}"` for an empty configuration.
isPrivateboolRequired`false` creates a shared view everyone on the event 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. Send the next index within the bucket you are creating into.

One shared default and one private default per user may coexist on the same table. Setting isDefault: true demotes the incumbent default within the same scope only.

Errors

ConditionResponse
isPrivate: true with no acting user (API-key auth)400A private view requires a signed-in user
Blank name, blank configuration, blank tableId, empty entityId400
index less than 1400Index must be greater than 0

Response

Returns 201 Created with an empty body on success.