Skip to content

HubSpot: Update the schema of a specified custom object

HubSpot schemas.updateSchema: arguments, response, policy and SDK examples.

← Schemas operations · Get started

Operation hubspot.schemas_update_schema

Provider route: PATCH /crm-object-schemas/2026-09/schemas/{objectType}. 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["schemas"]["updateSchema"]>[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.schemas.updateSchema(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.schemas.update_schema(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
bodyModelRequired within parentExpand Update the schema of a specified custom object — request body — body

Referenced models: Update the schema of a specified custom object — 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
$ModelRootExpand Update the schema of a specified custom object — response body

Referenced models: Update the schema of a specified custom object — response body

Update the schema of a specified custom object — response body
FieldTypePresenceDescription and constraints
$objectRoot
allowsSensitivePropertiesbooleanRequired within parentIndicates whether the object type allows properties that contain sensitive data.
archivedbooleanRequired within parentIndicates whether the object type is archived.
createdAtstringOptionalWhen the object type was created.
Format: date-time
descriptionstringOptionalA description of the object type.
fullyQualifiedNamestringRequired within parentAn assigned unique ID for the object, including portal ID and object name.
idstringRequired within parentA unique ID for this object type. Will be defined as {meta-type}-{unique ID}.
labelsModelRequired within parentExpand Create a new custom object schema — response body — labels
namestringRequired within parentA unique name for this object. For internal use only.
objectTypeIdstringRequired within parentA unique identifier for the object type.
portalIdJSONOptional
portalId (anyOf 1)integerAlternativeThe ID of the account that this object type is specific to.
Format: int32
portalId (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
primaryDisplayPropertystringOptionalThe name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type.
requiredPropertiesarrayRequired within parentThe names of properties that should be **required** when creating an object of this type.
requiredProperties[]stringEach item
searchablePropertiesarrayRequired within parentNames of properties that will be indexed for this object type in by HubSpot's product search.
searchableProperties[]stringEach item
secondaryDisplayPropertiesarrayRequired within parentThe names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type.
secondaryDisplayProperties[]stringEach item
updatedAtstringOptionalWhen the object type was last updated.
Format: date-time

Referenced models: Create a new custom object schema — response body — labels

Update the schema of a specified custom object — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
allowsSensitivePropertiesbooleanOptionalDetermines if the object type can include properties that are marked as sensitive.
clearDescriptionbooleanRequired within parentIndicates whether the description of the object type should be cleared.
descriptionstringOptionalA brief explanation of the object type.
labelsModelOptionalExpand Create a new custom object schema — response body — labels
primaryDisplayPropertystringOptionalThe name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type.
requiredPropertiesarrayOptionalThe names of properties that should be **required** when creating an object of this type.
requiredProperties[]stringEach item
restorablebooleanOptionalSpecifies if the object type can be restored after being deleted.
searchablePropertiesarrayOptionalNames of properties that will be indexed for this object type in by HubSpot's product search.
searchableProperties[]stringEach item
secondaryDisplayPropertiesarrayOptionalThe names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type.
secondaryDisplayProperties[]stringEach item

Referenced models: Create a new custom object schema — response body — labels

Create a new custom object schema — response body — labels
FieldTypePresenceDescription and constraints
$objectRoot
pluralstringOptionalThe word for multiple objects. (There’s no way to change this later.)
singularstringOptionalThe word for one object. (There’s no way to change this later.)

SDK function policy ID: hubspot.schemas_update_schema. Catalog operation: schemas_update_schema. 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.schemas.custom.write"]

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.