357 lines
9.8 KiB
Markdown
357 lines
9.8 KiB
Markdown
# HubSpot Routing Reference
|
|
|
|
**App name:** `hubspot`
|
|
**Base URL proxied:** `api.hubapi.com`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/hubspot/crm/v3/objects/{objectType}/{endpoint}
|
|
```
|
|
|
|
## Common Endpoints
|
|
|
|
### Contacts
|
|
|
|
#### List Contacts
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/contacts?limit=100
|
|
```
|
|
|
|
With properties:
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/contacts?limit=100&properties=email,firstname,lastname,phone
|
|
```
|
|
|
|
With pagination:
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/contacts?limit=100&properties=email,firstname&after={cursor}
|
|
```
|
|
|
|
#### Get Contact
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/contacts/{contactId}?properties=email,firstname,lastname
|
|
```
|
|
|
|
#### Create Contact
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/contacts
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"properties": {
|
|
"email": "john@example.com",
|
|
"firstname": "John",
|
|
"lastname": "Doe",
|
|
"phone": "+1234567890"
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Update Contact
|
|
```bash
|
|
PATCH /hubspot/crm/v3/objects/contacts/{contactId}
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"properties": {
|
|
"phone": "+0987654321"
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Delete Contact
|
|
```bash
|
|
DELETE /hubspot/crm/v3/objects/contacts/{contactId}
|
|
```
|
|
|
|
#### Search Contacts
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/contacts/search
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"filterGroups": [{
|
|
"filters": [{
|
|
"propertyName": "email",
|
|
"operator": "EQ",
|
|
"value": "john@example.com"
|
|
}]
|
|
}],
|
|
"properties": ["email", "firstname", "lastname"]
|
|
}
|
|
```
|
|
|
|
### Companies
|
|
|
|
#### List Companies
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/companies?limit=100&properties=name,domain,industry
|
|
```
|
|
|
|
#### Get Company
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/companies/{companyId}?properties=name,domain,industry
|
|
```
|
|
|
|
#### Create Company
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/companies
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"properties": {
|
|
"name": "Acme Corp",
|
|
"domain": "acme.com",
|
|
"industry": "COMPUTER_SOFTWARE"
|
|
}
|
|
}
|
|
```
|
|
|
|
**Note:** The `industry` property requires specific enum values (e.g., `COMPUTER_SOFTWARE`, `FINANCE`, `HEALTHCARE`), not free text like "Technology". Use the List Properties endpoint to get valid values.
|
|
|
|
#### Update Company
|
|
```bash
|
|
PATCH /hubspot/crm/v3/objects/companies/{companyId}
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"properties": {
|
|
"industry": "COMPUTER_SOFTWARE",
|
|
"numberofemployees": "50"
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Delete Company
|
|
```bash
|
|
DELETE /hubspot/crm/v3/objects/companies/{companyId}
|
|
```
|
|
|
|
#### Search Companies
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/companies/search
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"filterGroups": [{
|
|
"filters": [{
|
|
"propertyName": "domain",
|
|
"operator": "CONTAINS_TOKEN",
|
|
"value": "*"
|
|
}]
|
|
}],
|
|
"properties": ["name", "domain"],
|
|
"limit": 10
|
|
}
|
|
```
|
|
|
|
### Deals
|
|
|
|
#### List Deals
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/deals?limit=100&properties=dealname,amount,dealstage
|
|
```
|
|
|
|
#### Get Deal
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/deals/{dealId}?properties=dealname,amount,dealstage
|
|
```
|
|
|
|
#### Create Deal
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/deals
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"properties": {
|
|
"dealname": "New Deal",
|
|
"amount": "10000",
|
|
"dealstage": "appointmentscheduled"
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Update Deal
|
|
```bash
|
|
PATCH /hubspot/crm/v3/objects/deals/{dealId}
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"properties": {
|
|
"amount": "15000",
|
|
"dealstage": "qualifiedtobuy"
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Delete Deal
|
|
```bash
|
|
DELETE /hubspot/crm/v3/objects/deals/{dealId}
|
|
```
|
|
|
|
#### Search Deals
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/deals/search
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"filterGroups": [{
|
|
"filters": [{
|
|
"propertyName": "amount",
|
|
"operator": "GTE",
|
|
"value": "1000"
|
|
}]
|
|
}],
|
|
"properties": ["dealname", "amount", "dealstage"],
|
|
"limit": 10
|
|
}
|
|
```
|
|
|
|
### Associations (v4 API)
|
|
|
|
#### Associate Objects
|
|
```bash
|
|
PUT /hubspot/crm/v4/objects/{fromObjectType}/{fromObjectId}/associations/{toObjectType}/{toObjectId}
|
|
Content-Type: application/json
|
|
|
|
[{"associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 279}]
|
|
```
|
|
|
|
Common association type IDs:
|
|
- `279` - Contact to Company
|
|
- `3` - Deal to Contact
|
|
- `341` - Deal to Company
|
|
|
|
#### List Associations
|
|
```bash
|
|
GET /hubspot/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}
|
|
```
|
|
|
|
### Batch Operations
|
|
|
|
#### Batch Read
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/{objectType}/batch/read
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"properties": ["email", "firstname"],
|
|
"inputs": [{"id": "123"}, {"id": "456"}]
|
|
}
|
|
```
|
|
|
|
#### Batch Create
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/{objectType}/batch/create
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"inputs": [
|
|
{"properties": {"email": "one@example.com", "firstname": "One"}},
|
|
{"properties": {"email": "two@example.com", "firstname": "Two"}}
|
|
]
|
|
}
|
|
```
|
|
|
|
#### Batch Update
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/{objectType}/batch/update
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"inputs": [
|
|
{"id": "123", "properties": {"firstname": "Updated"}},
|
|
{"id": "456", "properties": {"firstname": "Also Updated"}}
|
|
]
|
|
}
|
|
```
|
|
|
|
#### Batch Archive
|
|
```bash
|
|
POST /hubspot/crm/v3/objects/{objectType}/batch/archive
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"inputs": [{"id": "123"}, {"id": "456"}]
|
|
}
|
|
```
|
|
|
|
### Properties
|
|
|
|
#### List Properties
|
|
```bash
|
|
GET /hubspot/crm/v3/properties/{objectType}
|
|
```
|
|
|
|
## Search Operators
|
|
|
|
- `EQ` - Equal to
|
|
- `NEQ` - Not equal to
|
|
- `LT` - Less than
|
|
- `LTE` - Less than or equal to
|
|
- `GT` - Greater than
|
|
- `GTE` - Greater than or equal to
|
|
- `CONTAINS_TOKEN` - Contains token
|
|
- `NOT_CONTAINS_TOKEN` - Does not contain token
|
|
|
|
## Pagination
|
|
|
|
List endpoints return a `paging.next.after` cursor for pagination:
|
|
```json
|
|
{
|
|
"results": [...],
|
|
"paging": {
|
|
"next": {
|
|
"after": "12345",
|
|
"link": "https://api.hubapi.com/..."
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Use the `after` query parameter to fetch the next page:
|
|
```bash
|
|
GET /hubspot/crm/v3/objects/contacts?limit=100&after=12345
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Authentication is automatic - the router injects the OAuth token
|
|
- The `industry` property on companies requires specific enum values
|
|
- Batch operations support up to 100 records per request
|
|
- Archive/Delete is a soft delete - records can be restored within 90 days
|
|
- Delete endpoints return HTTP 204 (No Content) on success
|
|
|
|
## Resources
|
|
|
|
- [API Overview](https://developers.hubspot.com/docs/api/overview)
|
|
- [List Contacts](https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/basic/get-crm-v3-objects-contacts.md)
|
|
- [Get Contact](https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/basic/get-crm-v3-objects-contacts-contactId.md)
|
|
- [Create Contact](https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/basic/post-crm-v3-objects-contacts.md)
|
|
- [Update Contact](https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/basic/patch-crm-v3-objects-contacts-contactId.md)
|
|
- [Archive Contact](https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/basic/delete-crm-v3-objects-contacts-contactId.md)
|
|
- [Merge Contacts](https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/basic/post-crm-v3-objects-contacts-merge.md)
|
|
- [GDPR Delete Contact](https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/basic/post-crm-v3-objects-contacts-gdpr-delete.md)
|
|
- [Search Contacts](https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/search/post-crm-v3-objects-contacts-search.md)
|
|
- [List Companies](https://developers.hubspot.com/docs/api-reference/crm-companies-v3/basic/get-crm-v3-objects-companies.md)
|
|
- [Get Company](https://developers.hubspot.com/docs/api-reference/crm-companies-v3/basic/get-crm-v3-objects-companies-companyId.md)
|
|
- [Create Company](https://developers.hubspot.com/docs/api-reference/crm-companies-v3/basic/post-crm-v3-objects-companies.md)
|
|
- [Update Company](https://developers.hubspot.com/docs/api-reference/crm-companies-v3/basic/patch-crm-v3-objects-companies-companyId.md)
|
|
- [Archive Company](https://developers.hubspot.com/docs/api-reference/crm-companies-v3/basic/delete-crm-v3-objects-companies-companyId.md)
|
|
- [Merge Companies](https://developers.hubspot.com/docs/api-reference/crm-companies-v3/basic/post-crm-v3-objects-companies-merge.md)
|
|
- [Search Companies](https://developers.hubspot.com/docs/api-reference/crm-companies-v3/search/post-crm-v3-objects-companies-search.md)
|
|
- [List Deals](https://developers.hubspot.com/docs/api-reference/crm-deals-v3/basic/get-crm-v3-objects-0-3.md)
|
|
- [Get Deal](https://developers.hubspot.com/docs/api-reference/crm-deals-v3/basic/get-crm-v3-objects-0-3-dealId.md)
|
|
- [Create Deal](https://developers.hubspot.com/docs/api-reference/crm-deals-v3/basic/post-crm-v3-objects-0-3.md)
|
|
- [Update Deal](https://developers.hubspot.com/docs/api-reference/crm-deals-v3/basic/patch-crm-v3-objects-0-3-dealId.md)
|
|
- [Archive Deal](https://developers.hubspot.com/docs/api-reference/crm-deals-v3/basic/delete-crm-v3-objects-0-3-dealId.md)
|
|
- [Merge Deals](https://developers.hubspot.com/docs/api-reference/crm-deals-v3/basic/post-crm-v3-objects-0-3-merge.md)
|
|
- [Search Deals](https://developers.hubspot.com/docs/api-reference/crm-deals-v3/search/post-crm-v3-objects-0-3-search.md)
|
|
- [List Associations](https://developers.hubspot.com/docs/api-reference/crm-associations-v4/basic/get-crm-v4-objects-objectType-objectId-associations-toObjectType.md)
|
|
- [Create Association](https://developers.hubspot.com/docs/api-reference/crm-associations-v4/basic/put-crm-v4-objects-objectType-objectId-associations-toObjectType-toObjectId.md)
|
|
- [Delete Association](https://developers.hubspot.com/docs/api-reference/crm-associations-v4/basic/delete-crm-v4-objects-objectType-objectId-associations-toObjectType-toObjectId.md)
|
|
- [List Properties](https://developers.hubspot.com/docs/api-reference/crm-properties-v3/core/get-crm-v3-properties-objectType.md)
|
|
- [Get Property](https://developers.hubspot.com/docs/api-reference/crm-properties-v3/core/get-crm-v3-properties-objectType-propertyName.md)
|
|
- [Create Property](https://developers.hubspot.com/docs/api-reference/crm-properties-v3/core/post-crm-v3-properties-objectType.md)
|
|
- [Search Reference](https://developers.hubspot.com/docs/api/crm/search) |