Skip to content

Update surface views

PUT /api/v1/surface-views/{savedSurfaceViewId}: request fields and declared response contract.

PUT/api/v1/surface-views/{savedSurfaceViewId}

Authorization
PropertyValue
Permissionsettings.read
Workspace scoperequired
Scope targetworkspace

Parameters

Path parameters
FieldTypeRequiredNullableDefault
savedSurfaceViewIdstringrequirednon-null—

Query parameters: none.

Request body

Request body fields
FieldTypeRequiredNullableDefault
namestringrequirednon-null—
iconstringoptionalnon-null—
positionintegeroptionalnon-null—
rendererstringrequirednon-null—
filtersreferenceoptionalnon-null—
sortarrayoptionalnon-null—
visibleFieldsarrayoptionalnon-null—
fieldOrderarrayoptionalnon-null—
rendererConfigobjectoptionalnon-null—
rendererConfig.collectionobjectoptionalnon-null—
rendererConfig.collection.presentationstringrequirednon-null—
rendererConfig.tableobjectoptionalnon-null—
rendererConfig.table.pageSizeintegeroptionalnon-null—
rendererConfig.kanbanobjectoptionalnon-null—
rendererConfig.kanban.groupFieldstringrequirednon-null—
rendererConfig.calendarobjectoptionalnon-null—
rendererConfig.calendar.dateFieldstringrequirednon-null—
rendererConfig.calendar.endDateFieldstringoptionalnon-null—
rendererConfig.calendar.timezonestringoptionalnon-null—
rendererConfig.mapobjectoptionalnon-null—
rendererConfig.map.locationBindingstringrequirednon-null—
rendererConfig.map.colorFieldstringoptionalnon-null—
rendererConfig.map.avatarFieldstringoptionalnon-null—
rendererConfig.map.defaultViewportobjectoptionalnon-null—
rendererConfig.map.defaultViewport.centerobjectrequirednon-null—
rendererConfig.map.defaultViewport.zoomnumberrequirednon-null—
rendererConfig.dataGridobjectoptionalnon-null—
rendererConfig.dataGrid.rowHeight"comfortable" | "compact"optionalnon-null—
rendererConfig.dataGrid.pinnedFieldsobjectoptionalnon-null—
rendererConfig.dataGrid.pinnedFields.leftarrayoptionalnon-null—
rendererConfig.dataGrid.pinnedFields.rightarrayoptionalnon-null—
rendererConfig.dataGrid.visibleFieldOrderarrayoptionalnon-null—
rendererConfig.dataGrid.columnWidthsobjectoptionalnon-null—
descriptorCompatibilityHashstringrequirednon-null—

Response

200

Response fields
FieldTypeRequiredNullableDefault
dataobjectrequirednon-null—
data.idstringrequirednon-null—
data.companyIdstringrequirednon-null—
data.targetunknownrequirednon-null—
data.namestringrequirednon-null—
data.iconstringoptionalnon-null—
data.positionintegerrequirednon-null—
data.visibility"personal" | "team"requirednon-null—
data.ownerUserIdstringoptionalnon-null—
data.rendererstringrequirednon-null—
data.filtersreferenceoptionalnon-null—
data.sortarrayoptionalnon-null—
data.visibleFieldsarrayoptionalnon-null—
data.fieldOrderarrayoptionalnon-null—
data.rendererConfigobjectoptionalnon-null—
data.rendererConfig.collectionobjectoptionalnon-null—
data.rendererConfig.collection.presentationstringrequirednon-null—
data.rendererConfig.tableobjectoptionalnon-null—
data.rendererConfig.table.pageSizeintegeroptionalnon-null—
data.rendererConfig.kanbanobjectoptionalnon-null—
data.rendererConfig.kanban.groupFieldstringrequirednon-null—
data.rendererConfig.calendarobjectoptionalnon-null—
data.rendererConfig.calendar.dateFieldstringrequirednon-null—
data.rendererConfig.calendar.endDateFieldstringoptionalnon-null—
data.rendererConfig.calendar.timezonestringoptionalnon-null—
data.rendererConfig.mapobjectoptionalnon-null—
data.rendererConfig.map.locationBindingstringrequirednon-null—
data.rendererConfig.map.colorFieldstringoptionalnon-null—
data.rendererConfig.map.avatarFieldstringoptionalnon-null—
data.rendererConfig.map.defaultViewportobjectoptionalnon-null—
data.rendererConfig.dataGridobjectoptionalnon-null—
data.rendererConfig.dataGrid.rowHeight"comfortable" | "compact"optionalnon-null—
data.rendererConfig.dataGrid.pinnedFieldsobjectoptionalnon-null—
data.rendererConfig.dataGrid.visibleFieldOrderarrayoptionalnon-null—
data.rendererConfig.dataGrid.columnWidthsobjectoptionalnon-null—
data.descriptorCompatibilityHashstringrequirednon-null—
data.provenanceunknownoptionalnon-null—
data.createdAtunknownrequirednon-null—
data.updatedAtunknownrequirednon-null—

Declared failures

Declared failures
PropertyValue
SAVED_SURFACE_VIEW_INVALID400 — not retryable
SAVED_SURFACE_VIEW_NOT_FOUND404 — not retryable
SAVED_SURFACE_VIEW_STORE_FAILED503 — retryable

Readback

Read the result back with:

  • savedSurfaceViews.listScoped

Request example

Schematic only. Replace placeholders with real values and include all required nested fields.

PUT /api/v1/surface-views/{savedSurfaceViewId} HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>
Content-Type: application/json

{
  "name": "<name>",
  "renderer": "<renderer>",
  "descriptorCompatibilityHash": "<descriptorCompatibilityHash>"
}