## Update a property definition **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. ### Path Parameters - `teamId: optional string` - `objectType: "comment" or "deal" or "engagement" or 9 more` - `"comment"` - `"deal"` - `"engagement"` - `"identity"` - `"ai_chat_thread"` - `"ai_chat_message"` - `"agent_site"` - `"document"` - `"action"` - `"event"` - `"organization"` - `"contact"` - `propertyId: string` ### Header Parameters - `"Idempotency-Key": optional string` ### Body Parameters - `type: "num" or "str" or "bool" or 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 boolean` - `icon: optional string` - `list_id: optional string` - `name: optional string` - `required: optional boolean` ### Returns - `PropertyDefinition object { id, slug, type, 10 more }` 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: string` - `slug: string` - `type: "num" or "str" or "bool" or 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 "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 string` Identifier of the list this definition is scoped to, when applicable. - `list_id: optional string` Canonical identifier of the list this definition is scoped to. - `locked: optional boolean` - `name: optional string` - `native: optional boolean` - `options: optional array of PropertyOption` Present only for select_str and multiselect_str types. - `id: string` - `slug: string` - `color_scheme: optional string` - `crm_id: optional string` - `description: optional string` - `icon: optional string` - `list_id: optional string` - `option_group: optional string` - `sort_index: optional number` - `value: optional string` Display value for the option. - `required: optional boolean` 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 string` 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 string` ### Example ```http curl https://developers.micro.so/v2/prism/$TEAM_ID/$OBJECT_TYPE/properties/$PROPERTY_ID \ -X PATCH \ -H 'Content-Type: application/json' \ -H "x-api-key: $MICRO_API_KEY" \ -d '{ "type": "num" }' ``` #### 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" } ```