For Agents
Define association labels and configurations between CRM object types in HubSpot, including batch create, update, and purge operations. Useful for agents bootstrapping a custom CRM relationship model.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the CRM Associations Schema, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with CRM Associations Schema API.
List all configured association definitions across the portal
Read the association configuration for a specific from/to object pair
Create, update, and remove association labels for an object pair
GET STARTED
Use for: List every association definition configured on the HubSpot portal, Read the configuration between two specific CRM object types, Create a new association label between contacts and a custom object, Update an existing association label name
Not supported: Does not create or remove individual record links, mutate CRM records, or manage CRM properties — use for HubSpot association schema and label definitions only.
The HubSpot CRM Associations Schema v4 API defines and reads the catalog of association types and labels available between CRM object pairs. It supports listing all configured association definitions, reading those for a specific object type pair, and creating, updating, or removing labels and configurations in batch. Use this API to set up the relationship vocabulary that the Associations API then operates on.
Batch-create new association configurations between two object types
Batch-update existing association configurations
Purge association configurations no longer in use
Read and manage labels under /crm/v4/associations/{fromObjectType}/{toObjectType}/labels
Patterns agents use CRM Associations Schema API for, with concrete tasks.
★ Bootstrapping a Custom Object Relationship Model
When defining a new HubSpot custom object, declare the association types and labels it can hold to other CRM objects before any records are linked. POST /crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/create lets the agent register multiple definitions at once during portal setup.
POST /crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/create with the new association definitions for the custom object.
Renaming Association Labels
Rename a label such as `Primary` to `Primary Contact` across the portal. PUT /crm/v4/associations/{fromObjectType}/{toObjectType}/labels updates the label definition itself rather than touching individual records.
PUT /crm/v4/associations/{fromObjectType}/{toObjectType}/labels with the labelTypeId and the new label name.
Decommissioning Legacy Associations
When sunsetting a custom object, remove its association definitions to stop new records from being linked. POST /crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/purge clears the configuration in batch as part of a cleanup workflow.
POST /crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/purge with the legacy object types.
Agent-Driven Schema Provisioning
Use Jentic to give a setup agent the ability to declare association types as part of a multi-step CRM bootstrap. The agent searches by intent for the right schema operation, loads the input shape, and executes — without writing HubSpot SDK code or exposing the OAuth token.
Use Jentic search 'create a HubSpot association label', load the POST /crm/v4/associations/{fromObjectType}/{toObjectType}/labels schema, and execute with the new label payload.
9 endpoints — the hubspot crm associations schema v4 api defines and reads the catalog of association types and labels available between crm object pairs.
METHOD
PATH
DESCRIPTION
/crm/v4/associations/definitions/configurations/all
Read all association definitions
/crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}
Read association definitions for a pair
/crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/create
Batch create configurations
/crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update
Batch update configurations
/crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/purge
Batch purge configurations
/crm/v4/associations/{fromObjectType}/{toObjectType}/labels
Read association labels
/crm/v4/associations/{fromObjectType}/{toObjectType}/labels
Create an association label
/crm/v4/associations/definitions/configurations/all
Read all association definitions
/crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}
Read association definitions for a pair
/crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/create
Batch create configurations
/crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update
Batch update configurations
/crm/v4/associations/definitions/configurations/{fromObjectType}/{toObjectType}/batch/purge
Batch purge configurations
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth and private app tokens for the Associations Schema API are stored encrypted in the Jentic vault. The agent receives only a scoped execution token; the raw HubSpot credential is never exposed.
Intent-based discovery
Agents search Jentic with intents like 'create a HubSpot association label' or 'list association definitions' and Jentic returns the matching schema operation with its input shape, ready to call.
Time to first call
Direct integration including OAuth and v4 schema nuances typically takes 1-2 days. Through Jentic: under 30 minutes.
Alternatives and complements available in the Jentic catalogue.
Specific to using CRM Associations Schema API through Jentic.
What authentication does the HubSpot Associations Schema API use?
OAuth 2.0 authorization code flow or a private app token in either the `private-app` or `private-app-legacy` header. Through Jentic, the credential lives encrypted in the vault and the agent only ever receives a scoped execution token.
Can I create new association labels between two object types?
Yes. POST /crm/v4/associations/{fromObjectType}/{toObjectType}/labels creates a new label between the named object types, and the matching PUT and DELETE endpoints update or remove an existing label.
What are the rate limits for the Associations Schema API?
Standard HubSpot API limits apply — roughly 100 requests per 10 seconds per OAuth app and daily caps on paid tiers. Schema operations are typically low-frequency, so this rarely becomes a bottleneck.
How do I list every association definition through Jentic?
Search Jentic for `list HubSpot association definitions`, load the GET /crm/v4/associations/definitions/configurations/all schema, and execute. Install with `pip install jentic` and authenticate using `JENTIC_AGENT_API_KEY`.
Does this API mutate individual association records?
No. This API defines the shape of allowed associations and labels. To create or remove a specific link between two records, use the CRM Associations API instead.
/crm/v4/associations/{fromObjectType}/{toObjectType}/labels
Read association labels
/crm/v4/associations/{fromObjectType}/{toObjectType}/labels
Create an association label