For Agents
Read, create, update, archive, and search any standard or custom HubSpot CRM record through generic object-type endpoints, with batch operations for bulk record changes.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the CRM Objects, 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 Objects API.
Read any CRM record by object type and record ID without using a type-specific client
Create, update, or archive records in batches of up to 100 with batch endpoints
Search records of any object type using filter groups, sort criteria, and pagination
GET STARTED
Use for: I need to look up a CRM record by object type and ID, Create a batch of CRM records of a custom object type, Search for records that match a set of property filters, List all records of a specific object type with pagination
Not supported: Does not handle marketing email sends, workflow automation, or analytics reporting — use for generic CRM record CRUD and search only.
The HubSpot CRM Objects API provides a unified interface for reading, creating, updating, and archiving any standard or custom CRM record by object type. It exposes generic endpoints that operate against companies, contacts, deals, line items, products, tickets, quotes, and any custom object you define on the portal. Batch read, create, update, and archive operations let agents move large volumes of records in a single call, and a search endpoint supports filtering and pagination across object types. Use it as the primary CRUD layer when you need a single integration that works across HubSpot's full object model rather than a separate client for each record type.
List records of a given object type with property selection and association expansion
Patch individual records to update specific properties without overwriting others
Operate against custom object types defined in the HubSpot portal using the same endpoints
Patterns agents use CRM Objects API for, with concrete tasks.
★ Unified CRUD across standard and custom objects
Treat companies, contacts, deals, custom objects, and any other CRM record through the same generic endpoints. Pass the object type as a path parameter and reuse the same code path for read, list, patch, and archive operations. This removes the need to build a separate integration per record type and is the recommended approach when an agent has to operate over HubSpot's full object graph.
Fetch the record at /crm/v3/objects/{objectType}/{objectId} for objectType=companies and objectId=12345 and return its properties.
Bulk record migration
Migrate large volumes of records into HubSpot using the batch create endpoint, then verify the import with batch read. The batch endpoints accept up to 100 records per call, which makes them suitable for ETL pipelines, CSV imports, and inter-system syncs. Pair this with the search endpoint to validate the import landed.
POST 100 contact records to /crm/v3/objects/contacts/batch/create and confirm each one returned a non-null id field.
Conditional record search
Run filtered searches across any object type using filter groups, sorts, and a query string. The search endpoint returns paginated results with the standard CRM properties and supports filtering on custom properties. Useful for agents that need to locate records matching multi-property criteria before acting on them.
POST a search to /crm/v3/objects/companies/search filtering where industry equals SOFTWARE and lifecyclestage equals customer, sorted by createdate descending.
AI agent execution through Jentic
An agent that needs to act on HubSpot records discovers this API through Jentic's intent search using a query like 'read a hubspot crm record', loads the input schema for /crm/v3/objects/{objectType}/{objectId}, and executes the call with credentials supplied from the Jentic vault. The same flow works for batch operations and search.
Search Jentic for 'read a hubspot crm record', load the GET /crm/v3/objects/{objectType}/{objectId} operation, and execute it for objectType=deals and objectId=987.
11 endpoints — the hubspot crm objects api provides a unified interface for reading, creating, updating, and archiving any standard or custom crm record by object type.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/{objectType}/{objectId}
Read a single record by object type and ID
/crm/v3/objects/{objectType}/{objectId}
Update properties on a single record
/crm/v3/objects/{objectType}/{objectId}
Archive a single record
/crm/v3/objects/{objectType}
List records of an object type with pagination
/crm/v3/objects/{objectType}/batch/create
Create up to 100 records in one call
/crm/v3/objects/{objectType}/batch/read
Read up to 100 records by ID in one call
/crm/v3/objects/{objectType}/batch/update
Update up to 100 records in one call
/crm/v3/objects/{objectType}/batch/archive
Archive up to 100 records in one call
/crm/v3/objects/{objectType}/{objectId}
Read a single record by object type and ID
/crm/v3/objects/{objectType}/{objectId}
Update properties on a single record
/crm/v3/objects/{objectType}/{objectId}
Archive a single record
/crm/v3/objects/{objectType}
List records of an object type with pagination
/crm/v3/objects/{objectType}/batch/create
Create up to 100 records in one call
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth tokens and private app tokens are stored encrypted in the Jentic vault. Agents call the API through Jentic's execution layer, which attaches the Authorization header at request time, so the raw token never appears in prompts, logs, or model context.
Intent-based discovery
Agents express the intent (e.g. 'read a hubspot crm record' or 'batch create records') and Jentic returns the matching CRM Objects operation along with its JSON Schema so the agent can build a request without browsing HubSpot's docs.
Time to first call
Direct integration: half a day to wire OAuth, base URL, and pagination handling. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using CRM Objects API through Jentic.
What authentication does the HubSpot CRM Objects API use?
It accepts OAuth 2.0 access tokens issued to a HubSpot app and private app access tokens passed as a Bearer token in the Authorization header. Through Jentic, the token is stored in the credential vault and injected at execution time, so the raw token never enters the agent's prompt context.
Can I work with custom objects through this API?
Yes. The same endpoints under /crm/v3/objects/{objectType} accept any custom object type defined on the portal in addition to standard types like companies and contacts, so a single integration covers the whole object model.
What are the rate limits for the HubSpot CRM Objects API?
HubSpot enforces account-level rate limits that vary by subscription tier (typically 100 requests per 10 seconds for OAuth apps and higher daily caps for Enterprise). Batch endpoints count as a single request, so prefer /crm/v3/objects/{objectType}/batch/create over per-record loops to stay within limits.
How do I create a batch of records through Jentic?
Search Jentic with 'batch create hubspot records', load the POST /crm/v3/objects/{objectType}/batch/create operation, then execute it with an inputs array of up to 100 records. Jentic returns the response body containing each created record's id and properties.
Is the HubSpot CRM Objects API free?
It is included with every HubSpot account that has API access enabled. The free tier includes lower rate limits and standard objects only; custom object endpoints require an Enterprise subscription.
How do I update properties on a record without overwriting others?
Use PATCH /crm/v3/objects/{objectType}/{objectId} with a properties object that contains only the fields you want to change. Properties not included in the request body remain untouched on the record.
/crm/v3/objects/{objectType}/batch/read
Read up to 100 records by ID in one call
/crm/v3/objects/{objectType}/batch/update
Update up to 100 records in one call
/crm/v3/objects/{objectType}/batch/archive
Archive up to 100 records in one call