For Agents
Create, read, update, archive, merge, and GDPR-delete HubSpot contact records, with batch endpoints suitable for high-volume CRM sync.
Get started with Contacts in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"create a hubspot contact"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Contacts API.
Create contact records with email, firstname, lastname, and custom property values
Batch update contacts in groups of up to 100 records by ID
Merge two contact records into a single canonical record using the merge endpoint
GDPR-delete a contact record permanently to comply with right-to-be-forgotten requests
GET STARTED
Use for: I need to create a new contact record in HubSpot, Retrieve a contact by its CRM object ID, Update the lifecycle stage on an existing contact, Merge two duplicate contact records into one
Not supported: Does not handle marketing email sends, deal pipeline, or tickets — use only for HubSpot CRM contact records.
The HubSpot Contacts API manages contact records — the primary CRM object representing the people a HubSpot user does business with. It exposes the standard CRM v3 object pattern with batch read, create, update, archive, merge, and a GDPR-compliant delete endpoint against the contacts object. Each contact carries default properties such as firstname, lastname, and email, supports custom properties, and can be associated with companies, deals, and tickets.
Retrieve a contact with associated companies, deals, and tickets in one call
Archive contacts in batch when removing from active CRM views without permanent delete
Page through all contacts with cursor-based pagination for export
Patterns agents use Contacts API for, with concrete tasks.
★ Lead Capture Sync
Sync newly captured leads from a marketing form or webinar platform into HubSpot as contact records. Batch create handles up to 100 contacts per request, and properties can include UTM parameters and the original lead source for attribution reporting.
POST 100 contact payloads to /crm/v3/objects/contacts/batch/create with email, firstname, lastname, and lead_source properties from the form export.
Duplicate Cleanup
When two contact records exist for the same person, merge them into a single canonical record using the merge endpoint. The merge preserves associations and activity history from both records and is non-reversible, so a dry-run pass usually precedes the merge job.
POST /crm/v3/objects/contacts/merge with primaryObjectId and objectIdToMerge to consolidate duplicate contacts into one record.
GDPR Right-to-be-Forgotten
When a contact requests deletion under GDPR, use the gdpr-delete endpoint to permanently remove the contact record and prevent recreation from synced sources. This is distinct from archive, which is reversible — gdpr-delete is the irreversible compliance action.
POST /crm/v3/objects/contacts/gdpr-delete with the contact email or id to permanently remove the contact record from HubSpot.
AI Agent Lead Routing
An AI agent reads new contacts hourly, classifies them by ICP fit using their company domain and title, and updates the lifecycle stage and owner accordingly. Jentic exposes the read and update operations with typed schemas, so the agent routes leads without consulting docs.
Read new contacts from the last hour via /crm/v3/objects/contacts, classify each, and PATCH /crm/v3/objects/contacts/{contactId} with lifecyclestage and hubspot_owner_id.
9 endpoints — the hubspot contacts api manages contact records — the primary crm object representing the people a hubspot user does business with.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/contacts/batch/create
Create contact records in batch
/crm/v3/objects/contacts/batch/read
Read contacts in batch by ID
/crm/v3/objects/contacts/batch/update
Update contact properties in batch
/crm/v3/objects/contacts/batch/archive
Archive contacts in batch
/crm/v3/objects/contacts/merge
Merge two contact records into one
/crm/v3/objects/contacts/gdpr-delete
Permanently delete a contact for GDPR compliance
/crm/v3/objects/contacts/{contactId}
Retrieve a single contact
/crm/v3/objects/contacts
List contacts with pagination
/crm/v3/objects/contacts/batch/create
Create contact records in batch
/crm/v3/objects/contacts/batch/read
Read contacts in batch by ID
/crm/v3/objects/contacts/batch/update
Update contact properties in batch
/crm/v3/objects/contacts/batch/archive
Archive contacts in batch
/crm/v3/objects/contacts/merge
Merge two contact records into one
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth and private app tokens are encrypted in the Jentic vault. Scoped tokens are injected at execution — raw credentials never enter the agent's context or logs.
Intent-based discovery
Agents search Jentic by intent (e.g. 'create a hubspot contact') and Jentic returns the matching contacts operation with its typed input schema, so the agent calls the right endpoint without browsing docs.
Time to first call
Direct integration: 1-2 days for OAuth, batch error handling, and merge/gdpr-delete safeguards. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Companies
Manages company records that contacts are typically associated with.
Use Companies when the agent needs the organisation a contact belongs to; contacts and companies are usually populated together.
Deals
Tracks sales opportunities associated with contact records.
Use Deals when the agent needs to attach a contact to a sales pipeline opportunity.
Salesforce
Salesforce Lead and Contact objects are the equivalent person records at enterprise scale.
Choose Salesforce when the host organisation standardises on Salesforce Leads/Contacts rather than HubSpot.
Specific to using Contacts API through Jentic.
What authentication does the HubSpot Contacts API use?
It supports OAuth 2.0 (oauth2 and oauth2_legacy) and HubSpot private app tokens passed as bearer tokens. Through Jentic, tokens are stored encrypted in the vault and a scoped token is injected per request, so raw credentials never enter the agent context.
Can I merge duplicate contacts with the HubSpot Contacts API?
Yes — POST /crm/v3/objects/contacts/merge with primaryObjectId and objectIdToMerge in the request body. Associations and activity history from the merged record transfer to the primary record. The operation is not reversible.
What are the rate limits for the HubSpot Contacts API?
Standard CRM v3 limits apply — 100 requests per 10 seconds for OAuth apps and 110 per 10 seconds for private apps on Pro and Enterprise. Use /crm/v3/objects/contacts/batch/create or /batch/update (up to 100 records per call) when syncing large lead lists.
How do I GDPR-delete a contact through Jentic?
Run the Jentic search "gdpr delete hubspot contact" to find POST /crm/v3/objects/contacts/gdpr-delete, load the schema, and execute with the contact email or id. Jentic handles authentication. This is irreversible — confirm before running.
Is the HubSpot Contacts API free?
The Contacts API is included with any HubSpot account, including the free tier. There is no per-call HubSpot fee, but custom property limits and higher API throughput require a paid tier.
Can I associate a contact with a company and deal in one call?
Yes — pass an associations array on create, or use the CRM Associations API afterwards, to link a single contact to companies, deals, and tickets. The single-record GET supports an associations parameter to return linked IDs in one response.
/crm/v3/objects/contacts/gdpr-delete
Permanently delete a contact for GDPR compliance
/crm/v3/objects/contacts/{contactId}
Retrieve a single contact
/crm/v3/objects/contacts
List contacts with pagination