Update View
PUT /views/{viewId}
/views/{viewId}Required Tokens
| Field | Type | Required | Description |
|---|---|---|---|
| Bearer | Authorization: Bearer <api-key> | Optional | Your API key. Pass it as the Bearer token on every request. |
Updates a saved view's name, sort order, default flag, and configuration. Note that entityId and tableId are not updatable — delete and recreate the view to change those.
There is no isPrivate field, deliberately. A view's scope is immutable after creation; sending isPrivate in the body is silently ignored. To move a view across the shared/private boundary, create a copy with the other scope — the original is unaffected.
This is a full replace: every field overwrites the stored value, so a caller that only means to change the name must still send the correct isDefault and configuration or it will blank them.
Reordering also goes through this route, by sending a new index. There is no /views/{viewId}/reorder. The index is clamped to the size of the view's own scope bucket, and reindexing never crosses buckets: reordering a shared view leaves private indexes untouched, and vice versa.
Updating another user's private view returns 404, the same as a view that does not exist.
Path Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| viewId | Guid | Required | The ID of the view to update. Replace `{{viewId}}` in the URL. |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Required | New display name. |
| index | int | Required | Updated sort position. |
| isDefault | bool | Required | Whether this should become the default view for the table. |
| configuration | string | Required | Updated serialized configuration as a JSON string. |
Response
Returns 200 OK with an empty body on success.