Skip to content

HubSpot: Read a batch of properties

HubSpot properties.batchGetProperties: arguments, response, policy and SDK examples.

← Properties operations · Get started

Operation hubspot.properties_batch_get_properties

Provider route: POST /crm/properties/2026-09/{objectType}/batch/read. Alter supplies the connection’s credentials and routing.

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"]["batchGetProperties"]>[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.batchGetProperties(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from 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.batch_get_properties(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.objectTypestringRequired within parent
queryobjectOptionalAdditional keys: not allowed
query.localestringOptional
bodyModelRequired within parentExpand Read a batch of properties — request body — body

Referenced models: Read a batch of properties — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$JSONRoot
$ (anyOf 1)ModelAlternativeExpand Read a batch of properties — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Properties Batch Response Property
$ (anyOf 2)ModelAlternativeExpand Read a batch of properties — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Properties Batch Response Property With Errors

Referenced models: Read a batch of properties — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Properties Batch Response Property, Read a batch of properties — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Properties Batch Response Property With Errors

3 more schemas are linked from the tables above, on the schema pages.

Read a batch of properties — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Properties Batch Response Property
FieldTypePresenceDescription and constraints
$objectRoot
completedAtstringRequired within parentThe timestamp indicating when the batch operation was completed.
Format: date-time
linksobjectOptionalA collection of URLs linking to documentation or resources related to the batch operation.
Additional keys: see wildcard field
links.*stringAdditional keys
requestedAtstringOptionalThe timestamp indicating when the batch operation was requested.
Format: date-time
resultsarrayRequired within parentAn array of Property objects representing the results of the batch operation.
results[]ModelEach itemExpand Read a property — response body
startedAtstringRequired within parentThe timestamp indicating when the batch operation began processing.
Format: date-time
statusstringRequired within parentThe current status of the batch operation, with possible values being CANCELED, COMPLETE, PENDING, or PROCESSING.
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Read a property — response body

