## Update a view bundle (select/filter/sort arrays are replaced wholesale when supplied) `client.Views.Update(ctx, viewObjectType, viewID, params) (*ViewUpdateResponse, error)` **patch** `/v2/prism/{teamId}/{viewObjectType}/views/{viewId}` Update a view bundle (select/filter/sort arrays are replaced wholesale when supplied) ### Parameters - `viewObjectType ViewUpdateParamsViewObjectType` - `const ViewUpdateParamsViewObjectTypeAction ViewUpdateParamsViewObjectType = "action"` - `const ViewUpdateParamsViewObjectTypeDeal ViewUpdateParamsViewObjectType = "deal"` - `const ViewUpdateParamsViewObjectTypeDocument ViewUpdateParamsViewObjectType = "document"` - `const ViewUpdateParamsViewObjectTypeEvent ViewUpdateParamsViewObjectType = "event"` - `const ViewUpdateParamsViewObjectTypeIdentity ViewUpdateParamsViewObjectType = "identity"` - `const ViewUpdateParamsViewObjectTypeOrganization ViewUpdateParamsViewObjectType = "organization"` - `viewID string` - `params ViewUpdateParams` - `PathTeamID param.Field[string]` Path param - `AggregationPropDefID param.Field[string]` Body param - `AggregationType param.Field[string]` Body param - `ColumnLayout param.Field[map[string, unknown]]` Body param - `Combinator param.Field[ViewUpdateParamsCombinator]` Body param - `const ViewUpdateParamsCombinatorAnd ViewUpdateParamsCombinator = "AND"` - `const ViewUpdateParamsCombinatorOr ViewUpdateParamsCombinator = "OR"` - `Filter param.Field[[]map[string, unknown]]` Body param - `GroupBy param.Field[string]` Body param - `GroupHiddenOptionIDs param.Field[[]unknown]` Body param - `[]unknown` - `GroupHideEmpty param.Field[bool]` Body param - `GroupSort param.Field[string]` Body param - `Icon param.Field[string]` Body param - `ListID param.Field[string]` Body param - `Name param.Field[string]` Body param - `Select param.Field[[]string]` Body param - `Sort param.Field[[]map[string, unknown]]` Body param - `SortOrder param.Field[int64]` Body param - `BodyTeamID param.Field[string]` Body param - `UserID param.Field[string]` Body param - `ViewType param.Field[string]` Body param - `IdempotencyKey param.Field[string]` Header param: A unique key (UUID or any opaque string up to 255 chars) that identifies this logical request. The server caches the first response under this key for 24 hours and replays it on retry — safe to use on every POST/PUT/PATCH to make network retries deterministic. Reusing the same key with a different body returns 409 `idempotency_key_mismatch`. Replays include the `idempotent-replay: true` response header. ### Returns - `type ViewUpdateResponse struct{…}` A view (saved configuration for displaying records of a given object type) plus its select/filter/sort children. Properties in select/filter/sort are referenced by slug. - `Name string` - `ViewType string` - `ID string` - `AggregationPropDefID string` - `AggregationType string` - `ColumnLayout map[string, unknown]` - `Combinator ViewUpdateResponseCombinator` - `const ViewUpdateResponseCombinatorAnd ViewUpdateResponseCombinator = "AND"` - `const ViewUpdateResponseCombinatorOr ViewUpdateResponseCombinator = "OR"` - `CreatedAt string` - `Filter []map[string, unknown]` Each entry is { slug: { comparator: value } } - `GroupBy string` Property slug to group by - `GroupHiddenOptionIDs []unknown` - `[]unknown` - `GroupHideEmpty bool` - `GroupSort string` - `Icon string` - `ListID string` - `Select []string` Property slugs (dot-paths permitted for refs) - `Sort []map[string, unknown]` Each entry is { slug: 'asc' | 'desc' } - `SortOrder int64` - `TeamID string` - `UpdatedAt string` - `UserID string` ### Example ```go package main import ( "context" "fmt" "github.com/micro-so/micro-sdk-go" "github.com/micro-so/micro-sdk-go/option" ) func main() { client := micro.NewClient( option.WithAPIKey("My API Key"), option.WithTeamID("My Team ID"), ) view, err := client.Views.Update( context.TODO(), micro.ViewUpdateParamsViewObjectTypeAction, "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", micro.ViewUpdateParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", view.ID) } ``` #### Response ```json { "name": "name", "view_type": "view_type", "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "aggregation_prop_def_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "aggregation_type": "aggregation_type", "column_layout": { "foo": "bar" }, "combinator": "AND", "created_at": "created_at", "filter": [ { "foo": "bar" } ], "group_by": "group_by", "group_hidden_option_ids": [ {} ], "group_hide_empty": true, "group_sort": "group_sort", "icon": "icon", "list_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "select": [ "string" ], "sort": [ { "foo": "bar" } ], "sort_order": 0, "team_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "updated_at": "updated_at", "user_id": "user_id" } ```