Fresh start - excluded large ROM JSON files
This commit is contained in:
357
skills/api-gateway/references/hubspot.md
Normal file
357
skills/api-gateway/references/hubspot.md
Normal file
@@ -0,0 +1,357 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user