---
title: "Replace a saved view's definition (upsert by name)"
method: PATCH
path: "/crm/objects/{objectName}/views/{viewName}"
tags: ["crm"]
---

# Replace a saved view's definition (upsert by name)

`PATCH /crm/objects/{objectName}/views/{viewName}`

## Request

- Base URL: `https://www.dench.com/api/v1`
- URL: `https://www.dench.com/api/v1/crm/objects/{objectName}/views/{viewName}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Replace a saved view's definition (upsert by name).

## Path parameters

- `objectName` string, required
- `viewName` string, required: Name of the view to replace (path).

## Request body

- object
  - `view` object: Full replacement definition; the path viewName is used as the name.
    - `name` string: View name (upsert key; shows in the view dropdown).
    - `view_type` 'table' | 'kanban' | 'calendar' | 'timeline' | 'gallery' | 'list': Default view rendered for the object.
    - `filters` object: FilterGroup, e.g. {"id":"g1","conjunction":"and","rules":[{"id":"r1","field":"Status","operator":"is","value":"Hot"}]}. Date rules support operator "date_preset" with value "today", "yesterday", "this_week", "last_week", "this_month", "last_month", "this_quarter", "last_quarter", "this_year", or "last_year", plus "relative_past"/"relative_next" with relativeAmount + relativeUnit (days|weeks|months|quarters|years). Rules may target the system timestamps "created_at" / "updated_at", e.g. {"field":"created_at","operator":"relative_past","relativeAmount":7,"relativeUnit":"days"}.
    - `sort` object[]
      - `field` string, required: Field name to sort by.
      - `direction` 'asc' | 'desc', required
    - `columns` string[]: Visible-column ordering. Omit to keep the default set.
    - `settings` object: View-type settings (kanbanField, calendarDateField, timelineStartField, …).
    - `pinnedEntryIds` string[]: Pinned-list mode: show EXACTLY these entry ids (mutually exclusive with filters).
  - `setActive` boolean

## Response `200`

Successful response

- object
  - `ok` boolean, required
  - `objectName` string, required
  - `viewName` string, required
  - `replaced` boolean, required
  - `activeView` string, nullable, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid authentication
- `404`: Operation or resource not found
- `500`: Server error

---

[API](https://skmtc.dev/dench/apis/dench-api.md) - [All operations](https://skmtc.dev/dench/apis/dench-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dench/apis/dench-api/revisions/4a145b38f19c?raw)
