hubspot-api
Installation
SKILL.md
HubSpot's CRM API (v3) is uniform across object types: every object lives under https://api.hubapi.com/crm/v3/objects/{objectType} and supports the same basic/search/batch/association operations.
(HubSpot is rolling out date-based path versions — /crm/objects/2026-03/... — as the successor naming. The v3/v4 paths below all still work; HubSpot has announced v4 becomes unsupported on 2027-03-30 and v3's end-of-support date is not yet set. No migration is required for now.)
Key concepts:
- Object types are identified by name (
contacts,companies,deals,tickets) or by numericobjectTypeId(0-1,0-2,0-3,0-5). Custom objects are2-<n>or theirp_<name>alias. Either form works in the URL. - Properties are opt-in on reads. List/get calls return only a handful of default properties
(
hs_object_id,createdate,lastmodifieddate, and per-type defaults likeemail/firstnamefor contacts). Always passproperties=with a comma-separated list of the fields you actually need, or you'll get records that look empty. - Each object type has its own primary display property and dedup key. Contacts dedup on
email; companies ondomain; deals and tickets have no dedup. Know the key before creating. - Associations are typed. The common ones (
contact_to_company,deal_to_contact, etc.) have built-in type IDs. You can also define custom association labels.