## Update a property definition `prism.properties.update(strproperty_id, PropertyUpdateParams**kwargs) -> PropertyDefinition` **patch** `/v2/prism/{teamId}/{objectType}/properties/{propertyId}` Patches the editable fields (`name`, `icon`, `enabled`) of a property definition. `type` and scoping fields are immutable; `type` must be supplied in the body so the server knows which per-type table to write. ### Parameters - `team_id: Optional[str]` - `object_type: Literal["comment", "deal", "engagement", 9 more]` - `"comment"` - `"deal"` - `"engagement"` - `"identity"` - `"ai_chat_thread"` - `"ai_chat_message"` - `"agent_site"` - `"document"` - `"action"` - `"event"` - `"organization"` - `"contact"` - `property_id: str` - `type: Literal["num", "str", "bool", 34 more]` Storage type for a property definition. Determines which per-type table holds the values, and which display formats the property can take. - `"num"` - `"str"` - `"bool"` - `"date"` - `"text"` - `"byte"` - `"select_str"` - `"multi_str"` - `"multiselect_str"` - `"jsonb"` - `"ref_identity"` - `"ref_user"` - `"ref_organization"` - `"ref_contact"` - `"ref_thread"` - `"ref_message"` - `"ref_event"` - `"ref_account"` - `"ref_ai_chat_thread"` - `"ref_ai_chat_message"` - `"multiref_ai_chat_message"` - `"multiref_agent_site"` - `"multiref_action"` - `"multiref_comment"` - `"multiref_contact"` - `"multiref_label"` - `"multiref_thread"` - `"multiref_messages"` - `"multiref_document"` - `"multiref_identity"` - `"multiref_organization"` - `"multiref_engagement"` - `"multiref_attendee"` - `"multiref_meeting_entry"` - `"multiref_read_receipt"` - `"multiref_account"` - `"multiref_source"` - `enabled: Optional[bool]` - `icon: Optional[str]` - `list_id: Optional[str]` - `name: Optional[str]` - `required: Optional[bool]` - `idempotency_key: Optional[str]` ### Returns - `class PropertyDefinition: …` Definition for a single property on an object type. Definitions with team_id and crm_id null are shared defaults; values may be scoped to a team and/or list (crm). - `id: str` - `slug: str` - `type: Literal["num", "str", "bool", 34 more]` Storage type for a property definition. Determines which per-type table holds the values, and which display formats the property can take. - `"num"` - `"str"` - `"bool"` - `"date"` - `"text"` - `"byte"` - `"select_str"` - `"multi_str"` - `"multiselect_str"` - `"jsonb"` - `"ref_identity"` - `"ref_user"` - `"ref_organization"` - `"ref_contact"` - `"ref_thread"` - `"ref_message"` - `"ref_event"` - `"ref_account"` - `"ref_ai_chat_thread"` - `"ref_ai_chat_message"` - `"multiref_ai_chat_message"` - `"multiref_agent_site"` - `"multiref_action"` - `"multiref_comment"` - `"multiref_contact"` - `"multiref_label"` - `"multiref_thread"` - `"multiref_messages"` - `"multiref_document"` - `"multiref_identity"` - `"multiref_organization"` - `"multiref_engagement"` - `"multiref_attendee"` - `"multiref_meeting_entry"` - `"multiref_read_receipt"` - `"multiref_account"` - `"multiref_source"` - `alias: Optional[Literal["app_stage"]]` Reserved alias naming this definition, or null. `app_stage` marks the list pipeline stage definition. Resolve stages by this field rather than by name, slug, or team_id: a superseded native `status` definition can coexist with the pipeline one and is otherwise identical on the wire. - `"app_stage"` - `crm_id: Optional[str]` Identifier of the list this definition is scoped to, when applicable. - `list_id: Optional[str]` Canonical identifier of the list this definition is scoped to. - `locked: Optional[bool]` - `name: Optional[str]` - `native: Optional[bool]` - `options: Optional[List[PropertyOption]]` Present only for select_str and multiselect_str types. - `id: str` - `slug: str` - `color_scheme: Optional[str]` - `crm_id: Optional[str]` - `description: Optional[str]` - `icon: Optional[str]` - `list_id: Optional[str]` - `option_group: Optional[str]` - `sort_index: Optional[int]` - `value: Optional[str]` Display value for the option. - `required: Optional[bool]` When true, records of this object type must carry a non-empty value for this property on create, and a patch may not clear it. - `role_id: Optional[str]` The property's display format. Always populated on definitions created through this API; a null here means the definition predates that and will render as an unknown format until it is patched. - `team_id: Optional[str]` ### Example ```python import os from micro_so import Micro client = Micro( api_key=os.environ.get("MICRO_API_KEY"), # This is the default and can be omitted ) property_definition = client.prism.properties.update( property_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", object_type="comment", type="num", ) print(property_definition.id) ``` #### Response ```json { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "slug": "slug", "type": "num", "alias": "app_stage", "crm_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "list_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "locked": true, "name": "name", "native": true, "options": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "slug": "slug", "color_scheme": "color_scheme", "crm_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "description": "description", "icon": "icon", "list_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "option_group": "option_group", "sort_index": 0, "value": "value" } ], "required": true, "role_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "team_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" } ```