HubSpot: Update a property
HubSpot properties.updateProperty: arguments, response, policy and SDK examples.
← Properties operations · Get started
Operation hubspot.properties_update_property
Provider route: PATCH /crm/properties/2026-09/{objectType}/{propertyName}. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/hubspot with npm, or alter-sdk-hubspot with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { HubSpotIntegration } from "@alter-ai/hubspot";
async function execute(input: Parameters<HubSpotIntegration["properties"]["updateProperty"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new HubSpotIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.properties.updateProperty(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_hubspot import HubSpotIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = HubSpotIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.properties.update_property(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.objectType | string | Required within parent | |
path.propertyName | string | Required within parent | |
body | Model | Required within parent | Expand Update a property — request body — body |
Referenced models: Update a property — request body — body
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Read a property — response body |
Referenced models: Read a property — response body
Schemas
Section titled “Schemas”Read a property — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | A HubSpot property |
archived | boolean | Optional | Whether or not the property is archived. |
archivedAt | string | Optional | When the property was archived. Format: date-time |
calculated | boolean | Optional | For default properties, true indicates that the property is calculated by a HubSpot process. It has no effect for custom properties. |
calculationFormula | string | Optional | Represents a formula that is used to compute a calculated property. |
createdAt | string | Optional | The timestamp when the property was created, in ISO 8601 format. Format: date-time |
createdUserId | string | Optional | The internal user ID of the user who created the property in HubSpot. This field may not exist if the property was created outside of HubSpot. |
currencyPropertyName | string | Optional | The name of the currency property associated with this property, if applicable. |
dataSensitivity | string | Optional | The sensitivity level of the data. Valid values include 'non_sensitive', 'sensitive', and 'highly_sensitive'. Known values: highly_sensitive, non_sensitive, sensitive |
dateDisplayHint | string | Optional | Indicates how date values should be displayed, with options such as 'absolute', 'absolute_with_relative', 'time_since', or 'time_until'. Known values: absolute, absolute_with_relative, time_since, time_until |
description | string | Required within parent | A description of the property that will be shown as help text in HubSpot. |
displayOrder | JSON | Optional | |
displayOrder (anyOf 1) | integer | Alternative | Properties are shown in order, starting with the lowest positive integer value. Format: int32 |
displayOrder (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
externalOptions | boolean | Optional | For default properties, true indicates that the options are stored externally to the property settings. |
fieldType | string | Required within parent | Controls how the property appears in HubSpot. |
formField | boolean | Optional | Whether or not the property can be used in a HubSpot form. |
groupName | string | Required within parent | The name of the property group the property belongs to. |
hasUniqueValue | boolean | Optional | Whether or not the property's value must be unique. Once set, this can't be changed. |
hidden | boolean | Optional | Whether or not the property will be hidden from the HubSpot UI. It's recommended this be set to false for custom properties. |
hubspotDefined | boolean | Optional | This will be true for default object properties built into HubSpot. |
label | string | Required within parent | A human-readable property label that will be shown in HubSpot. |
modificationMetadata | Model | Optional | Expand Read a property — response body — modification Metadata |
name | string | Required within parent | The internal property name, which must be used when referencing the property via the API. |
numberDisplayHint | string | Optional | A hint for displaying number properties. Valid values include 'unformatted', 'formatted', 'currency', 'percentage', 'duration', and 'probability'. Known values: currency, duration, formatted, percentage, probability, unformatted |
options | array | Required within parent | A list of valid options for the property. This field is required for enumerated properties, but will be empty for other property types. |
options[] | Model | Each item | Expand Read a property — response body — options item |
referencedObjectType | string | Optional | If this property is related to other object(s), they'll be listed here. |
sensitiveDataCategories | array | Optional | An array of categories indicating the sensitivity of the data contained in the property. |
sensitiveDataCategories[] | string | Each item | |
showCurrencySymbol | boolean | Optional | Whether or not the property will display the currency symbol set in the account settings. |
textDisplayHint | string | Optional | A hint for displaying text properties. Valid values include 'unformatted_single_line', 'multi_line', 'email', 'phone_number', 'domain_name', 'ip_address', 'physical_address', and 'postal_code'. Known values: domain_name, email, ip_address, multi_line, phone_number, physical_address, postal_code, unformatted_single_line |
type | string | Required within parent | The property data type. |
updatedAt | string | Optional | The timestamp when the property was last updated, in ISO 8601 format. Format: date-time |
updatedUserId | string | Optional | The internal user ID of the user who updated the property in HubSpot. This field may not exist if the property was updated outside of HubSpot. |
Referenced models: Read a property — response body — options item, Read a property — response body — modification Metadata
Update a property — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
calculationFormula | string | Optional | Represents a formula that is used to compute a calculated property. |
currencyPropertyName | string | Optional | A string specifying the name of the property that holds the currency information, applicable when showCurrencySymbol is true. |
description | string | Optional | A description of the property that will be shown as help text in HubSpot. |
displayOrder | integer | Optional | Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the Property to be displayed after any positive values. Format: int32 |
fieldType | string | Optional | Controls how the property appears in HubSpot. One of: booleancheckbox, calculation_equation, checkbox, date, file, html, number, phonenumber, radio, select, text, textarea |
formField | boolean | Optional | Whether or not the property can be used in a HubSpot form. |
groupName | string | Optional | The name of the property group the property belongs to. |
hidden | boolean | Optional | If true, the property won't be visible and can't be used in HubSpot. |
label | string | Optional | A human-readable property label that will be shown in HubSpot. |
numberDisplayHint | string | Optional | A string providing a hint for displaying number values. Valid values include 'unformatted', 'formatted', 'currency', 'percentage', 'duration', and 'probability'. One of: currency, duration, formatted, percentage, probability, unformatted |
options | array | Optional | A list of valid options for the property. |
options[] | Model | Each item | Expand Create a property — request body — body options item |
showCurrencySymbol | boolean | Optional | A boolean indicating whether to display a currency symbol for number fields formatted as currency. |
textDisplayHint | string | Optional | A string providing a hint for displaying text values. Valid values include 'unformatted_single_line', 'multi_line', 'email', 'phone_number', 'domain_name', 'ip_address', 'physical_address', and 'postal_code'. One of: domain_name, email, ip_address, multi_line, phone_number, physical_address, postal_code, unformatted_single_line |
type | string | Optional | The data type of the property. One of: bool, date, datetime, enumeration, number, phone_number, string |
Referenced models: Create a property — request body — body options item
Read a property — response body — options item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | A HubSpot property option |
description | string | Optional | A description of the option. |
displayOrder | JSON | Optional | |
displayOrder (anyOf 1) | integer | Alternative | Options are displayed in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values. Format: int32 |
displayOrder (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
hidden | boolean | Required within parent | Hidden options will not be displayed in HubSpot. |
label | string | Required within parent | A human-readable option label that will be shown in HubSpot. |
value | string | Required within parent | The internal value of the option, which must be used when setting the property value through the API. |
Read a property — response body — modification Metadata
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
archivable | boolean | Required within parent | Specifies whether the property can be archived. |
readOnlyDefinition | boolean | Required within parent | Indicates whether the property's definition is read-only and cannot be modified. |
readOnlyOptions | boolean | Optional | Indicates whether the property's options are read-only and cannot be modified. |
readOnlyValue | boolean | Required within parent | Indicates whether the property's value is read-only and cannot be modified. |
Create a property — request body — body options item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
description | string | Optional | A description of the option. |
displayOrder | integer | Required within parent | Options are shown in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values. Format: int32 |
hidden | boolean | Required within parent | Hidden options won't be shown in HubSpot. |
label | string | Required within parent | A human-readable option label that will be shown in HubSpot. |
value | string | Required within parent | The internal value of the option, which must be used when setting the property value through the API. |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: hubspot.properties_update_property. Catalog operation: properties_update_property. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["crm.objects.carts.write", "crm.objects.orders.write", "crm.objects.users.write", "crm.pipelines.orders.write", "crm.schemas.appointments.write", "crm.schemas.carts.write", "crm.schemas.commercepayments.write", "crm.schemas.companies.write", "crm.schemas.contacts.write", "crm.schemas.courses.write", "crm.schemas.custom.write", "crm.schemas.deals.write", "crm.schemas.invoices.write", "crm.schemas.listings.write", "crm.schemas.orders.write", "crm.schemas.projects.write", "crm.schemas.quotes.write", "crm.schemas.services.write", "crm.schemas.subscriptions.write", "e-commerce", "tickets", "tickets.highly_sensitive.v2", "tickets.sensitive.v2"]