Read a batch of properties — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Properties Batch Response Property With Errors
FieldTypePresenceDescription and constraints
$objectRoot
completedAtstringRequired within parentThe date and time when the batch operation was completed, in ISO 8601 format.
Format: date-time
errorsarrayOptionalAn array of errors encountered during the batch operation, each represented by a StandardError object.
errors[]ModelEach itemExpand Remove associations — response body — errors item
linksobjectOptionalA map of link names to their associated URIs, providing additional information or actions related to the batch operation.
Additional keys: see wildcard field
links.*stringAdditional keys
numErrorsJSONOptional
numErrors (anyOf 1)integerAlternativeThe number of errors encountered during the batch operation.
Format: int32
numErrors (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
requestedAtstringOptionalThe date and time when the batch operation was requested, in ISO 8601 format.
Format: date-time
resultsarrayRequired within parentAn array of properties that were processed in the batch operation.
results[]ModelEach itemExpand Read a property — response body
startedAtstringRequired within parentThe date and time when the batch operation started, in ISO 8601 format.
Format: date-time
statusstringRequired within parentThe current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Remove associations — response body — errors item, Read a property — response body

Read a batch of properties — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
archivedbooleanRequired within parentSpecifies whether the property is archived.
dataSensitivitystringRequired within parentIndicates the sensitivity level of the data, such as 'non_sensitive', 'sensitive', or 'highly_sensitive'.
One of: highly_sensitive, non_sensitive, sensitive
inputsarrayRequired within parentAn array of property names to be included in the batch read operation. Each item in the array is a reference to a PropertyName object.
inputs[]ModelEach itemExpand Read a batch of properties — request body — body inputs item

Referenced models: Read a batch of properties — request body — body inputs item

Read a property — response body
FieldTypePresenceDescription and constraints
$objectRootA HubSpot property
archivedbooleanOptionalWhether or not the property is archived.
archivedAtstringOptionalWhen the property was archived.
Format: date-time
calculatedbooleanOptionalFor default properties, true indicates that the property is calculated by a HubSpot process. It has no effect for custom properties.
calculationFormulastringOptionalRepresents a formula that is used to compute a calculated property.
createdAtstringOptionalThe timestamp when the property was created, in ISO 8601 format.
Format: date-time
createdUserIdstringOptionalThe 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.
currencyPropertyNamestringOptionalThe name of the currency property associated with this property, if applicable.
dataSensitivitystringOptionalThe sensitivity level of the data. Valid values include 'non_sensitive', 'sensitive', and 'highly_sensitive'.
Known values: highly_sensitive, non_sensitive, sensitive
dateDisplayHintstringOptionalIndicates 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
descriptionstringRequired within parentA description of the property that will be shown as help text in HubSpot.
displayOrderJSONOptional
displayOrder (anyOf 1)integerAlternativeProperties are shown in order, starting with the lowest positive integer value.
Format: int32
displayOrder (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
externalOptionsbooleanOptionalFor default properties, true indicates that the options are stored externally to the property settings.
fieldTypestringRequired within parentControls how the property appears in HubSpot.
formFieldbooleanOptionalWhether or not the property can be used in a HubSpot form.
groupNamestringRequired within parentThe name of the property group the property belongs to.
hasUniqueValuebooleanOptionalWhether or not the property's value must be unique. Once set, this can't be changed.
hiddenbooleanOptionalWhether or not the property will be hidden from the HubSpot UI. It's recommended this be set to false for custom properties.
hubspotDefinedbooleanOptionalThis will be true for default object properties built into HubSpot.
labelstringRequired within parentA human-readable property label that will be shown in HubSpot.
modificationMetadataModelOptionalExpand Read a property — response body — modification Metadata
namestringRequired within parentThe internal property name, which must be used when referencing the property via the API.
numberDisplayHintstringOptionalA hint for displaying number properties. Valid values include 'unformatted', 'formatted', 'currency', 'percentage', 'duration', and 'probability'.
Known values: currency, duration, formatted, percentage, probability, unformatted
optionsarrayRequired within parentA list of valid options for the property. This field is required for enumerated properties, but will be empty for other property types.
options[]ModelEach itemExpand Read a property — response body — options item
referencedObjectTypestringOptionalIf this property is related to other object(s), they'll be listed here.
sensitiveDataCategoriesarrayOptionalAn array of categories indicating the sensitivity of the data contained in the property.
sensitiveDataCategories[]stringEach item
showCurrencySymbolbooleanOptionalWhether or not the property will display the currency symbol set in the account settings.
textDisplayHintstringOptionalA 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
typestringRequired within parentThe property data type.
updatedAtstringOptionalThe timestamp when the property was last updated, in ISO 8601 format.
Format: date-time
updatedUserIdstringOptionalThe 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

Read a batch of properties — request body — body inputs item
FieldTypePresenceDescription and constraints
$objectRoot
namestringRequired within parentThe name of the property to read or modify.
Read a property — response body — options item
FieldTypePresenceDescription and constraints
$objectRootA HubSpot property option
descriptionstringOptionalA description of the option.
displayOrderJSONOptional
displayOrder (anyOf 1)integerAlternativeOptions 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)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
hiddenbooleanRequired within parentHidden options will not be displayed in HubSpot.
labelstringRequired within parentA human-readable option label that will be shown in HubSpot.
valuestringRequired within parentThe internal value of the option, which must be used when setting the property value through the API.

SDK function policy ID: hubspot.properties_batch_get_properties. Catalog operation: properties_batch_get_properties. 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: ["automation", "crm.objects.appointments.read", "crm.objects.appointments.sensitive.read.v2", "crm.objects.appointments.sensitive.write.v2", "crm.objects.appointments.write", "crm.objects.carts.read", "crm.objects.commercepayments.write", "crm.objects.companies.highly_sensitive.read.v2", "crm.objects.companies.highly_sensitive.write.v2", "crm.objects.companies.read", "crm.objects.companies.sensitive.read.v2", "crm.objects.companies.sensitive.write.v2", "crm.objects.companies.write", "crm.objects.contacts.highly_sensitive.read.v2", "crm.objects.contacts.highly_sensitive.write.v2", "crm.objects.contacts.read", "crm.objects.contacts.sensitive.read.v2", "crm.objects.contacts.sensitive.write.v2", "crm.objects.contacts.write", "crm.objects.courses.read", "crm.objects.courses.write", "crm.objects.custom.highly_sensitive.read.v2", "crm.objects.custom.highly_sensitive.write.v2", "crm.objects.custom.read", "crm.objects.custom.sensitive.read.v2", "crm.objects.custom.sensitive.write.v2", "crm.objects.custom.write", "crm.objects.deals.highly_sensitive.read.v2", "crm.objects.deals.highly_sensitive.write.v2", "crm.objects.deals.read", "crm.objects.deals.sensitive.read.v2", "crm.objects.deals.sensitive.write.v2", "crm.objects.deals.write", "crm.objects.feedback_submissions.read", "crm.objects.goals.read", "crm.objects.goals.write", "crm.objects.invoices.read", "crm.objects.invoices.write", "crm.objects.leads.read", "crm.objects.leads.write", "crm.objects.line_items.read", "crm.objects.line_items.write", "crm.objects.listings.read", "crm.objects.listings.write", "crm.objects.marketing_events.read", "crm.objects.marketing_events.write", "crm.objects.orders.read", "crm.objects.owners.read", "crm.objects.products.write", "crm.objects.projects.highly_sensitive.read", "crm.objects.projects.highly_sensitive.write", "crm.objects.projects.read", "crm.objects.projects.sensitive.read", "crm.objects.projects.sensitive.write", "crm.objects.projects.write", "crm.objects.quotes.read", "crm.objects.quotes.write", "crm.objects.services.read", "crm.objects.services.write", "crm.objects.subscriptions.read", "crm.objects.subscriptions.write", "crm.objects.users.read", "crm.pipelines.orders.read", "crm.schemas.appointments.read", "crm.schemas.carts.read", "crm.schemas.commercepayments.read", "crm.schemas.companies.read", "crm.schemas.contacts.read", "crm.schemas.courses.read", "crm.schemas.custom.read", "crm.schemas.deals.read", "crm.schemas.invoices.read", "crm.schemas.line_items.read", "crm.schemas.listings.read", "crm.schemas.orders.read", "crm.schemas.projects.read", "crm.schemas.quotes.read", "crm.schemas.services.read", "crm.schemas.subscriptions.read", "e-commerce", "media_bridge.read", "tickets", "tickets.highly_sensitive.v2", "tickets.sensitive.v2", "timeline"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.