Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.hubapi.com
/crm/v3/objects/companies
Read a page of companies. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/companies
/crm/v3/objects/companies
Create a company with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard companies is provided.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/companies
/crm/v3/objects/companies/{companyId}
Move an Object identified by `{companyId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| companyId | path | required | string |
DELETE /crm/v3/objects/companies/{companyId}
/crm/v3/objects/companies/{companyId}
Read an Object identified by `{companyId}`. `{companyId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| companyId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
GET /crm/v3/objects/companies/{companyId}
/crm/v3/objects/companies/{companyId}
Perform a partial update of an Object identified by `{companyId}`. `{companyId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| companyId | path | required | string | |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/companies/{companyId}
/crm/v3/objects/contacts
Read a page of contacts. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/contacts
/crm/v3/objects/contacts
Create a contact with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard contacts is provided.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/contacts
/crm/v3/objects/contacts/{contactId}
Move an Object identified by `{contactId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contactId | path | required | string |
DELETE /crm/v3/objects/contacts/{contactId}
/crm/v3/objects/contacts/{contactId}
Read an Object identified by `{contactId}`. `{contactId}` refers to the internal object ID. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contactId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/contacts/{contactId}
/crm/v3/objects/contacts/{contactId}
Perform a partial update of an Object identified by `{contactId}`. `{contactId}` refers to the internal object ID. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contactId | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/contacts/{contactId}
/crm/v3/objects/deals
Read a page of deals. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/deals
/crm/v3/objects/deals
Create a deal with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard deals is provided.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/deals
/crm/v3/objects/deals/{dealId}
Move an Object identified by `{dealId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dealId | path | required | string |
DELETE /crm/v3/objects/deals/{dealId}
/crm/v3/objects/deals/{dealId}
Read an Object identified by `{dealId}`. `{dealId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dealId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
GET /crm/v3/objects/deals/{dealId}
/crm/v3/objects/deals/{dealId}
Perform a partial update of an Object identified by `{dealId}`. `{dealId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dealId | path | required | string | |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/deals/{dealId}
/crm/v3/objects/feedback_submissions
Read a page of feedback submissions. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/feedback_submissions
/crm/v3/objects/feedback_submissions
Create a feedback submission with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard feedback submissions is provided.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/feedback_submissions
/crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
Move an Object identified by `{feedbackSubmissionId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| feedbackSubmissionId | path | required | string |
DELETE /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
/crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
Read an Object identified by `{feedbackSubmissionId}`. `{feedbackSubmissionId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| feedbackSubmissionId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
GET /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
/crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
Perform a partial update of an Object identified by `{feedbackSubmissionId}`. `{feedbackSubmissionId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| feedbackSubmissionId | path | required | string | |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
/crm/v3/objects/line_items
Read a page of line items. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/line_items
/crm/v3/objects/line_items
Create a line item with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard line items is provided.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/line_items
/crm/v3/objects/line_items/{lineItemId}
Move an Object identified by `{lineItemId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| lineItemId | path | required | string |
DELETE /crm/v3/objects/line_items/{lineItemId}
/crm/v3/objects/line_items/{lineItemId}
Read an Object identified by `{lineItemId}`. `{lineItemId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| lineItemId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
GET /crm/v3/objects/line_items/{lineItemId}
/crm/v3/objects/line_items/{lineItemId}
Perform a partial update of an Object identified by `{lineItemId}`. `{lineItemId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| lineItemId | path | required | string | |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/line_items/{lineItemId}
/crm/v3/objects/products
Read a page of products. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/products
/crm/v3/objects/products
Create a product with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard products is provided.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/products
/crm/v3/objects/products/{productId}
Move an Object identified by `{productId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| productId | path | required | string |
DELETE /crm/v3/objects/products/{productId}
/crm/v3/objects/products/{productId}
Read an Object identified by `{productId}`. `{productId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| productId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
GET /crm/v3/objects/products/{productId}
/crm/v3/objects/products/{productId}
Perform a partial update of an Object identified by `{productId}`. `{productId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| productId | path | required | string | |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/products/{productId}
/crm/v3/objects/quotes
Read a page of quotes. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/quotes
/crm/v3/objects/quotes
Create a quote with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard quotes is provided.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/quotes
/crm/v3/objects/quotes/{quoteId}
Move an Object identified by `{quoteId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| quoteId | path | required | string |
DELETE /crm/v3/objects/quotes/{quoteId}
/crm/v3/objects/quotes/{quoteId}
Read an Object identified by `{quoteId}`. `{quoteId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| quoteId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
GET /crm/v3/objects/quotes/{quoteId}
/crm/v3/objects/quotes/{quoteId}
Perform a partial update of an Object identified by `{quoteId}`. `{quoteId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| quoteId | path | required | string | |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/quotes/{quoteId}
/crm/v3/objects/tickets
Read a page of tickets. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/tickets
/crm/v3/objects/tickets
Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/tickets
/crm/v3/objects/tickets/{ticketId}
Move an Object identified by `{ticketId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticketId | path | required | string |
DELETE /crm/v3/objects/tickets/{ticketId}
/crm/v3/objects/tickets/{ticketId}
Read an Object identified by `{ticketId}`. `{ticketId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticketId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
GET /crm/v3/objects/tickets/{ticketId}
/crm/v3/objects/tickets/{ticketId}
Perform a partial update of an Object identified by `{ticketId}`. `{ticketId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticketId | path | required | string | |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/tickets/{ticketId}
/crm/v3/objects/{objectType}
Read a page of objects. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| limit | query | optional | integer | The maximum number of results to display per page. |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/objects/{objectType}
/crm/v3/objects/{objectType}
Create a CRM object with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard objects is provided.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/{objectType}
/crm/v3/objects/{objectType}/{objectId}
Move an Object identified by `{objectId}` to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| objectId | path | required | string |
DELETE /crm/v3/objects/{objectType}/{objectId}
/crm/v3/objects/{objectType}/{objectId}
Read an Object identified by `{objectId}`. `{objectId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| objectId | path | required | string | |
| properties | query | optional | array | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| propertiesWithHistory | query | optional | array | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. |
| associations | query | optional | array | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
GET /crm/v3/objects/{objectType}/{objectId}
/crm/v3/objects/{objectType}/{objectId}
Perform a partial update of an Object identified by `{objectId}`. `{objectId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| objectId | path | required | string | |
| idProperty | query | optional | string | The name of a property whose values are unique for this object type |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimplePublicObjectInput"
}
}
},
"required": true
}
PATCH /crm/v3/objects/{objectType}/{objectId}
/crm/v3/objects/companies/batch/archive
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/companies/batch/archive
/crm/v3/objects/companies/batch/create
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/companies/batch/create
/crm/v3/objects/companies/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/companies/batch/read
/crm/v3/objects/companies/batch/update
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/companies/batch/update
/crm/v3/objects/contacts/batch/archive
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/contacts/batch/archive
/crm/v3/objects/contacts/batch/create
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/contacts/batch/create
/crm/v3/objects/contacts/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/contacts/batch/read
/crm/v3/objects/contacts/batch/update
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/contacts/batch/update
/crm/v3/objects/deals/batch/archive
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/deals/batch/archive
/crm/v3/objects/deals/batch/create
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/deals/batch/create
/crm/v3/objects/deals/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/deals/batch/read
/crm/v3/objects/deals/batch/update
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/deals/batch/update
/crm/v3/objects/feedback_submissions/batch/archive
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/feedback_submissions/batch/archive
/crm/v3/objects/feedback_submissions/batch/create
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/feedback_submissions/batch/create
/crm/v3/objects/feedback_submissions/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/feedback_submissions/batch/read
/crm/v3/objects/feedback_submissions/batch/update
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/feedback_submissions/batch/update
/crm/v3/objects/line_items/batch/archive
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/line_items/batch/archive
/crm/v3/objects/line_items/batch/create
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/line_items/batch/create
/crm/v3/objects/line_items/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/line_items/batch/read
/crm/v3/objects/line_items/batch/update
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/line_items/batch/update
/crm/v3/objects/products/batch/archive
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/products/batch/archive
/crm/v3/objects/products/batch/create
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/products/batch/create
/crm/v3/objects/products/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/products/batch/read
/crm/v3/objects/products/batch/update
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/products/batch/update
/crm/v3/objects/quotes/batch/archive
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/quotes/batch/archive
/crm/v3/objects/quotes/batch/create
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/quotes/batch/create
/crm/v3/objects/quotes/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/quotes/batch/read
/crm/v3/objects/quotes/batch/update
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/quotes/batch/update
/crm/v3/objects/tickets/batch/archive
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/tickets/batch/archive
/crm/v3/objects/tickets/batch/create
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/tickets/batch/create
/crm/v3/objects/tickets/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/tickets/batch/read
/crm/v3/objects/tickets/batch/update
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/tickets/batch/update
/crm/v3/objects/{objectType}/batch/archive
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/{objectType}/batch/archive
/crm/v3/objects/{objectType}/batch/create
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectInputForCreate"
}
}
},
"required": true
}
POST /crm/v3/objects/{objectType}/batch/create
/crm/v3/objects/{objectType}/batch/read
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
}
}
},
"required": true
}
POST /crm/v3/objects/{objectType}/batch/read
/crm/v3/objects/{objectType}/batch/update
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
}
}
},
"required": true
}
POST /crm/v3/objects/{objectType}/batch/update
/crm/v3/properties/{objectType}/batch/archive
Archive a provided list of properties. This method will return a 204 No Content response on success regardless of the initial state of the property (e.g. active, already archived, non-existent).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputPropertyName"
}
}
},
"required": true
}
POST /crm/v3/properties/{objectType}/batch/archive
/crm/v3/properties/{objectType}/batch/create
Create a batch of properties using the same rules as when creating an individual property.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputPropertyCreate"
}
}
},
"required": true
}
POST /crm/v3/properties/{objectType}/batch/create
/crm/v3/properties/{objectType}/batch/read
Read a provided list of properties.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchReadInputPropertyName"
}
}
},
"required": true
}
POST /crm/v3/properties/{objectType}/batch/read
/crm/v3/imports
Returns a paged list of active imports for this account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| before | query | optional | string | |
| limit | query | optional | integer | The maximum number of results to display per page. |
GET /crm/v3/imports
/crm/v3/imports
Begins importing data from the specified file resources. This uploads the corresponding file and uses the import request object to convert rows in the files to objects.
{
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/CoreStartImportRequest"
}
}
}
}
POST /crm/v3/imports
/crm/v3/imports/{importId}
A complete summary of an import record, including any updates.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| importId | path | required | integer |
GET /crm/v3/imports/{importId}
/crm/v3/imports/{importId}/cancel
This allows a developer to cancel an active import.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| importId | path | required | integer |
POST /crm/v3/imports/{importId}/cancel
/crm/v3/properties/{objectType}
Read all existing properties for the specified object type and HubSpot account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| properties | query | optional | string |
GET /crm/v3/properties/{objectType}
/crm/v3/properties/{objectType}
Create and return a copy of a new property for the specified object type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PropertyCreate"
}
}
},
"required": true
}
POST /crm/v3/properties/{objectType}
/crm/v3/properties/{objectType}/{propertyName}
Move a property identified by {propertyName} to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| propertyName | path | required | string |
DELETE /crm/v3/properties/{objectType}/{propertyName}
/crm/v3/properties/{objectType}/{propertyName}
Read a property identified by {propertyName}.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| propertyName | path | required | string | |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
| properties | query | optional | string |
GET /crm/v3/properties/{objectType}/{propertyName}
/crm/v3/properties/{objectType}/{propertyName}
Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| propertyName | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PropertyUpdate"
}
}
},
"required": true
}
PATCH /crm/v3/properties/{objectType}/{propertyName}
/crm/v3/schemas
Returns all object schemas that have been defined for your account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/schemas
/crm/v3/schemas
Define a new object schema, along with custom properties and associations. The entire object schema, including its object type ID, properties, and associations will be returned in the response.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectSchemaEgg"
}
}
},
"required": true,
"description": "Object schema definition, including properties and associations."
}
POST /crm/v3/schemas
/crm/v3/schemas/{objectType}
Deletes a schema. Any existing records of this schema must be deleted **first**. Otherwise this call will fail.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | Fully qualified name or object type ID of your schema. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
DELETE /crm/v3/schemas/{objectType}
/crm/v3/schemas/{objectType}
Returns an existing object schema.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | Fully qualified name or object type ID of your schema. |
GET /crm/v3/schemas/{objectType}
/crm/v3/schemas/{objectType}
Update the details for an existing object schema.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | Fully qualified name or object type ID of your schema. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectTypeDefinitionPatch"
}
}
},
"required": true,
"description": "Attributes to update in your schema."
}
PATCH /crm/v3/schemas/{objectType}
/crm/v3/schemas/{objectType}/associations
Defines a new association between the primary schema's object type and other object types.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | Fully qualified name or object type ID of your schema. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssociationDefinitionEgg"
}
}
},
"required": true,
"description": "Attributes that define the association."
}
POST /crm/v3/schemas/{objectType}/associations
/crm/v3/schemas/{objectType}/associations/{associationIdentifier}
Removes an existing association from a schema.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | Fully qualified name or object type ID of your schema. |
| associationIdentifier | path | required | string | Unique ID of the association to remove. |
DELETE /crm/v3/schemas/{objectType}/associations/{associationIdentifier}
/crm/v3/timeline/events
Creates an instance of a timeline event based on an event template. Once created, this event is immutable on the object timeline and cannot be modified. If the event template was configured to update object properties via `objectPropertyName`, this call will also attempt to updates those properties, or add them if they don't exist.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimelineEvent"
}
}
},
"required": true,
"description": "The timeline event definition."
}
POST /crm/v3/timeline/events
/crm/v3/timeline/events/batch/create
Creates multiple instances of timeline events based on an event template. Once created, these event are immutable on the object timeline and cannot be modified. If the event template was configured to update object properties via `objectPropertyName`, this call will also attempt to updates those properties, or add them if they don't exist.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchInputTimelineEvent"
}
}
},
"required": true,
"description": "The timeline event definition."
}
POST /crm/v3/timeline/events/batch/create
/crm/v3/timeline/events/{eventTemplateId}/{eventId}
This returns the previously created event. It contains all existing info for the event, but not necessarily the CRM object.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| eventId | path | required | string | The event ID. |
GET /crm/v3/timeline/events/{eventTemplateId}/{eventId}
/crm/v3/timeline/events/{eventTemplateId}/{eventId}/detail
This will take the `detailTemplate` from the event template and return an object rendering the specified event. If the template references `extraData` that isn't found in the event, it will be ignored and we'll render without it.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| eventId | path | required | string | The event ID. |
GET /crm/v3/timeline/events/{eventTemplateId}/{eventId}/detail
/crm/v3/timeline/events/{eventTemplateId}/{eventId}/render
This will take either the `headerTemplate` or `detailTemplate` from the event template and render for the specified event as HTML. If the template references `extraData` that isn't found in the event, it will be ignored and we'll render without it.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| eventId | path | required | string | The event ID. |
| detail | query | optional | boolean | Set to 'true', we want to render the `detailTemplate` instead of the `headerTemplate`. |
GET /crm/v3/timeline/events/{eventTemplateId}/{eventId}/render
/crm/v3/objects/companies/gdpr-delete
Permanently delete a contact and all associated content to follow GDPR. Use optional property 'idProperty' set to 'email' to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicGdprDeleteInput"
}
}
},
"required": true
}
POST /crm/v3/objects/companies/gdpr-delete
/crm/v3/objects/contacts/gdpr-delete
Permanently delete a contact and all associated content to follow GDPR. Use optional property 'idProperty' set to 'email' to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicGdprDeleteInput"
}
}
},
"required": true
}
POST /crm/v3/objects/contacts/gdpr-delete
/crm/v3/objects/deals/gdpr-delete
Permanently delete a contact and all associated content to follow GDPR. Use optional property 'idProperty' set to 'email' to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicGdprDeleteInput"
}
}
},
"required": true
}
POST /crm/v3/objects/deals/gdpr-delete
/crm/v3/objects/feedback_submissions/gdpr-delete
Permanently delete a contact and all associated content to follow GDPR. Use optional property 'idProperty' set to 'email' to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicGdprDeleteInput"
}
}
},
"required": true
}
POST /crm/v3/objects/feedback_submissions/gdpr-delete
/crm/v3/objects/line_items/gdpr-delete
Permanently delete a contact and all associated content to follow GDPR. Use optional property 'idProperty' set to 'email' to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicGdprDeleteInput"
}
}
},
"required": true
}
POST /crm/v3/objects/line_items/gdpr-delete
/crm/v3/objects/products/gdpr-delete
Permanently delete a contact and all associated content to follow GDPR. Use optional property 'idProperty' set to 'email' to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicGdprDeleteInput"
}
}
},
"required": true
}
POST /crm/v3/objects/products/gdpr-delete
/crm/v3/objects/quotes/gdpr-delete
Permanently delete a contact and all associated content to follow GDPR. Use optional property 'idProperty' set to 'email' to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicGdprDeleteInput"
}
}
},
"required": true
}
POST /crm/v3/objects/quotes/gdpr-delete
/crm/v3/objects/tickets/gdpr-delete
Permanently delete a contact and all associated content to follow GDPR. Use optional property 'idProperty' set to 'email' to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicGdprDeleteInput"
}
}
},
"required": true
}
POST /crm/v3/objects/tickets/gdpr-delete
/crm/v3/properties/{objectType}/groups
Read all existing property groups for the specified object type and HubSpot account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
GET /crm/v3/properties/{objectType}/groups
/crm/v3/properties/{objectType}/groups
Create and return a copy of a new property group.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PropertyGroupCreate"
}
}
},
"required": true
}
POST /crm/v3/properties/{objectType}/groups
/crm/v3/properties/{objectType}/groups/{groupName}
Move a property group identified by {groupName} to the recycling bin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| groupName | path | required | string |
DELETE /crm/v3/properties/{objectType}/groups/{groupName}
/crm/v3/properties/{objectType}/groups/{groupName}
Read a property group identified by {groupName}.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| groupName | path | required | string |
GET /crm/v3/properties/{objectType}/groups/{groupName}
/crm/v3/properties/{objectType}/groups/{groupName}
Perform a partial update of a property group identified by {groupName}. Provided fields will be overwritten.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| groupName | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PropertyGroupUpdate"
}
}
},
"required": true
}
PATCH /crm/v3/properties/{objectType}/groups/{groupName}
/crm/v3/owners
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| query | optional | string | Filter by email address (optional) | |
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| limit | query | optional | integer | The maximum number of results to display per page. |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/owners
/crm/v3/owners/{ownerId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ownerId | path | required | integer | |
| idProperty | query | optional | string | |
| archived | query | optional | boolean | Whether to return only results that have been archived. |
GET /crm/v3/owners/{ownerId}
/crm/v3/pipelines/{objectType}/{pipelineId}/audit
Return a reverse chronological list of all mutations that have occurred on the pipeline identified by `{pipelineId}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string |
GET /crm/v3/pipelines/{objectType}/{pipelineId}/audit
/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}/audit
Return a reverse chronological list of all mutations that have occurred on the pipeline stage identified by `{stageId}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| stageId | path | required | string |
GET /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}/audit
/crm/v3/pipelines/{objectType}/{pipelineId}/stages
Return all the stages associated with the pipeline identified by `{pipelineId}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string |
GET /crm/v3/pipelines/{objectType}/{pipelineId}/stages
/crm/v3/pipelines/{objectType}/{pipelineId}/stages
Create a new stage associated with the pipeline identified by `{pipelineId}`. The entire stage object, including its unique ID, will be returned in the response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PipelineStageInput"
}
}
},
"required": true
}
POST /crm/v3/pipelines/{objectType}/{pipelineId}/stages
/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}
Delete the pipeline stage identified by `{stageId}` associated with the pipeline identified by `{pipelineId}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string | |
| stageId | path | required | string |
DELETE /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}
/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}
Return the stage identified by `{stageId}` associated with the pipeline identified by `{pipelineId}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string | |
| stageId | path | required | string |
GET /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}
/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}
Perform a partial update of the pipeline stage identified by `{stageId}` associated with the pipeline identified by `{pipelineId}`. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string | |
| stageId | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PipelineStagePatchInput"
}
}
},
"required": true
}
PATCH /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}
/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}
Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string | |
| stageId | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PipelineStageInput"
}
}
},
"required": true
}
PUT /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}
/crm/v3/pipelines/{objectType}
Return all pipelines for the object type specified by `{objectType}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
GET /crm/v3/pipelines/{objectType}
/crm/v3/pipelines/{objectType}
Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PipelineInput"
}
}
},
"required": true
}
POST /crm/v3/pipelines/{objectType}
/crm/v3/pipelines/{objectType}/{pipelineId}
Delete the pipeline identified by `{pipelineId}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string | |
| validateReferencesBeforeDelete | query | optional | boolean | |
| validateDealStageUsagesBeforeDelete | query | optional | boolean |
DELETE /crm/v3/pipelines/{objectType}/{pipelineId}
/crm/v3/pipelines/{objectType}/{pipelineId}
Return a single pipeline object identified by its unique `{pipelineId}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string |
GET /crm/v3/pipelines/{objectType}/{pipelineId}
/crm/v3/pipelines/{objectType}/{pipelineId}
Perform a partial update of the pipeline identified by `{pipelineId}`. The updated pipeline will be returned in the response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string | |
| validateReferencesBeforeDelete | query | optional | boolean | |
| validateDealStageUsagesBeforeDelete | query | optional | boolean |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PipelinePatchInput"
}
}
},
"required": true
}
PATCH /crm/v3/pipelines/{objectType}/{pipelineId}
/crm/v3/pipelines/{objectType}/{pipelineId}
Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string | |
| pipelineId | path | required | string | |
| validateReferencesBeforeDelete | query | optional | boolean | |
| validateDealStageUsagesBeforeDelete | query | optional | boolean |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PipelineInput"
}
}
},
"required": true
}
PUT /crm/v3/pipelines/{objectType}/{pipelineId}
/crm/v3/imports/{importId}/errors
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| after | query | optional | string | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. |
| limit | query | optional | integer | The maximum number of results to display per page. |
| importId | path | required | integer |
GET /crm/v3/imports/{importId}/errors
/crm/v3/objects/companies/merge
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/companies/merge
/crm/v3/objects/contacts/merge
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/contacts/merge
/crm/v3/objects/deals/merge
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/deals/merge
/crm/v3/objects/feedback_submissions/merge
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/feedback_submissions/merge
/crm/v3/objects/line_items/merge
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/line_items/merge
/crm/v3/objects/products/merge
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/products/merge
/crm/v3/objects/quotes/merge
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/quotes/merge
/crm/v3/objects/tickets/merge
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/tickets/merge
/crm/v3/objects/{objectType}/merge
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicMergeInput"
}
}
},
"required": true
}
POST /crm/v3/objects/{objectType}/merge
/crm/v3/extensions/calling/{appId}/settings/recording
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer |
GET /crm/v3/extensions/calling/{appId}/settings/recording
/crm/v3/extensions/calling/{appId}/settings/recording
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecordingSettingsPatchRequest"
}
}
},
"required": true
}
PATCH /crm/v3/extensions/calling/{appId}/settings/recording
/crm/v3/extensions/calling/{appId}/settings/recording
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecordingSettingsRequest"
}
}
},
"required": true
}
POST /crm/v3/extensions/calling/{appId}/settings/recording
/crm/v3/objects/companies/search
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/companies/search
/crm/v3/objects/contacts/search
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/contacts/search
/crm/v3/objects/deals/search
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/deals/search
/crm/v3/objects/feedback_submissions/search
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/feedback_submissions/search
/crm/v3/objects/line_items/search
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/line_items/search
/crm/v3/objects/products/search
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/products/search
/crm/v3/objects/quotes/search
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/quotes/search
/crm/v3/objects/tickets/search
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/tickets/search
/crm/v3/objects/{objectType}/search
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| objectType | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicObjectSearchRequest"
}
}
},
"required": true
}
POST /crm/v3/objects/{objectType}/search
/crm/v3/extensions/calling/{appId}/settings
Deletes this calling extension. This will remove your service as an option for all connected accounts.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the target app. |
DELETE /crm/v3/extensions/calling/{appId}/settings
/crm/v3/extensions/calling/{appId}/settings
Returns the calling extension settings configured for your app.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the target app. |
GET /crm/v3/extensions/calling/{appId}/settings
/crm/v3/extensions/calling/{appId}/settings
Updates existing calling extension settings.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the target app. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SettingsPatchRequest"
}
}
},
"required": true,
"description": "Updated details for the settings."
}
PATCH /crm/v3/extensions/calling/{appId}/settings
/crm/v3/extensions/calling/{appId}/settings
Used to set the menu label, target iframe URL, and dimensions for your calling extension.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the target app. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SettingsRequest"
}
}
},
"required": true,
"description": "Settings state to create with."
}
POST /crm/v3/extensions/calling/{appId}/settings
/crm/v3/extensions/videoconferencing/settings/{appId}
Deletes the settings for a video conference application with the specified ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the video conference application. This is the identifier of the application created in your HubSpot developer portal. |
DELETE /crm/v3/extensions/videoconferencing/settings/{appId}
/crm/v3/extensions/videoconferencing/settings/{appId}
Return the settings for a video conference application with the specified ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the video conference application. This is the identifier of the application created in your HubSpot developer portal. |
GET /crm/v3/extensions/videoconferencing/settings/{appId}
/crm/v3/extensions/videoconferencing/settings/{appId}
Updates the settings for a video conference application with the specified ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the video conference application. This is the identifier of the application created in your HubSpot developer portal. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExternalSettings"
}
}
},
"required": true
}
PUT /crm/v3/extensions/videoconferencing/settings/{appId}
/crm/v3/timeline/{appId}/event-templates
Use this to list all event templates owned by your app.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the target app. |
GET /crm/v3/timeline/{appId}/event-templates
/crm/v3/timeline/{appId}/event-templates
Event templates define the general structure for a custom timeline event. This includes formatted copy for its heading and details, as well as any custom property definitions. The event could be something like viewing a video, registering for a webinar, or filling out a survey. A single app can define multiple event templates. Event templates will be created for contacts by default, but they can be created for companies, tickets, and deals as well. Each event template contains its own set of tokens and `Markdown` templates. These tokens can be associated with any CRM object properties via the `objectPropertyName` field to fully build out CRM objects. You must create an event template before you can create events.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| appId | path | required | integer | The ID of the target app. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimelineEventTemplateCreateRequest"
}
}
},
"required": true,
"description": "The new event template definition."
}
POST /crm/v3/timeline/{appId}/event-templates
/crm/v3/timeline/{appId}/event-templates/{eventTemplateId}
This will delete the event template. All associated events will be removed from search results and the timeline UI. This action can't be undone, so it's highly recommended that you stop using any associated events before deleting a template.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| appId | path | required | integer | The ID of the target app. |
DELETE /crm/v3/timeline/{appId}/event-templates/{eventTemplateId}
/crm/v3/timeline/{appId}/event-templates/{eventTemplateId}
View the current state of a specific template and its tokens.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| appId | path | required | integer | The ID of the target app. |
GET /crm/v3/timeline/{appId}/event-templates/{eventTemplateId}
/crm/v3/timeline/{appId}/event-templates/{eventTemplateId}
Updates an existing template and its tokens. This is primarily used to update the headerTemplate/detailTemplate, and those changes will take effect for existing events. You can also update or replace all the tokens in the template here instead of doing individual API calls on the `/tokens` endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| appId | path | required | integer | The ID of the target app. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimelineEventTemplateUpdateRequest"
}
}
},
"required": true,
"description": "The updated event template definition."
}
PUT /crm/v3/timeline/{appId}/event-templates/{eventTemplateId}
/crm/v3/timeline/{appId}/event-templates/{eventTemplateId}/tokens
Once you've defined an event template, it's likely that you'll want to define tokens for it as well. You can do this on the event template itself or update individual tokens here. Event type tokens allow you to attach custom data to events displayed in a timeline or used for list segmentation. You can also use `objectPropertyName` to associate any CRM object properties. This will allow you to fully build out CRM objects. Token names should be unique across the template.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| appId | path | required | integer | The ID of the target app. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimelineEventTemplateToken"
}
}
},
"required": true,
"description": "The new token definition."
}
POST /crm/v3/timeline/{appId}/event-templates/{eventTemplateId}/tokens
/crm/v3/timeline/{appId}/event-templates/{eventTemplateId}/tokens/{tokenName}
This will remove the token from an existing template. Existing events and CRM objects will still retain the token and its mapped object properties, but new ones will not. The timeline will still display this property for older CRM objects if it's still referenced in the template `Markdown`. New events will not. Any lists or reports referencing deleted tokens will no longer return new contacts, but old ones will still exist in the lists.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| tokenName | path | required | string | The token name. |
| appId | path | required | integer | The ID of the target app. |
DELETE /crm/v3/timeline/{appId}/event-templates/{eventTemplateId}/tokens/{tokenName}
/crm/v3/timeline/{appId}/event-templates/{eventTemplateId}/tokens/{tokenName}
This will update the existing token on an event template. Name and type can't be changed on existing tokens.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventTemplateId | path | required | string | The event template ID. |
| tokenName | path | required | string | The token name. |
| appId | path | required | integer | The ID of the target app. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimelineEventTemplateTokenUpdateRequest"
}
}
},
"required": true,
"description": "The updated token definition."
}
PUT /crm/v3/timeline/{appId}/event-templates/{eventTemplateId}/tokens/{tokenName}
ActionResponse
{
"type": "object",
"required": [
"completedAt",
"startedAt",
"status"
],
"properties": {
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"PENDING",
"PROCESSING",
"CANCELED",
"COMPLETE"
],
"type": "string"
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"requestedAt": {
"type": "string",
"format": "date-time"
}
}
}
AssociatedId
{
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
AssociationDefinition
{
"type": "object",
"example": {
"id": "105",
"name": "my_object_to_contact",
"toObjectTypeId": "0-1",
"fromObjectTypeId": "2-123456"
},
"required": [
"fromObjectTypeId",
"id",
"toObjectTypeId"
],
"properties": {
"id": {
"type": "string",
"example": "105",
"description": "A unique ID for this association."
},
"name": {
"type": "string",
"example": "my_object_to_contact",
"description": "A unique name for this association."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "When the association was defined."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "When the association was last updated."
},
"toObjectTypeId": {
"type": "string",
"example": "0-1",
"description": "ID of the target object type ID to link to."
},
"fromObjectTypeId": {
"type": "string",
"example": "2-123456",
"description": "ID of the primary object type to link from."
}
},
"description": "Defines an association between two object types."
}
AssociationDefinitionEgg
{
"type": "object",
"example": {
"name": "my_object_to_contact",
"toObjectTypeId": "contact",
"fromObjectTypeId": "2-123456"
},
"required": [
"fromObjectTypeId",
"toObjectTypeId"
],
"properties": {
"name": {
"type": "string",
"example": "my_object_to_contact",
"description": "A unique name for this association."
},
"toObjectTypeId": {
"type": "string",
"example": "contact",
"description": "ID of the target object type ID to link to."
},
"fromObjectTypeId": {
"type": "string",
"example": "2-123456",
"description": "ID of the primary object type to link from."
}
},
"description": "Defines an association between two object types."
}
AssociationSpec
{
"type": "object",
"required": [
"associationCategory",
"associationTypeId"
],
"properties": {
"associationTypeId": {
"type": "integer",
"format": "int32"
},
"associationCategory": {
"enum": [
"HUBSPOT_DEFINED",
"USER_DEFINED",
"INTEGRATOR_DEFINED"
],
"type": "string"
}
}
}
BatchInputPropertyCreate
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PropertyCreate"
}
}
}
}
BatchInputPropertyName
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PropertyName"
}
}
}
}
BatchInputSimplePublicObjectBatchInput
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplePublicObjectBatchInput"
}
}
}
}
BatchInputSimplePublicObjectId
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplePublicObjectId"
}
}
}
}
BatchInputSimplePublicObjectInputForCreate
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
}
}
}
}
BatchInputTimelineEvent
{
"type": "object",
"example": {
"inputs": [
{
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": 3,
"petName": "Art3mis",
"petColor": "black"
},
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
{
"email": "pocket-tiger@petspot.com",
"tokens": {
"petAge": 3,
"petName": "Pocket",
"petColor": "yellow"
},
"extraData": {
"questions": [
{
"answer": "Purr...",
"question": "Who's a good kitty?"
},
{
"answer": "Meow!",
"question": "Will you stop playing with that?"
}
]
},
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Pocket",
"width": 600,
"height": 400,
"linkLabel": "View Pocket",
"headerLabel": "Pocket Tiger"
},
"eventTemplateId": "1001298"
}
]
},
"required": [
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEvent"
},
"example": [
{
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": 3,
"petName": "Art3mis",
"petColor": "black"
},
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
{
"email": "pocket-tiger@petspot.com",
"tokens": {
"petAge": 3,
"petName": "Pocket",
"petColor": "yellow"
},
"extraData": {
"questions": [
{
"answer": "Purr...",
"question": "Who's a good kitty?"
},
{
"answer": "Meow!",
"question": "Will you stop playing with that?"
}
]
},
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Pocket",
"width": 600,
"height": 400,
"linkLabel": "View Pocket",
"headerLabel": "Pocket Tiger"
},
"eventTemplateId": "1001298"
}
],
"description": "A collection of timeline events we want to create."
}
},
"description": "Used to create timeline events in batches."
}
BatchReadInputPropertyName
{
"type": "object",
"required": [
"archived",
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PropertyName"
}
},
"archived": {
"type": "boolean"
}
}
}
BatchReadInputSimplePublicObjectId
{
"type": "object",
"required": [
"inputs",
"properties",
"propertiesWithHistory"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplePublicObjectId"
}
},
"idProperty": {
"type": "string"
},
"properties": {
"type": "array",
"items": {
"type": "string"
}
},
"propertiesWithHistory": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
BatchResponseProperty
{
"type": "object",
"required": [
"completedAt",
"results",
"startedAt",
"status"
],
"properties": {
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"PENDING",
"PROCESSING",
"CANCELED",
"COMPLETE"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Property"
}
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"requestedAt": {
"type": "string",
"format": "date-time"
}
}
}
BatchResponsePropertyWithErrors
{
"type": "object",
"required": [
"completedAt",
"results",
"startedAt",
"status"
],
"properties": {
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StandardError"
}
},
"status": {
"enum": [
"PENDING",
"PROCESSING",
"CANCELED",
"COMPLETE"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Property"
}
},
"numErrors": {
"type": "integer",
"format": "int32"
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"requestedAt": {
"type": "string",
"format": "date-time"
}
}
}
BatchResponseSimplePublicObject
{
"type": "object",
"required": [
"completedAt",
"results",
"startedAt",
"status"
],
"properties": {
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"PENDING",
"PROCESSING",
"CANCELED",
"COMPLETE"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplePublicObject"
}
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"requestedAt": {
"type": "string",
"format": "date-time"
}
}
}
BatchResponseSimplePublicObjectWithErrors
{
"type": "object",
"required": [
"completedAt",
"results",
"startedAt",
"status"
],
"properties": {
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StandardError"
}
},
"status": {
"enum": [
"PENDING",
"PROCESSING",
"CANCELED",
"COMPLETE"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplePublicObject"
}
},
"numErrors": {
"type": "integer",
"format": "int32"
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"requestedAt": {
"type": "string",
"format": "date-time"
}
}
}
BatchResponseTimelineEventResponse
{
"type": "object",
"example": {
"status": "COMPLETE",
"results": [
{
"id": "petspot:1001298:art3mis-pup@petspot.com-6edaa73d-d734-404d-908f-74774d58ac2bX",
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": "3",
"petName": "Art3mis",
"petColor": "black"
},
"objectId": "28001",
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timestamp": "2020-01-30T18:13:25.665Z",
"objectType": "contacts",
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
{
"id": "petspot:1001298:pocket-tiger@petspot.com-0df6277b-6eba-4d1f-8c19-1994cbfaa4caX",
"email": "pocket-tiger@petspot.com",
"tokens": {
"petAge": "3",
"petName": "Pocket",
"petColor": "yellow"
},
"objectId": "28651",
"extraData": {
"questions": [
{
"answer": "Purr...",
"question": "Who's a good kitty?"
},
{
"answer": "Meow!",
"question": "Will you stop playing with that?"
}
]
},
"timestamp": "2020-01-30T18:13:25.665Z",
"objectType": "contacts",
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Pocket",
"width": 600,
"height": 400,
"linkLabel": "View Pocket",
"headerLabel": "Pocket Tiger"
},
"eventTemplateId": "1001298"
}
],
"startedAt": "2020-01-30T18:13:24.974023Z",
"completedAt": "2020-01-30T18:13:26.227559Z"
},
"required": [
"completedAt",
"results",
"startedAt",
"status"
],
"properties": {
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"PENDING",
"PROCESSING",
"CANCELED",
"COMPLETE"
],
"type": "string",
"example": "COMPLETE",
"description": "The status of the batch response. Should always be COMPLETED if processed."
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventResponse"
},
"example": [
{
"id": "petspot:1001298:art3mis-pup@petspot.com-6edaa73d-d734-404d-908f-74774d58ac2b",
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": "3",
"petName": "Art3mis",
"petColor": "black"
},
"objectId": "28001",
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timestamp": "2020-01-30T18:13:25.665Z",
"objectType": "contacts",
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
{
"id": "petspot:1001298:pocket-tiger@petspot.com-0df6277b-6eba-4d1f-8c19-1994cbfaa4ca",
"email": "pocket-tiger@petspot.com",
"tokens": {
"petAge": "3",
"petName": "Pocket",
"petColor": "yellow"
},
"objectId": "28651",
"extraData": {
"questions": [
{
"answer": "Purr...",
"question": "Who's a good kitty?"
},
{
"answer": "Meow!",
"question": "Will you stop playing with that?"
}
]
},
"timestamp": "2020-01-30T18:13:25.665Z",
"objectType": "contacts",
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Pocket",
"width": 600,
"height": 400,
"linkLabel": "View Pocket",
"headerLabel": "Pocket Tiger"
},
"eventTemplateId": "1001298"
}
],
"description": "Successfully created events."
},
"startedAt": {
"type": "string",
"format": "date-time",
"description": "The time the request began processing."
},
"completedAt": {
"type": "string",
"format": "date-time",
"description": "The time the request was completed."
},
"requestedAt": {
"type": "string",
"format": "date-time",
"description": "The time the request occurred."
}
},
"description": "The state of the batch event request."
}
BatchResponseTimelineEventResponseWithErrors
{
"type": "object",
"required": [
"completedAt",
"results",
"startedAt",
"status"
],
"properties": {
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StandardError"
}
},
"status": {
"enum": [
"PENDING",
"PROCESSING",
"CANCELED",
"COMPLETE"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventResponse"
}
},
"numErrors": {
"type": "integer",
"format": "int32"
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"requestedAt": {
"type": "string",
"format": "date-time"
}
}
}
CollectionResponseAssociatedId
{
"type": "object",
"required": [
"results"
],
"properties": {
"paging": {
"$ref": "#/components/schemas/Paging"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssociatedId"
}
}
}
}
CollectionResponseObjectSchemaNoPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectSchema"
}
}
}
}
CollectionResponsePipelineNoPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Pipeline"
}
}
}
}
CollectionResponsePipelineStageNoPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PipelineStage"
}
}
}
}
CollectionResponsePropertyGroupNoPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PropertyGroup"
}
}
}
}
CollectionResponsePropertyNoPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Property"
}
}
}
}
CollectionResponsePublicAuditInfoNoPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicAuditInfo"
}
}
}
}
CollectionResponsePublicImportErrorForwardPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"paging": {
"$ref": "#/components/schemas/ForwardPaging"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicImportError"
}
}
}
}
CollectionResponsePublicImportResponse
{
"type": "object",
"required": [
"results"
],
"properties": {
"paging": {
"$ref": "#/components/schemas/Paging"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicImportResponse"
}
}
}
}
CollectionResponsePublicOwnerForwardPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"paging": {
"$ref": "#/components/schemas/ForwardPaging"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicOwner"
}
}
}
}
CollectionResponseSimplePublicObjectWithAssociationsForwardPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"paging": {
"$ref": "#/components/schemas/ForwardPaging"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplePublicObjectWithAssociations"
}
}
}
}
CollectionResponseTimelineEventTemplateNoPaging
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplate"
}
}
}
}
CollectionResponseWithTotalSimplePublicObjectForwardPaging
{
"type": "object",
"required": [
"results",
"total"
],
"properties": {
"total": {
"type": "integer",
"format": "int32"
},
"paging": {
"$ref": "#/components/schemas/ForwardPaging"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplePublicObject"
}
}
}
}
CoreStartImportRequest
{
"type": "object",
"properties": {
"files": {
"type": "string",
"format": "binary",
"description": "A list of files containing the data to import"
},
"importRequest": {
"type": "string",
"description": "JSON formatted metadata about the import. This includes a name for the import and the column mappings for each file. See the overview tab for more on the required format."
}
}
}
Error
{
"type": "object",
"example": {
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
},
"message": "Invalid input (details will vary based on the error)",
"category": "VALIDATION_ERROR",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf"
},
"required": [
"category",
"correlationId",
"message"
],
"properties": {
"links": {
"type": "object",
"example": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
},
"description": "A map of link names to associated URIs containing documentation about the error or recommended remediation steps",
"additionalProperties": {
"type": "string"
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorDetail"
},
"description": "further information about the error"
},
"context": {
"type": "object",
"example": {
"missingScopes": [
"scope1",
"scope2"
],
"invalidPropertyName": [
"propertyValue"
]
},
"description": "Context about the error condition",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"message": {
"type": "string",
"example": "Invalid input (details will vary based on the error)",
"description": "A human readable message describing the error along with remediation steps where appropriate"
},
"category": {
"type": "string",
"example": "VALIDATION_ERROR",
"description": "The error category"
},
"subCategory": {
"type": "string",
"description": "A specific category that contains more specific detail about the error"
},
"correlationId": {
"type": "string",
"format": "uuid",
"example": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"description": "A unique identifier for the request. Include this value with any error reports or support tickets"
}
}
}
ErrorDetail
{
"type": "object",
"required": [
"message"
],
"properties": {
"in": {
"type": "string",
"description": "The name of the field or parameter in which the error was found."
},
"code": {
"type": "string",
"description": "The status code associated with the error detail"
},
"context": {
"type": "object",
"example": {
"missingScopes": [
"scope1",
"scope2"
]
},
"description": "Context about the error condition",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"message": {
"type": "string",
"description": "A human readable message describing the error along with remediation steps where appropriate"
},
"subCategory": {
"type": "string",
"description": "A specific category that contains more specific detail about the error"
}
}
}
EventDetail
{
"type": "object",
"example": {
"details": "<p>Registration occurred at Jan 30, 2020, 1:13:25 PM</p><h4>Questions</h4><p><strong>Who's a good kitty?</strong>: Purr...</p><p><strong>Will you stop playing with that?</strong>: Meow!</p><p>EDIT</p>"
},
"required": [
"details"
],
"properties": {
"details": {
"type": "string",
"example": "<p>Registration occurred at Jan 30, 2020, 1:13:25 PM</p><h4>Questions</h4><p><strong>Who's a good kitty?</strong>: Purr...</p><p><strong>Will you stop playing with that?</strong>: Meow!</p><p>EDIT</p>",
"description": "The details Markdown rendered as HTML."
}
},
"description": "The details Markdown rendered as HTML."
}
EventsCreateMultipleBatchResponse
{
"type": "object",
"example": {
"status": "COMPLETE",
"results": [
{
"id": "petspot:1001298:art3mis-pup@petspot.com-b9d73144-41bb-46c8-9a3f-f0849c1ad7e6",
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": "3",
"petName": "Art3mis",
"petColor": "black"
},
"objectId": "28001",
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timestamp": "2020-01-30T18:10:17.057Z",
"objectType": "contacts",
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
{
"id": "petspot:1001298:pocket-tiger@petspot.com-c09a620f-60a4-46a8-be9f-fe0609fc3f0e",
"email": "pocket-tiger@petspot.com",
"tokens": {
"petAge": "3",
"petName": "Pocket",
"petColor": "yellow"
},
"objectId": "28651",
"extraData": {
"questions": [
{
"answer": "Purr...",
"question": "Who's a good kitty?"
},
{
"answer": "Meow!",
"question": "Will you stop playing with that?"
}
]
},
"timestamp": "2020-01-30T18:10:17.057Z",
"objectType": "contacts",
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Pocket",
"width": 600,
"height": 400,
"linkLabel": "View Pocket",
"headerLabel": "Pocket Tiger"
},
"eventTemplateId": "1001298"
}
],
"startedAt": "2020-01-30T18:10:16.478734Z",
"completedAt": "2020-01-30T18:10:17.793206Z"
},
"properties": {
"status": {
"type": "string",
"example": "COMPLETE"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "petspot:1001298:art3mis-pup@petspot.com-b9d73144-41bb-46c8-9a3f-f0849c1ad7e6"
},
"email": {
"type": "string",
"example": "art3mis-pup@petspot.com"
},
"tokens": {
"type": "object",
"properties": {
"petAge": {
"type": "string",
"example": "3"
},
"petName": {
"type": "string",
"example": "Art3mis"
},
"petColor": {
"type": "string",
"example": "black"
}
}
},
"objectId": {
"type": "string",
"example": "28001"
},
"extraData": {
"type": "object",
"properties": {
"questions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"answer": {
"type": "string",
"example": "Bark!"
},
"question": {
"type": "string",
"example": "Who's a good girl?"
}
}
}
}
}
},
"timestamp": {
"type": "string",
"example": "2020-01-30T18:10:17.057Z"
},
"objectType": {
"type": "string",
"example": "contacts"
},
"timelineIFrame": {
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "https://my.petspot.com/pets/Art3mis"
},
"width": {
"type": "number",
"example": 600
},
"height": {
"type": "number",
"example": 400
},
"linkLabel": {
"type": "string",
"example": "View Art3mis"
},
"headerLabel": {
"type": "string",
"example": "Art3mis dog"
}
}
},
"eventTemplateId": {
"type": "string",
"example": "1001298"
}
}
}
},
"startedAt": {
"type": "string",
"example": "2020-01-30T18:10:16.478734Z"
},
"completedAt": {
"type": "string",
"example": "2020-01-30T18:10:17.793206Z"
}
}
}
EventsRenderingHtmlResponse
{
"type": "string"
}
ExternalSettings
{
"type": "object",
"example": {
"userVerifyUrl": "https://example.com/user-verify",
"createMeetingUrl": "https://example.com/create-meeting",
"deleteMeetingUrl": "https://example.com/delete-meeting",
"updateMeetingUrl": "https://example.com/update-meeting"
},
"required": [
"createMeetingUrl"
],
"properties": {
"userVerifyUrl": {
"type": "string",
"example": "https://example.com/user-verify",
"description": "The URL that HubSpot will use to verify that a user exists in the video conference application."
},
"createMeetingUrl": {
"type": "string",
"example": "https://example.com/create-meeting",
"description": "The URL that HubSpot will send requests to create a new video conference."
},
"deleteMeetingUrl": {
"type": "string",
"example": "https://example.com/delete-meeting",
"description": "The URL that HubSpot will send notifications of meetings that have been deleted in HubSpot."
},
"fetchAccountsUri": {
"type": "string"
},
"updateMeetingUrl": {
"type": "string",
"example": "https://example.com/update-meeting",
"description": "The URL that HubSpot will send updates to existing meetings. Typically called when the user changes the topic or times of a meeting."
}
},
"description": "The URLs of the various actions provided by the video conferencing application. All URLs must use the `https` protocol."
}
Filter
{
"type": "object",
"required": [
"operator",
"propertyName"
],
"properties": {
"value": {
"type": "string"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"operator": {
"enum": [
"EQ",
"NEQ",
"LT",
"LTE",
"GT",
"GTE",
"BETWEEN",
"IN",
"NOT_IN",
"HAS_PROPERTY",
"NOT_HAS_PROPERTY",
"CONTAINS_TOKEN",
"NOT_CONTAINS_TOKEN"
],
"type": "string",
"description": "null"
},
"highValue": {
"type": "string"
},
"propertyName": {
"type": "string"
}
}
}
FilterGroup
{
"type": "object",
"required": [
"filters"
],
"properties": {
"filters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Filter"
}
}
}
}
ForwardPaging
{
"type": "object",
"properties": {
"next": {
"$ref": "#/components/schemas/NextPage"
}
}
}
ImportRowCore
{
"type": "object",
"required": [
"fileId",
"lineNumber",
"rowData"
],
"properties": {
"fileId": {
"type": "integer",
"format": "int32"
},
"rowData": {
"type": "array",
"items": {
"type": "string"
}
},
"pageName": {
"type": "string"
},
"lineNumber": {
"type": "integer",
"format": "int32"
}
}
}
ImportTemplate
{
"type": "object",
"required": [
"templateId",
"templateType"
],
"properties": {
"templateId": {
"type": "integer",
"format": "int32"
},
"templateType": {
"enum": [
"admin_defined",
"previous_import",
"user_file"
],
"type": "string"
}
}
}
NextPage
{
"type": "object",
"example": {
"link": "?after=NTI1Cg%3D%3D",
"after": "NTI1Cg%3D%3D"
},
"required": [
"after"
],
"properties": {
"link": {
"type": "string",
"example": "?after=NTI1Cg%3D%3D"
},
"after": {
"type": "string",
"example": "NTI1Cg%3D%3D"
}
}
}
ObjectSchema
{
"type": "object",
"example": {
"id": "123456X",
"name": "my_object",
"labels": {
"plural": "My objects",
"singular": "My object"
},
"metaType": "PORTAL_SPECIFIC",
"createdAt": "2020-02-20T18:07:11.390Z",
"updatedAt": "2020-02-20T18:09:07.555Z",
"properties": [
{
"name": "my_object_property",
"type": "string",
"label": "My object property",
"archived": false,
"createdAt": "2020-02-20T18:07:11.802Z",
"fieldType": "text",
"groupName": "my_object_information",
"updatedAt": "2020-02-20T18:07:11.802Z",
"calculated": false,
"displayOrder": -1,
"hasUniqueValue": false,
"externalOptions": false
}
],
"associations": [
{
"id": "123X",
"name": "my_object_to_contact",
"toObjectTypeId": "0-1",
"fromObjectTypeId": "2-123456"
}
],
"fullyQualifiedName": "p7878787_my_object\"",
"requiredProperties": [
"my_object_property"
],
"searchableProperties": [
"my_object_property"
],
"primaryDisplayProperty": "my_object_property"
},
"required": [
"associations",
"id",
"labels",
"name",
"properties",
"requiredProperties"
],
"properties": {
"id": {
"type": "string",
"example": "123456",
"description": "A unique ID for this schema's object type. Will be defined as {meta-type}-{unique ID}."
},
"name": {
"type": "string",
"example": "my_object",
"description": "A unique name for the schema's object type."
},
"labels": {
"$ref": "#/components/schemas/ObjectTypeDefinitionLabels"
},
"archived": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "When the object schema was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "When the object schema was last updated."
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Property"
},
"example": [
{
"name": "my_object_property",
"type": "string",
"label": "My object property",
"archived": false,
"createdAt": "2020-02-20T18:07:11.802Z",
"fieldType": "text",
"groupName": "my_object_information",
"updatedAt": "2020-02-20T18:07:11.802Z",
"calculated": false,
"displayOrder": -1,
"hasUniqueValue": false,
"externalOptions": false
}
],
"description": "Properties defined for this object type."
},
"description": {
"type": "string"
},
"associations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssociationDefinition"
},
"example": [
{
"id": "123",
"name": "my_object_to_contact",
"toObjectTypeId": "0-1",
"fromObjectTypeId": "2-123456"
}
],
"description": "Associations defined for a given object type."
},
"objectTypeId": {
"type": "string"
},
"fullyQualifiedName": {
"type": "string",
"example": "p7878787_my_object\"",
"description": "An assigned unique ID for the object, including portal ID and object name."
},
"requiredProperties": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"my_object_property"
],
"description": "The names of properties that should be **required** when creating an object of this type."
},
"searchableProperties": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"my_object_property"
],
"description": "Names of properties that will be indexed for this object type in by HubSpot's product search."
},
"primaryDisplayProperty": {
"type": "string",
"example": "my_object_property",
"description": "The name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type."
},
"secondaryDisplayProperties": {
"type": "array",
"items": {
"type": "string"
},
"description": "The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type."
}
},
"description": "Defines an object schema, including its properties and associations."
}
ObjectSchemaEgg
{
"type": "object",
"example": {
"name": "my_object",
"labels": {
"plural": "My objects",
"singular": "My object"
},
"metaType": "PORTAL_SPECIFIC",
"properties": [
{
"name": "my_object_property",
"label": "My object property",
"isPrimaryDisplayLabel": true
}
],
"associatedObjects": [
"CONTACT"
],
"requiredProperties": [
"my_object_property"
],
"primaryDisplayProperty": "my_object_property"
},
"required": [
"associatedObjects",
"labels",
"name",
"properties",
"requiredProperties"
],
"properties": {
"name": {
"type": "string",
"example": "my_object",
"description": "A unique name for this object. For internal use only."
},
"labels": {
"$ref": "#/components/schemas/ObjectTypeDefinitionLabels"
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectTypePropertyCreate"
},
"example": [
{
"name": "my_object_property",
"label": "My object property",
"isPrimaryDisplayLabel": true
}
],
"description": "Properties defined for this object type."
},
"description": {
"type": "string"
},
"associatedObjects": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"CONTACT"
],
"description": "Associations defined for this object type."
},
"requiredProperties": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"my_object_property"
],
"description": "The names of properties that should be **required** when creating an object of this type."
},
"searchableProperties": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of properties that will be indexed for this object type in by HubSpot's product search."
},
"primaryDisplayProperty": {
"type": "string",
"example": "my_object_property",
"description": "The name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type."
},
"secondaryDisplayProperties": {
"type": "array",
"items": {
"type": "string"
},
"description": "The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type."
}
},
"description": "Defines a new object type, its properties, and associations."
}
ObjectTypeDefinition
{
"type": "object",
"example": {
"id": "123456",
"name": "my_object",
"labels": {
"plural": "My objects",
"singular": "My object"
},
"metaType": "PORTAL_SPECIFIC",
"portalId": 12345678,
"createdAt": "2020-02-20T18:07:11.390Z",
"updatedAt": "2020-02-21T14:13:28.818002Z",
"requiredProperties": [
"my_object_property"
],
"searchableProperties": [
"my_object_property"
],
"primaryDisplayProperty": "my_object_property"
},
"required": [
"id",
"labels",
"name",
"requiredProperties"
],
"properties": {
"id": {
"type": "string",
"example": "123456",
"description": "A unique ID for this object type. Will be defined as {meta-type}-{unique ID}."
},
"name": {
"type": "string",
"example": "my_object",
"description": "A unique name for this object. For internal use only."
},
"labels": {
"$ref": "#/components/schemas/ObjectTypeDefinitionLabels"
},
"archived": {
"type": "boolean"
},
"portalId": {
"type": "integer",
"format": "int32",
"example": 12345678,
"description": "The ID of the account that this object type is specific to."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "When the object type was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "When the object type was last updated."
},
"description": {
"type": "string"
},
"objectTypeId": {
"type": "string"
},
"fullyQualifiedName": {
"type": "string"
},
"requiredProperties": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"my_object_property"
],
"description": "The names of properties that should be **required** when creating an object of this type."
},
"searchableProperties": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"my_object_property"
],
"description": "Names of properties that will be indexed for this object type in by HubSpot's product search."
},
"primaryDisplayProperty": {
"type": "string",
"example": "my_object_property",
"description": "The name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type."
},
"secondaryDisplayProperties": {
"type": "array",
"items": {
"type": "string"
},
"description": "The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type."
}
},
"description": "Defines an object type."
}
ObjectTypeDefinitionLabels
{
"type": "object",
"example": {
"plural": "My objects",
"singular": "My object"
},
"properties": {
"plural": {
"type": "string",
"example": "My objects",
"description": "The word for multiple objects. (There’s no way to change this later.)"
},
"singular": {
"type": "string",
"example": "My object",
"description": "The word for one object. (There’s no way to change this later.)"
}
},
"description": "Singular and plural labels for the object. Used in CRM display."
}
ObjectTypeDefinitionPatch
{
"type": "object",
"example": {
"requiredProperties": [
"my_object_property"
],
"searchableProperties": [
"my_object_property"
],
"primaryDisplayProperty": "my_object_property"
},
"properties": {
"labels": {
"$ref": "#/components/schemas/ObjectTypeDefinitionLabels"
},
"restorable": {
"type": "boolean"
},
"description": {
"type": "string"
},
"requiredProperties": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"my_object_property"
],
"description": "The names of properties that should be **required** when creating an object of this type."
},
"searchableProperties": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"my_object_property"
],
"description": "Names of properties that will be indexed for this object type in by HubSpot's product search."
},
"primaryDisplayProperty": {
"type": "string",
"example": "my_object_property",
"description": "The name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type."
},
"secondaryDisplayProperties": {
"type": "array",
"items": {
"type": "string"
},
"description": "The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type."
}
},
"description": "Defines attributes to update on an object type."
}
ObjectTypePropertyCreate
{
"type": "object",
"example": {
"type": "enumeration",
"label": "My object property",
"options": [
{
"label": "Option A",
"value": "A",
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"description": "Choice number two",
"displayOrder": 2
}
],
"fieldType": "select",
"groupName": "my_object_information",
"displayOrder": 2,
"hasUniqueValue": false
},
"required": [
"fieldType",
"label",
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"description": "The internal property name, which must be used when referencing the property from the API."
},
"type": {
"enum": [
"string",
"number",
"date",
"datetime",
"enumeration",
"bool"
],
"type": "string",
"example": "enumeration",
"description": "The data type of the property."
},
"label": {
"type": "string",
"example": "My object property",
"description": "A human-readable property label that will be shown in HubSpot."
},
"hidden": {
"type": "boolean"
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OptionInput"
},
"example": [
{
"label": "Option A",
"value": "A",
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"description": "Choice number two",
"displayOrder": 2
}
],
"description": "A list of available options for the property. This field is only required for enumerated properties."
},
"fieldType": {
"type": "string",
"example": "select",
"description": "Controls how the property appears in HubSpot."
},
"formField": {
"type": "boolean",
"description": "Whether the property can be used in a HubSpot form."
},
"groupName": {
"type": "string",
"example": "my_object_information",
"description": "The name of the group this property belongs to."
},
"description": {
"type": "string",
"description": "A description of the property that will be shown as help text in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "The order that this property should be displayed in the HubSpot UI relative to other properties for this object type. Properties are displayed in order starting with the lowest positive integer value. A value of -1 will cause the property to be displayed **after** any positive values."
},
"hasUniqueValue": {
"type": "boolean",
"example": false,
"description": "Whether or not the property's value must be unique. Once set, this can't be changed."
},
"textDisplayHint": {
"enum": [
"unformatted_single_line",
"multi_line",
"email",
"phone_number",
"domain_name",
"ip_address",
"physical_address",
"postal_code"
],
"type": "string",
"description": "Controls how text properties are formatted in the HubSpot UI"
},
"numberDisplayHint": {
"enum": [
"unformatted",
"formatted",
"currency",
"percentage",
"duration",
"probability"
],
"type": "string",
"description": "Controls how numeric properties are formatted in the HubSpot UI"
},
"optionSortStrategy": {
"enum": [
"DISPLAY_ORDER",
"ALPHABETICAL"
],
"type": "string",
"description": "Controls how the property options will be sorted in the HubSpot UI."
},
"showCurrencySymbol": {
"type": "boolean",
"description": "Whether the property will display the currency symbol in the HubSpot UI."
},
"referencedObjectType": {
"type": "string",
"description": "Defines the options this property will return, e.g. OWNER would return name of users on the portal."
},
"searchableInGlobalSearch": {
"type": "boolean",
"description": "Allow users to search for information entered to this field (limited to 3 properties)"
}
},
"description": "Defines a property to create."
}
Option
{
"type": "object",
"example": {
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
"required": [
"hidden",
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"example": "Option A",
"description": "A human-readable option label that will be shown in HubSpot."
},
"value": {
"type": "string",
"example": "A",
"description": "The internal value of the option, which must be used when setting the property value through the API."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "Hidden options will not be displayed in HubSpot."
},
"description": {
"type": "string",
"example": "Choice number one",
"description": "A description of the option."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Options are displayed in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values."
}
},
"description": "The options available when a property is an enumeration"
}
OptionInput
{
"type": "object",
"example": {
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
"required": [
"displayOrder",
"hidden",
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"example": "Option A",
"description": "A human-readable option label that will be shown in HubSpot."
},
"value": {
"type": "string",
"example": "A",
"description": "The internal value of the option, which must be used when setting the property value through the API."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "Hidden options won't be shown in HubSpot."
},
"description": {
"type": "string",
"example": "Choice number one",
"description": "A description of the option."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Options are shown in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values."
}
},
"description": "Defines a enumeration property option"
}
Paging
{
"type": "object",
"properties": {
"next": {
"$ref": "#/components/schemas/NextPage"
},
"prev": {
"$ref": "#/components/schemas/PreviousPage"
}
}
}
Pipeline
{
"type": "object",
"example": {
"id": "812723471",
"label": "My ticket pipeline",
"stages": [
{
"id": "1234912X",
"label": "In Progress",
"archived": false,
"metadata": {
"ticketState": "OPEN"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
},
{
"id": "1234914X",
"label": "Done",
"archived": false,
"metadata": {
"ticketState": "CLOSED"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
}
],
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
},
"required": [
"archived",
"createdAt",
"displayOrder",
"id",
"label",
"stages",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "812723471",
"description": "A unique identifier generated by HubSpot that can be used to retrieve and update the pipeline."
},
"label": {
"type": "string",
"example": "My ticket pipeline",
"description": "A unique label used to organize pipelines in HubSpot's UI"
},
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PipelineStage"
},
"example": [
{
"id": "1234912X",
"label": "In Progress",
"archived": false,
"metadata": {
"ticketState": "OPEN"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
},
{
"id": "1234914",
"label": "Done",
"archived": false,
"metadata": {
"ticketState": "CLOSED"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
}
],
"description": "The stages associated with the pipeline. They can be retrieved and updated via the pipeline stages endpoints."
},
"archived": {
"type": "boolean",
"example": false,
"description": "Whether the pipeline is archived."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline was created. The default pipelines will have createdAt = 0."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline was last updated."
},
"archivedAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline was archived. `archivedAt` will only be present if the pipeline is archived."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The order for displaying this pipeline. If two pipelines have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "A pipeline definition."
}
PipelineInput
{
"type": "object",
"example": {
"label": "My replaced pipeline",
"stages": [
{
"label": "In Progress",
"metadata": {
"ticketState": "OPEN"
},
"displayOrder": 0
},
{
"label": "Done",
"metadata": {
"ticketState": "CLOSED"
},
"displayOrder": 1
}
],
"displayOrder": 0
},
"required": [
"displayOrder",
"label",
"stages"
],
"properties": {
"label": {
"type": "string",
"example": "My replaced pipeline",
"description": "A unique label used to organize pipelines in HubSpot's UI"
},
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PipelineStageInput"
},
"example": [
{
"label": "In Progress",
"metadata": {
"ticketState": "OPEN"
},
"displayOrder": 0
},
{
"label": "Done",
"metadata": {
"ticketState": "CLOSED"
},
"displayOrder": 1
}
],
"description": "Pipeline stage inputs used to create the new or replacement pipeline."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The order for displaying this pipeline. If two pipelines have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "An input used to create or replace a pipeline's definition."
}
PipelinePatchInput
{
"type": "object",
"example": {
"label": "My updated pipeline",
"displayOrder": 0
},
"properties": {
"label": {
"type": "string",
"example": "My updated pipeline",
"description": "A unique label used to organize pipelines in HubSpot's UI"
},
"archived": {
"type": "boolean",
"description": "Whether the pipeline is archived. This property should only be provided when restoring an archived pipeline. If it's provided in any other call, the request will fail and a `400 Bad Request` will be returned."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The order for displaying this pipeline. If two pipelines have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "An input used to update some properties on a pipeline definition."
}
PipelineStage
{
"type": "object",
"example": {
"id": "1234912",
"label": "In Progress",
"archived": false,
"metadata": {
"ticketState": "OPEN"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
},
"required": [
"archived",
"createdAt",
"displayOrder",
"id",
"label",
"metadata",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "1234912",
"description": "A unique identifier generated by HubSpot that can be used to retrieve and update the pipeline stage."
},
"label": {
"type": "string",
"example": "In Progress",
"description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline."
},
"archived": {
"type": "boolean",
"example": false,
"description": "Whether the pipeline is archived."
},
"metadata": {
"type": "object",
"example": {
"ticketState": "OPEN"
},
"description": "A JSON object containing properties that are not present on all object pipelines.\n\nFor `deals` pipelines, the `probability` field is required (`{ \"probability\": 0.5 }`), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1.\n\nFor `tickets` pipelines, the `ticketState` field is optional (`{ \"ticketState\": \"OPEN\" }`), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are `OPEN` or `CLOSED`.",
"additionalProperties": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline stage was created. The stages on default pipelines will have createdAt = 0."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline stage was last updated."
},
"archivedAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline was archived. `archivedAt` will only be present if the pipeline is archived."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The order for displaying this pipeline stage. If two pipeline stages have a matching `displayOrder`, they will be sorted alphabetically by label."
},
"writePermissions": {
"enum": [
"CRM_PERMISSIONS_ENFORCEMENT",
"READ_ONLY",
"INTERNAL_ONLY"
],
"type": "string"
}
},
"description": "A pipeline stage definition."
}
PipelineStageInput
{
"type": "object",
"example": {
"label": "Done",
"metadata": {
"ticketState": "CLOSED"
},
"displayOrder": 1
},
"required": [
"displayOrder",
"label",
"metadata"
],
"properties": {
"label": {
"type": "string",
"example": "Done",
"description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline."
},
"metadata": {
"type": "object",
"example": {
"ticketState": "CLOSED"
},
"description": "A JSON object containing properties that are not present on all object pipelines.\n\nFor `deals` pipelines, the `probability` field is required (`{ \"probability\": 0.5 }`), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1.\n\nFor `tickets` pipelines, the `ticketState` field is optional (`{ \"ticketState\": \"OPEN\" }`), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are `OPEN` or `CLOSED`.",
"additionalProperties": {
"type": "string"
}
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The order for displaying this pipeline stage. If two pipeline stages have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "An input used to create or replace a pipeline stage's definition."
}
PipelineStagePatchInput
{
"type": "object",
"example": {
"label": "Done",
"metadata": {
"ticketState": "CLOSED"
},
"displayOrder": 1
},
"required": [
"metadata"
],
"properties": {
"label": {
"type": "string",
"example": "Done",
"description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline."
},
"archived": {
"type": "boolean",
"description": "Whether the pipeline is archived."
},
"metadata": {
"type": "object",
"example": {
"ticketState": "CLOSED"
},
"description": "A JSON object containing properties that are not present on all object pipelines.\n\nFor `deals` pipelines, the `probability` field is required (`{ \"probability\": 0.5 }`), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1.\n\nFor `tickets` pipelines, the `ticketState` field is optional (`{ \"ticketState\": \"OPEN\" }`), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are `OPEN` or `CLOSED`.",
"additionalProperties": {
"type": "string"
}
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The order for displaying this pipeline stage. If two pipeline stages have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "An input used to update some properties on a pipeline definition."
}
PreviousPage
{
"type": "object",
"required": [
"before"
],
"properties": {
"link": {
"type": "string"
},
"before": {
"type": "string"
}
}
}
Property
{
"type": "object",
"example": {
"name": "my_contact_property",
"type": "enumeration",
"label": "My Contact Property",
"hidden": false,
"options": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"fieldType": "select",
"formField": true,
"groupName": "contactinformation",
"displayOrder": 2,
"hasUniqueValue": false,
"modificationMetadata": {
"archivable": true,
"readOnlyValue": false,
"readOnlyOptions": false,
"readOnlyDefinition": false
}
},
"required": [
"description",
"fieldType",
"groupName",
"label",
"name",
"options",
"type"
],
"properties": {
"name": {
"type": "string",
"example": "my_contact_property",
"description": "The internal property name, which must be used when referencing the property via the API."
},
"type": {
"type": "string",
"example": "enumeration",
"description": "The property data type."
},
"label": {
"type": "string",
"example": "My Contact Property",
"description": "A human-readable property label that will be shown in HubSpot."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "Whether or not the property will be hidden from the HubSpot UI. It's recommended this be set to false for custom properties."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Option"
},
"example": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"description": "A list of valid options for the property. This field is required for enumerated properties, but will be empty for other property types."
},
"archived": {
"type": "boolean",
"description": "Whether or not the property is archived."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": ""
},
"fieldType": {
"type": "string",
"example": "select",
"description": "Controls how the property appears in HubSpot."
},
"formField": {
"type": "boolean",
"example": true,
"description": "Whether or not the property can be used in a HubSpot form."
},
"groupName": {
"type": "string",
"example": "contactinformation",
"description": "The name of the property group the property belongs to."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": ""
},
"archivedAt": {
"type": "string",
"format": "date-time",
"description": "When the property was archived."
},
"calculated": {
"type": "boolean",
"description": "For default properties, true indicates that the property is calculated by a HubSpot process. It has no effect for custom properties."
},
"description": {
"type": "string",
"description": "A description of the property that will be shown as help text in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Properties are shown in order, starting with the lowest positive integer value."
},
"createdUserId": {
"type": "string",
"description": "The internal user ID of the user who created the property in HubSpot. This field may not exist if the property was created outside of HubSpot."
},
"updatedUserId": {
"type": "string",
"description": "The internal user ID of the user who updated the property in HubSpot. This field may not exist if the property was updated outside of HubSpot."
},
"hasUniqueValue": {
"type": "boolean",
"example": false,
"description": "Whether or not the property's value must be unique. Once set, this can't be changed."
},
"hubspotDefined": {
"type": "boolean",
"description": "This will be true for default object properties built into HubSpot."
},
"externalOptions": {
"type": "boolean",
"description": "For default properties, true indicates that the options are stored externally to the property settings."
},
"calculationFormula": {
"type": "string",
"description": "Represents a formula that is used to compute a calculated property."
},
"showCurrencySymbol": {
"type": "boolean",
"description": "Whether or not the property will display the currency symbol set in the account settings."
},
"modificationMetadata": {
"$ref": "#/components/schemas/PropertyModificationMetadata"
},
"referencedObjectType": {
"type": "string",
"description": "If this property is related to other object(s), they'll be listed here."
}
},
"description": "Defines a property"
}
PropertyCreate
{
"type": "object",
"example": {
"type": "enumeration",
"label": "My Contact Property",
"hidden": false,
"options": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"fieldType": "select",
"formField": true,
"groupName": "contactinformation",
"displayOrder": 2,
"hasUniqueValue": false
},
"required": [
"fieldType",
"groupName",
"label",
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"description": "The internal property name, which must be used when referencing the property via the API."
},
"type": {
"enum": [
"string",
"number",
"date",
"datetime",
"enumeration",
"bool"
],
"type": "string",
"example": "enumeration",
"description": "The data type of the property."
},
"label": {
"type": "string",
"example": "My Contact Property",
"description": "A human-readable property label that will be shown in HubSpot."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "If true, the property won't be visible and can't be used in HubSpot."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OptionInput"
},
"example": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"description": "A list of valid options for the property. This field is required for enumerated properties."
},
"fieldType": {
"enum": [
"textarea",
"text",
"date",
"file",
"number",
"select",
"radio",
"checkbox",
"booleancheckbox",
"calculation_equation"
],
"type": "string",
"example": "select",
"description": "Controls how the property appears in HubSpot."
},
"formField": {
"type": "boolean",
"example": true,
"description": "Whether or not the property can be used in a HubSpot form."
},
"groupName": {
"type": "string",
"example": "contactinformation",
"description": "The name of the property group the property belongs to."
},
"description": {
"type": "string",
"description": "A description of the property that will be shown as help text in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values."
},
"hasUniqueValue": {
"type": "boolean",
"example": false,
"description": "Whether or not the property's value must be unique. Once set, this can't be changed."
},
"externalOptions": {
"type": "boolean",
"description": "Applicable only for 'enumeration' type properties. Should be set to true in conjunction with a 'referencedObjectType' of 'OWNER'. Otherwise false."
},
"calculationFormula": {
"type": "string",
"description": "Represents a formula that is used to compute a calculated property."
},
"referencedObjectType": {
"type": "string",
"description": "Should be set to 'OWNER' when 'externalOptions' is true, which causes the property to dynamically pull option values from the current HubSpot users."
}
}
}
PropertyGroup
{
"type": "object",
"example": {
"name": "mypropertygroup",
"label": "My Property Group",
"displayOrder": -1
},
"required": [
"archived",
"displayOrder",
"label",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "mypropertygroup",
"description": "The internal property group name, which must be used when referencing the property group via the API."
},
"label": {
"type": "string",
"example": "My Property Group",
"description": "A human-readable label that will be shown in HubSpot."
},
"archived": {
"type": "boolean"
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": -1,
"description": "Property groups are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property group to be displayed after any positive values."
}
},
"description": "An ID for a group of properties"
}
PropertyGroupCreate
{
"type": "object",
"example": {
"name": "mypropertygroup",
"label": "My Property Group",
"displayOrder": -1
},
"required": [
"label",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "mypropertygroup",
"description": "The internal property group name, which must be used when referencing the property group via the API."
},
"label": {
"type": "string",
"example": "My Property Group",
"description": "A human-readable label that will be shown in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": -1,
"description": "Property groups are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property group to be displayed after any positive values."
}
}
}
PropertyGroupUpdate
{
"type": "object",
"example": {
"label": "My Property Group",
"displayOrder": -1
},
"properties": {
"label": {
"type": "string",
"example": "My Property Group",
"description": "A human-readable label that will be shown in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": -1,
"description": "Property groups are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property group to be displayed after any positive values."
}
}
}
PropertyModificationMetadata
{
"type": "object",
"required": [
"archivable",
"readOnlyDefinition",
"readOnlyValue"
],
"properties": {
"archivable": {
"type": "boolean",
"description": ""
},
"readOnlyValue": {
"type": "boolean",
"description": ""
},
"readOnlyOptions": {
"type": "boolean",
"description": ""
},
"readOnlyDefinition": {
"type": "boolean",
"description": ""
}
}
}
PropertyName
{
"type": "object",
"example": {
"name": "my_custom_property"
},
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "my_custom_property",
"description": "The name of the property to read or modify."
}
}
}
PropertyUpdate
{
"type": "object",
"example": {
"type": "enumeration",
"label": "My Contact Property",
"hidden": false,
"options": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"fieldType": "select",
"formField": true,
"groupName": "contactinformation",
"displayOrder": 2
},
"properties": {
"type": {
"enum": [
"string",
"number",
"date",
"datetime",
"enumeration",
"bool"
],
"type": "string",
"example": "enumeration",
"description": "The data type of the property."
},
"label": {
"type": "string",
"example": "My Contact Property",
"description": "A human-readable property label that will be shown in HubSpot."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "If true, the property won't be visible and can't be used in HubSpot."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OptionInput"
},
"example": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"description": "A list of valid options for the property."
},
"fieldType": {
"enum": [
"textarea",
"text",
"date",
"file",
"number",
"select",
"radio",
"checkbox",
"booleancheckbox",
"calculation_equation"
],
"type": "string",
"example": "select",
"description": "Controls how the property appears in HubSpot."
},
"formField": {
"type": "boolean",
"example": true,
"description": "Whether or not the property can be used in a HubSpot form."
},
"groupName": {
"type": "string",
"example": "contactinformation",
"description": "The name of the property group the property belongs to."
},
"description": {
"type": "string",
"description": "A description of the property that will be shown as help text in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the Property to be displayed after any positive values."
},
"calculationFormula": {
"type": "string",
"description": "Represents a formula that is used to compute a calculated property."
}
}
}
PublicAssociationsForObject
{
"type": "object",
"required": [
"to",
"types"
],
"properties": {
"to": {
"$ref": "#/components/schemas/PublicObjectId"
},
"types": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssociationSpec"
}
}
}
}
PublicAuditInfo
{
"type": "object",
"required": [
"action",
"identifier",
"portalId"
],
"properties": {
"action": {
"type": "string"
},
"message": {
"type": "string"
},
"portalId": {
"type": "integer",
"format": "int32"
},
"rawObject": {
"type": "object",
"properties": {}
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"fromUserId": {
"type": "integer",
"format": "int32"
},
"identifier": {
"type": "string"
}
}
}
PublicGdprDeleteInput
{
"type": "object",
"required": [
"objectId"
],
"properties": {
"objectId": {
"type": "string"
},
"idProperty": {
"type": "string"
}
}
}
PublicImportError
{
"type": "object",
"required": [
"createdAt",
"errorType",
"id",
"sourceData"
],
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "integer",
"format": "int32"
},
"errorType": {
"enum": [
"INCORRECT_NUMBER_OF_COLUMNS",
"INVALID_OBJECT_ID",
"INVALID_ASSOCIATION_IDENTIFIER",
"NO_OBJECT_ID_FROM_ASSOCIATION_IDENTIFIER",
"MULTIPLE_COMPANIES_WITH_THIS_DOMAIN",
"PROPERTY_DEFINITION_NOT_FOUND",
"PROPERTY_VALUE_NOT_FOUND",
"COULD_NOT_FIND_OWNER",
"MULTIPLE_OWNERS_FOUND",
"COULD_NOT_FIND_BUSINESS_UNIT",
"COULD_NOT_PARSE_NUMBER",
"COULD_NOT_PARSE_DATE",
"COULD_NOT_PARSE_TERM",
"OUTSIDE_VALID_TIME_RANGE",
"OUTSIDE_VALID_TERM_RANGE",
"COULD_NOT_PARSE_ROW",
"INVALID_ENUMERATION_OPTION",
"AMBIGUOUS_ENUMERATION_OPTION",
"FAILED_VALIDATION",
"FAILED_TO_CREATE_ASSOCIATION",
"FILE_NOT_FOUND",
"INVALID_COLUMN_CONFIGURATION",
"INVALID_FILE_TYPE",
"INVALID_SPREADSHEET",
"INVALID_SHEET_COUNT",
"FAILED_TO_PROCESS_OBJECT_WITH_EMPTY_PROPERTY_VALUES",
"UNKNOWN_BAD_REQUEST",
"GDPR_BLACKLISTED_EMAIL",
"DUPLICATE_ASSOCIATION_ID",
"LIMIT_EXCEEDED",
"PORTAL_WIDE_CUSTOM_OBJECT_LIMIT_EXCEEDED",
"INVALID_ALTERNATE_ID",
"INVALID_EMAIL",
"INVALID_DOMAIN",
"DUPLICATE_ROW_CONTENT",
"INVALID_NUMBER_SIZE",
"UNKNOWN_ERROR",
"FAILED_TO_OPT_OUT_CONTACT",
"INVALID_REQUIRED_PROPERTY",
"MISSING_REQUIRED_PROPERTY",
"DUPLICATE_ALTERNATE_ID",
"DUPLICATE_OBJECT_ID",
"DUPLICATE_UNIQUE_PROPERTY_VALUE",
"BLANK_VALUE_PROVIDED",
"UNKNOWN_ASSOCIATION_RECORD_ID",
"INVALID_RECORD_ID",
"DUPLICATE_RECORD_ID",
"INVALID_CUSTOM_PROPERTY_VALIDATION",
"CREATE_ONLY_IMPORT",
"UPDATE_ONLY_IMPORT",
"COLUMN_TOO_LARGE",
"ROW_DATA_TOO_LARGE",
"INVALID_EVENT_TIMESTAMP",
"INVALID_EVENT",
"DUPLICATE_EVENT",
"MISSING_EVENT_DEFINITION"
],
"type": "string"
},
"objectType": {
"enum": [
"CONTACT",
"COMPANY",
"DEAL",
"ENGAGEMENT",
"TICKET",
"OWNER",
"PRODUCT",
"LINE_ITEM",
"BET_DELIVERABLE_SERVICE",
"CONTENT",
"CONVERSATION",
"BET_ALERT",
"PORTAL",
"QUOTE",
"FORM_SUBMISSION_INBOUNDDB",
"QUOTA",
"UNSUBSCRIBE",
"COMMUNICATION",
"FEEDBACK_SUBMISSION",
"ATTRIBUTION",
"SALESFORCE_SYNC_ERROR",
"RESTORABLE_CRM_OBJECT",
"HUB",
"LANDING_PAGE",
"PRODUCT_OR_FOLDER",
"TASK",
"FORM",
"MARKETING_EMAIL",
"AD_ACCOUNT",
"AD_CAMPAIGN",
"AD_GROUP",
"AD",
"KEYWORD",
"CAMPAIGN",
"SOCIAL_CHANNEL",
"SOCIAL_POST",
"SITE_PAGE",
"BLOG_POST",
"IMPORT",
"EXPORT",
"CTA",
"TASK_TEMPLATE",
"AUTOMATION_PLATFORM_FLOW",
"OBJECT_LIST",
"NOTE",
"MEETING_EVENT",
"CALL",
"EMAIL",
"PUBLISHING_TASK",
"CONVERSATION_SESSION",
"CONTACT_CREATE_ATTRIBUTION",
"INVOICE",
"MARKETING_EVENT",
"CONVERSATION_INBOX",
"CHATFLOW",
"MEDIA_BRIDGE",
"SEQUENCE",
"SEQUENCE_STEP",
"FORECAST",
"SNIPPET",
"TEMPLATE",
"DEAL_CREATE_ATTRIBUTION",
"QUOTE_TEMPLATE",
"QUOTE_MODULE",
"QUOTE_MODULE_FIELD",
"QUOTE_FIELD",
"SEQUENCE_ENROLLMENT",
"SUBSCRIPTION",
"ACCEPTANCE_TEST",
"SOCIAL_BROADCAST",
"DEAL_SPLIT",
"DEAL_REGISTRATION",
"GOAL_TARGET",
"GOAL_TARGET_GROUP",
"PORTAL_OBJECT_SYNC_MESSAGE",
"FILE_MANAGER_FILE",
"FILE_MANAGER_FOLDER",
"SEQUENCE_STEP_ENROLLMENT",
"APPROVAL",
"APPROVAL_STEP",
"CTA_VARIANT",
"SALES_DOCUMENT",
"DISCOUNT",
"FEE",
"TAX",
"MARKETING_CALENDAR",
"PERMISSIONS_TESTING",
"PRIVACY_SCANNER_COOKIE",
"DATA_SYNC_STATE",
"WEB_INTERACTIVE",
"PLAYBOOK",
"FOLDER",
"PLAYBOOK_QUESTION",
"PLAYBOOK_SUBMISSION",
"PLAYBOOK_SUBMISSION_ANSWER",
"COMMERCE_PAYMENT",
"GSC_PROPERTY",
"SOX_PROTECTED_DUMMY_TYPE",
"BLOG_LISTING_PAGE",
"QUARANTINED_SUBMISSION",
"PAYMENT_SCHEDULE",
"PAYMENT_SCHEDULE_INSTALLMENT",
"MARKETING_CAMPAIGN_UTM",
"DISCOUNT_TEMPLATE",
"DISCOUNT_CODE",
"FEEDBACK_SURVEY",
"CMS_URL",
"SALES_TASK",
"SALES_WORKLOAD",
"USER",
"POSTAL_MAIL",
"SCHEMAS_BACKEND_TEST",
"PAYMENT_LINK",
"SUBMISSION_TAG",
"CAMPAIGN_STEP",
"SCHEDULING_PAGE",
"SOX_PROTECTED_TEST_TYPE",
"ORDER",
"MARKETING_SMS",
"PARTNER_ACCOUNT",
"CAMPAIGN_TEMPLATE",
"CAMPAIGN_TEMPLATE_STEP",
"PLAYLIST",
"CLIP",
"CAMPAIGN_BUDGET_ITEM",
"CAMPAIGN_SPEND_ITEM",
"MIC",
"CONTENT_AUDIT",
"CONTENT_AUDIT_PAGE",
"PLAYLIST_FOLDER",
"LEAD",
"ABANDONED_CART",
"EXTERNAL_WEB_URL",
"VIEW",
"VIEW_BLOCK",
"ROSTER",
"CART",
"AUTOMATION_PLATFORM_FLOW_ACTION",
"SOCIAL_PROFILE",
"PARTNER_CLIENT",
"ROSTER_MEMBER",
"MARKETING_EVENT_ATTENDANCE",
"ALL_PAGES",
"AI_FORECAST",
"CRM_PIPELINES_DUMMY_TYPE",
"UNKNOWN"
],
"type": "string"
},
"sourceData": {
"$ref": "#/components/schemas/ImportRowCore"
},
"extraContext": {
"type": "string"
},
"invalidValue": {
"type": "string"
},
"objectTypeId": {
"type": "string"
},
"knownColumnNumber": {
"type": "integer",
"format": "int32"
}
}
}
PublicImportMetadata
{
"type": "object",
"example": {
"fileIds": [
"3579849"
],
"counters": {
"TOTAL_ROWS": 2,
"CREATED_OBJECTS": 1,
"UPDATED_OBJECTS": 1,
"UNIQUE_OBJECTS_WRITTEN": 2,
"PROPERTY_VALUES_EMITTED": 2
},
"objectLists": [
{
"listId": "3",
"objectType": "contacts"
}
]
},
"required": [
"counters",
"fileIds",
"objectLists"
],
"properties": {
"fileIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"3579849"
],
"description": "The IDs of files uploaded in the File Manager API."
},
"counters": {
"type": "object",
"example": {
"TOTAL_ROWS": 2,
"CREATED_OBJECTS": 1,
"UPDATED_OBJECTS": 1,
"UNIQUE_OBJECTS_WRITTEN": 2,
"PROPERTY_VALUES_EMITTED": 2
},
"description": "Summarized outcomes of each row a developer attempted to import into HubSpot.",
"additionalProperties": {
"type": "integer",
"format": "int32"
}
},
"objectLists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicObjectListRecord"
},
"example": [
{
"listId": "3",
"objectType": "contacts"
}
],
"description": "The lists containing the imported objects."
}
},
"description": "An object detailing a summary of the import record outputs"
}
PublicImportResponse
{
"type": "object",
"example": {
"id": "1471",
"state": "DONE",
"metadata": {
"fileIds": [
"32938649"
],
"counters": {
"TOTAL_ROWS": 1000,
"CREATED_OBJECTS": 1000,
"UNIQUE_OBJECTS_WRITTEN": 1000,
"PROPERTY_VALUES_EMITTED": 1000
},
"objectLists": [
{
"listId": "3",
"objectType": "contacts"
}
]
},
"createdAt": "2020-01-14T22:45:00.153Z",
"updatedAt": "2020-01-14T22:45:00.153Z",
"optOutImport": false
},
"required": [
"createdAt",
"id",
"metadata",
"optOutImport",
"state",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "1471"
},
"state": {
"enum": [
"STARTED",
"PROCESSING",
"DONE",
"FAILED",
"CANCELED",
"DEFERRED",
"REVERTED"
],
"type": "string",
"example": "DONE",
"description": "The status of the import."
},
"metadata": {
"$ref": "#/components/schemas/PublicImportMetadata"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"importName": {
"type": "string"
},
"importSource": {
"enum": [
"API",
"CRM_UI",
"IMPORT",
"MOBILE_ANDROID",
"MOBILE_IOS",
"SALESFORCE"
],
"type": "string"
},
"optOutImport": {
"type": "boolean",
"example": false,
"description": "Whether or not the import is a list of people disqualified from receiving emails."
},
"importTemplate": {
"$ref": "#/components/schemas/ImportTemplate"
},
"importRequestJson": {
"type": "object",
"properties": {}
}
},
"description": "A current summary of the import, whether complete or not."
}
PublicMergeInput
{
"type": "object",
"required": [
"objectIdToMerge",
"primaryObjectId"
],
"properties": {
"objectIdToMerge": {
"type": "string"
},
"primaryObjectId": {
"type": "string"
}
}
}
PublicObjectId
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}
PublicObjectListRecord
{
"type": "object",
"example": {
"listId": "3",
"objectType": "contacts"
},
"required": [
"listId",
"objectType"
],
"properties": {
"listId": {
"type": "string",
"example": "3",
"description": "The ID of the list containing the imported objects."
},
"objectType": {
"type": "string",
"example": "contacts",
"description": "The type of object contained in the list."
}
},
"description": "A summary detailing which list contains the imported objects."
}
PublicObjectSearchRequest
{
"type": "object",
"required": [
"after",
"filterGroups",
"limit",
"properties",
"sorts"
],
"properties": {
"after": {
"type": "string"
},
"limit": {
"type": "integer",
"format": "int32"
},
"query": {
"type": "string"
},
"sorts": {
"type": "array",
"items": {
"type": "string"
}
},
"properties": {
"type": "array",
"items": {
"type": "string"
}
},
"filterGroups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FilterGroup"
}
}
}
}
PublicOwner
{
"type": "object",
"example": {
"id": "6166860",
"email": "jsmith@example.com",
"teams": [
{
"id": "178588X",
"name": "West Coast Sales",
"primary": true
},
{
"id": "178590X",
"name": "California Sales",
"primary": false
}
],
"userId": 1296619,
"archived": false,
"lastName": "Smith",
"createdAt": "2019-10-30T03:30:17.883Z",
"firstName": "John",
"updatedAt": "2019-12-07T16:50:06.678Z"
},
"required": [
"archived",
"createdAt",
"id",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "6166860"
},
"email": {
"type": "string",
"example": "jsmith@example.com"
},
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicTeam"
},
"example": [
{
"id": "178588",
"name": "West Coast Sales",
"primary": true
},
{
"id": "178590",
"name": "California Sales",
"primary": false
}
]
},
"userId": {
"type": "integer",
"format": "int32",
"example": 1296619
},
"archived": {
"type": "boolean",
"example": false
},
"lastName": {
"type": "string",
"example": "Smith"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"firstName": {
"type": "string",
"example": "John"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
}
PublicTeam
{
"type": "object",
"required": [
"id",
"name",
"primary"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"primary": {
"type": "boolean"
}
}
}
RecordingSettingsPatchRequest
{
"type": "object",
"properties": {
"urlToRetrieveAuthedRecording": {
"type": "string"
}
}
}
RecordingSettingsRequest
{
"type": "object",
"required": [
"urlToRetrieveAuthedRecording"
],
"properties": {
"urlToRetrieveAuthedRecording": {
"type": "string"
}
}
}
RecordingSettingsResponse
{
"type": "object",
"required": [
"urlToRetrieveAuthedRecording"
],
"properties": {
"urlToRetrieveAuthedRecording": {
"type": "string"
}
}
}
SettingsPatchRequest
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL to your phone/calling UI, built with the [Calling SDK](#)."
},
"name": {
"type": "string",
"description": "The name of your calling service to display to users."
},
"width": {
"type": "integer",
"format": "int32",
"description": "The target width of the iframe that will contain your phone/calling UI."
},
"height": {
"type": "integer",
"format": "int32",
"description": "The target height of the iframe that will contain your phone/calling UI."
},
"isReady": {
"type": "boolean",
"description": "When true, your service will appear as an option under the *Call* action in contact records of connected accounts."
},
"supportsCustomObjects": {
"type": "boolean",
"description": "When true, you are indicating that your service is compatible with engagement v2 service and can be used with custom objects."
}
},
"description": "Settings update request"
}
SettingsRequest
{
"type": "object",
"example": {
"url": "https://www.example.com/hubspot/iframe",
"name": "HubPhone",
"width": 200,
"height": 350,
"isReady": true,
"supportsCustomObjects": true
},
"required": [
"name",
"url"
],
"properties": {
"url": {
"type": "string",
"example": "https://www.example.com/hubspot/iframe",
"description": "The URL to your phone/calling UI, built with the [Calling SDK](#)."
},
"name": {
"type": "string",
"example": "HubPhone",
"description": "The name of your calling service to display to users."
},
"width": {
"type": "integer",
"format": "int32",
"example": 200,
"description": "The target width of the iframe that will contain your phone/calling UI."
},
"height": {
"type": "integer",
"format": "int32",
"example": 350,
"description": "The target height of the iframe that will contain your phone/calling UI."
},
"isReady": {
"type": "boolean",
"example": true,
"description": "When true, your service will appear as an option under the *Call* action in contact records of connected accounts."
},
"supportsCustomObjects": {
"type": "boolean",
"example": true,
"description": "When true, you are indicating that your service is compatible with engagement v2 service and can be used with custom objects."
}
},
"description": "Settings create request"
}
SettingsResponse
{
"type": "object",
"required": [
"createdAt",
"height",
"isReady",
"name",
"supportsCustomObjects",
"updatedAt",
"url",
"width"
],
"properties": {
"url": {
"type": "string",
"description": "The URL to your phone/calling UI, built with the [Calling SDK](#)."
},
"name": {
"type": "string",
"description": "The name of your calling service to display to users."
},
"width": {
"type": "integer",
"format": "int32",
"description": "The target width of the iframe that will contain your phone/calling UI."
},
"height": {
"type": "integer",
"format": "int32",
"description": "The target height of the iframe that will contain your phone/calling UI."
},
"isReady": {
"type": "boolean",
"description": "When true, your service will appear as an option under the *Call* action in contact records of connected accounts."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "When this calling extension was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The last time the settings for this calling extension were modified."
},
"supportsCustomObjects": {
"type": "boolean",
"description": "When true, you are indicating that your service is compatible with engagement v2 service and can be used with custom objects."
}
},
"description": "Current settings state"
}
SimplePublicObject
{
"type": "object",
"example": {
"id": "512",
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_terms": "discount provided, two year term with customer",
"hs_title": "Services Proposal",
"hs_value": "2",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"createdate": "2019-10-30T03:30:17.883Z",
"hs_content": "What a great product!",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_survey_id": "5",
"hs_createdate": "2019-10-30T03:30:17.883Z",
"hs_product_id": "191902",
"property_date": "1572480000000",
"hs_survey_name": "Customer Satisfaction Survey",
"hs_survey_type": "CSAT",
"property_radio": "option_1",
"hs_ingestion_id": "fd61286d-102b-4fcc-b486-3486b4ceafc2",
"hs_quote_amount": "3000.00",
"hs_quote_number": "20200916-092813983",
"property_number": "17",
"property_string": "value",
"hubspot_owner_id": "910901",
"lastmodifieddate": "2019-12-07T16:50:06.678Z",
"hs_pipeline_stage": "open",
"hs_response_group": "PROMOTER",
"hs_survey_channel": "EMAIL",
"property_checkbox": "false",
"property_dropdown": "choice_b",
"hs_expiration_date": "2020-09-06T02:43:14.491Z",
"hs_submission_name": "Customer Satisfaction Survey - bcooper@biglytics.net",
"hs_ticket_priority": "HIGH",
"hs_lastmodifieddate": "2019-12-07T16:50:06.678Z",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24",
"property_multiple_checkboxes": "chocolate;strawberry"
}
},
"required": [
"properties",
"createdAt",
"id",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "512"
},
"archived": {
"type": "boolean",
"example": false
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"archivedAt": {
"type": "string",
"format": "date-time"
},
"properties": {
"type": "object",
"example": {
"name": "1 year implementation consultation",
"price": "6000.00",
"hs_sku": "191902",
"quantity": "2",
"description": "Onboarding service for data product",
"hs_product_id": "191902",
"property_date": "1572480000000",
"property_radio": "option_1",
"property_number": "17",
"property_string": "value",
"property_checkbox": "false",
"property_dropdown": "choice_b",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M",
"property_multiple_checkboxes": "chocolate;strawberry"
},
"additionalProperties": {
"type": "string",
"nullable": true
}
},
"propertiesWithHistory": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValueWithTimestamp"
}
}
}
}
}
SimplePublicObjectBatchInput
{
"type": "object",
"example": {
"id": "1",
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_title": "Pawnee Paper Deal",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24"
}
},
"required": [
"properties",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The id to be updated. This can be the object id, or the unique property value of the idProperty property"
},
"idProperty": {
"type": "string",
"example": "my_unique_property_name",
"description": "The name of the unique property"
},
"properties": {
"type": "object",
"example": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M"
},
"additionalProperties": {
"type": "string"
}
}
}
}
SimplePublicObjectId
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}
SimplePublicObjectInput
{
"type": "object",
"example": {
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_title": "Pawnee Paper Deal",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"property_date": "1572480000000",
"property_radio": "option_1",
"property_number": "17",
"property_string": "value",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"property_checkbox": "false",
"property_dropdown": "choice_b",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24",
"property_multiple_checkboxes": "chocolate;strawberry"
},
"associations": [
{
"to": {
"id": "101"
},
"types": [
{
"associationTypeId": 2,
"associationCategory": "HUBSPOT_DEFINED"
}
]
}
]
},
"required": [
"properties"
],
"properties": {
"properties": {
"type": "object",
"example": {
"name": "1 year implementation consultation",
"price": "6000.00",
"quantity": "2",
"description": "A new product description",
"hs_product_id": "191902",
"property_date": "1572480000000",
"property_radio": "option_1",
"property_number": "17",
"property_string": "value",
"property_checkbox": "false",
"property_dropdown": "choice_b",
"hs_cost_of_goods_sold": "700.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M",
"property_multiple_checkboxes": "chocolate;strawberry"
},
"description": "",
"additionalProperties": {
"type": "string"
}
}
}
}
SimplePublicObjectInputForCreate
{
"type": "object",
"example": {
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_title": "Pawnee Paper Deal",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24"
},
"associations": [
{
"to": {
"id": "101X"
},
"types": [
{
"associationTypeId": 2,
"associationCategory": "HUBSPOT_DEFINED"
}
]
}
]
},
"required": [
"properties",
"associations"
],
"properties": {
"properties": {
"type": "object",
"example": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M"
},
"description": "",
"additionalProperties": {
"type": "string"
}
},
"associations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicAssociationsForObject"
}
}
}
}
SimplePublicObjectWithAssociations
{
"type": "object",
"example": {
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_terms": "discount provided, two year term with customer",
"hs_title": "Services Proposal",
"hs_value": "2",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"createdate": "2019-10-30T03:30:17.883Z",
"hs_content": "What a great product!",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_survey_id": "5",
"hs_createdate": "2019-10-30T03:30:17.883Z",
"hs_product_id": "191902",
"hs_survey_name": "Customer Satisfaction Survey",
"hs_survey_type": "CSAT",
"hs_ingestion_id": "fd61286d-102b-4fcc-b486-3486b4ceafc2",
"hs_quote_amount": "3000.00",
"hs_quote_number": "20200916-092813983",
"hubspot_owner_id": "910901",
"lastmodifieddate": "2019-12-07T16:50:06.678Z",
"hs_pipeline_stage": "open",
"hs_response_group": "PROMOTER",
"hs_survey_channel": "EMAIL",
"hs_expiration_date": "2020-09-06T02:43:14.491Z",
"hs_submission_name": "Customer Satisfaction Survey - bcooper@biglytics.net",
"hs_ticket_priority": "HIGH",
"hs_lastmodifieddate": "2019-12-07T16:50:06.678Z",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24"
}
},
"required": [
"createdAt",
"id",
"properties",
"updatedAt"
],
"properties": {
"id": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"archivedAt": {
"type": "string",
"format": "date-time"
},
"properties": {
"type": "object",
"example": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"description": "A new product description",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "700.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M"
},
"additionalProperties": {
"type": "string",
"nullable": true
}
},
"associations": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/CollectionResponseAssociatedId"
}
},
"propertiesWithHistory": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValueWithTimestamp"
}
}
}
}
}
StandardError
{
"type": "object",
"required": [
"category",
"context",
"errors",
"links",
"message",
"status"
],
"properties": {
"id": {
"type": "string"
},
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorDetail"
}
},
"status": {
"type": "string"
},
"context": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"message": {
"type": "string"
},
"category": {
"type": "string"
},
"subCategory": {
"type": "object",
"properties": {}
}
}
}
TimelineEvent
{
"type": "object",
"example": {
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": 3,
"petName": "Art3mis",
"petColor": "black"
},
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
"required": [
"eventTemplateId",
"tokens"
],
"properties": {
"id": {
"type": "string",
"description": "Identifier for the event. This is optional, and we recommend you do not pass this in. We will create one for you if you omit this. You can also use `{{uuid}}` anywhere in the ID to generate a unique string, guaranteeing uniqueness."
},
"utk": {
"type": "string",
"description": "Use the `utk` parameter to associate an event with a contact by `usertoken`. This is recommended if you don't know a user's email, but have an identifying user token in your cookie."
},
"email": {
"type": "string",
"example": "art3mis-pup@petspot.com",
"description": "The email address used for contact-specific events. This can be used to identify existing contacts, create new ones, or change the email for an existing contact (if paired with the `objectId`)."
},
"domain": {
"type": "string",
"description": "The event domain (often paired with utk)."
},
"tokens": {
"type": "object",
"example": {
"petAge": 3,
"petName": "Art3mis",
"petColor": "black"
},
"description": "A collection of token keys and values associated with the template tokens.",
"additionalProperties": {
"type": "string"
}
},
"objectId": {
"type": "string",
"description": "The CRM object identifier. This is required for every event other than contacts (where utk or email can be used)."
},
"extraData": {
"type": "object",
"example": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"properties": {},
"description": "Additional event-specific data that can be interpreted by the template's markdown."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The time the event occurred. If not passed in, the curren time will be assumed. This is used to determine where an event is shown on a CRM object's timeline."
},
"timelineIFrame": {
"$ref": "#/components/schemas/TimelineEventIFrame"
},
"eventTemplateId": {
"type": "string",
"example": "1001298",
"description": "The event template ID."
}
},
"description": "The state of the timeline event."
}
TimelineEventIFrame
{
"type": "object",
"example": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"required": [
"headerLabel",
"height",
"linkLabel",
"url",
"width"
],
"properties": {
"url": {
"type": "string",
"example": "https://my.petspot.com/pets/Art3mis",
"description": "The URI of the iframe contents."
},
"width": {
"type": "integer",
"format": "int32",
"example": 600,
"description": "The width of the modal window in pixels."
},
"height": {
"type": "integer",
"format": "int32",
"example": 400,
"description": "The height of the modal window in pixels."
},
"linkLabel": {
"type": "string",
"example": "View Art3mis",
"description": "The text displaying the link that will display the iframe."
},
"headerLabel": {
"type": "string",
"example": "Art3mis dog",
"description": "The label of the modal window that displays the iframe contents."
}
}
}
TimelineEventResponse
{
"type": "object",
"example": {
"id": "petspot:1001298:art3mis-pup@petspot.com-004-invalid",
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": "3",
"petName": "Art3mis",
"petColor": "black"
},
"objectId": "28001",
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timestamp": "2020-01-30T18:37:15.569Z",
"objectType": "contacts",
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
"required": [
"eventTemplateId",
"id",
"objectType",
"tokens"
],
"properties": {
"id": {
"type": "string",
"example": "petspot:1001298:art3mis-pup@petspot.com-004-invalid",
"description": "Identifier for the event. This should be unique to the app and event template. If you use the same ID for different CRM objects, the last to be processed will win and the first will not have a record. You can also use `{{uuid}}` anywhere in the ID to generate a unique string, guaranteeing uniqueness."
},
"utk": {
"type": "string",
"description": "Use the `utk` parameter to associate an event with a contact by `usertoken`. This is recommended if you don't know a user's email, but have an identifying user token in your cookie."
},
"email": {
"type": "string",
"example": "art3mis-pup@petspot.com",
"description": "The email address used for contact-specific events. This can be used to identify existing contacts, create new ones, or change the email for an existing contact (if paired with the `objectId`)."
},
"domain": {
"type": "string",
"description": "The event domain (often paired with utk)."
},
"tokens": {
"type": "object",
"example": {
"petAge": "3",
"petName": "Art3mis",
"petColor": "black"
},
"description": "A collection of token keys and values associated with the template tokens.",
"additionalProperties": {
"type": "string"
}
},
"objectId": {
"type": "string",
"example": "28001",
"description": "The CRM object identifier. This is required for every event other than contacts (where utk or email can be used)."
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"extraData": {
"type": "object",
"example": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"properties": {},
"description": "Additional event-specific data that can be interpreted by the template's markdown."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The time the event occurred. If not passed in, the curren time will be assumed. This is used to determine where an event is shown on a CRM object's timeline."
},
"objectType": {
"type": "string",
"example": "contacts",
"description": "The ObjectType associated with the EventTemplate."
},
"timelineIFrame": {
"$ref": "#/components/schemas/TimelineEventIFrame"
},
"eventTemplateId": {
"type": "string",
"example": "1001298",
"description": "The event template ID."
}
},
"description": "The current state of the timeline event."
}
TimelineEventTemplate
{
"type": "object",
"required": [
"id",
"name",
"objectType",
"tokens"
],
"properties": {
"id": {
"type": "string",
"description": "The template ID."
},
"name": {
"type": "string",
"description": "The template name."
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplateToken"
},
"description": "A collection of tokens that can be used as custom properties on the event and to create fully fledged CRM objects."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The date and time that the Event Template was created, as an ISO 8601 timestamp. Will be null if the template was created before Feb 18th, 2020."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The date and time that the Event Template was last updated, as an ISO 8601 timestamp. Will be null if the template was created before Feb 18th, 2020."
},
"objectType": {
"type": "string",
"description": "The type of CRM object this template is for. [Contacts, companies, tickets, and deals] are supported."
},
"detailTemplate": {
"type": "string",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline when you expand the details."
},
"headerTemplate": {
"type": "string",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline as a header."
}
},
"description": "The current state of the template definition."
}
TimelineEventTemplateCreateRequest
{
"type": "object",
"example": {
"name": "PetSpot Registration",
"tokens": [
{
"name": "petName",
"type": "string",
"label": "Pet Name"
},
{
"name": "petAge",
"type": "number",
"label": "Pet Age"
},
{
"name": "petColor",
"type": "enumeration",
"label": "Pet Color",
"options": [
{
"label": "White",
"value": "white"
},
{
"label": "Black",
"value": "black"
},
{
"label": "Brown",
"value": "brown"
},
{
"label": "Other",
"value": "other"
}
]
}
],
"objectType": "contacts",
"detailTemplate": "Registration occurred at {{#formatDate timestamp}}{{/formatDate}}\n\n#### Questions\n{{#each extraData.questions}}\n **{{question}}**: {{answer}}\n{{/each}}",
"headerTemplate": "Registered for [{{petName}}](https://my.petspot.com/pets/{{petName}})"
},
"required": [
"name",
"objectType",
"tokens"
],
"properties": {
"name": {
"type": "string",
"example": "PetSpot Registration",
"description": "The template name."
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplateToken"
},
"example": [
{
"name": "petName",
"type": "string",
"label": "Pet Name"
},
{
"name": "petAge",
"type": "number",
"label": "Pet Age"
},
{
"name": "petColor",
"type": "enumeration",
"label": "Pet Color",
"options": [
{
"label": "White",
"value": "white"
},
{
"label": "Black",
"value": "black"
},
{
"label": "Brown",
"value": "brown"
},
{
"label": "Other",
"value": "other"
}
]
}
],
"description": "A collection of tokens that can be used as custom properties on the event and to create fully fledged CRM objects."
},
"objectType": {
"type": "string",
"example": "contacts",
"description": "The type of CRM object this template is for. [Contacts, companies, tickets, and deals] are supported."
},
"detailTemplate": {
"type": "string",
"example": "Registration occurred at {{#formatDate timestamp}}{{/formatDate}}\n\n#### Questions\n{{#each extraData.questions}}\n **{{question}}**: {{answer}}\n{{/each}}",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline when you expand the details."
},
"headerTemplate": {
"type": "string",
"example": "Registered for [{{petName}}](https://my.petspot.com/pets/{{petName}})",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline as a header."
}
},
"description": "State of the template definition being created."
}
TimelineEventTemplateToken
{
"type": "object",
"example": {
"name": "petType",
"type": "enumeration",
"label": "Pet Type",
"options": [
{
"label": "Dog",
"value": "dog"
},
{
"label": "Cat",
"value": "cat"
}
],
"createdAt": "2020-02-12T20:58:26Z",
"updatedAt": "2020-02-12T20:58:26Z",
"objectPropertyName": "customPropertyPetType"
},
"required": [
"label",
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"example": "petType",
"description": "The name of the token referenced in the templates. This must be unique for the specific template. It may only contain alphanumeric characters, periods, dashes, or underscores (. - _)."
},
"type": {
"enum": [
"date",
"enumeration",
"number",
"string"
],
"type": "string",
"example": "enumeration",
"description": "The data type of the token. You can currently choose from [string, number, date, enumeration]."
},
"label": {
"type": "string",
"example": "Pet Type",
"description": "Used for list segmentation and reporting."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplateTokenOption"
},
"example": [
{
"label": "Dog",
"value": "dog"
},
{
"label": "Cat",
"value": "cat"
}
],
"description": "If type is `enumeration`, we should have a list of options to choose from."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The date and time that the Event Template Token was created, as an ISO 8601 timestamp. Will be null if the template was created before Feb 18th, 2020."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The date and time that the Event Template Token was last updated, as an ISO 8601 timestamp. Will be null if the template was created before Feb 18th, 2020."
},
"objectPropertyName": {
"type": "string",
"example": "customPropertyPetType",
"description": "The name of the CRM object property. This will populate the CRM object property associated with the event. With enough of these, you can fully build CRM objects via the Timeline API."
}
},
"description": "State of the token definition."
}
TimelineEventTemplateTokenOption
{
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
TimelineEventTemplateTokenUpdateRequest
{
"type": "object",
"example": {
"label": "petType edit",
"options": [
{
"label": "Dog",
"value": "dog"
},
{
"label": "Cat",
"value": "cat"
},
{
"label": "Bird",
"value": "bird"
}
]
},
"required": [
"label"
],
"properties": {
"label": {
"type": "string",
"example": "petType edit",
"description": "Used for list segmentation and reporting."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplateTokenOption"
},
"example": [
{
"label": "Dog",
"value": "dog"
},
{
"label": "Cat",
"value": "cat"
},
{
"label": "Bird",
"value": "bird"
}
],
"description": "If type is `enumeration`, we should have a list of options to choose from."
},
"objectPropertyName": {
"type": "string",
"description": "The name of the CRM object property. This will populate the CRM object property associated with the event. With enough of these, you can fully build CRM objects via the Timeline API."
}
},
"description": "State of the token definition for update requests."
}
TimelineEventTemplateUpdateRequest
{
"type": "object",
"example": {
"id": "1001298X",
"name": "PetSpot Registration",
"tokens": [
{
"name": "petName",
"type": "string",
"label": "Pet Name",
"objectPropertyName": "firstname"
},
{
"name": "petAge",
"type": "number",
"label": "Pet Age"
},
{
"name": "petColor",
"type": "enumeration",
"label": "Pet Color",
"options": [
{
"label": "White",
"value": "white"
},
{
"label": "Black",
"value": "black"
},
{
"label": "Brown",
"value": "brown"
},
{
"label": "Yellow",
"value": "yellow"
},
{
"label": "Other",
"value": "other"
}
]
}
],
"detailTemplate": "Registration occurred at {{#formatDate timestamp}}{{/formatDate}}\n\n#### Questions\n{{#each extraData.questions}}\n **{{question}}**: {{answer}}\n{{/each}}\n\nEDIT",
"headerTemplate": "Registered for [{{petName}}](https://my.petspot.com/pets/{{petName}})"
},
"required": [
"id",
"name",
"tokens"
],
"properties": {
"id": {
"type": "string",
"example": "1001298",
"description": "The template ID."
},
"name": {
"type": "string",
"example": "PetSpot Registration",
"description": "The template name."
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplateToken"
},
"example": [
{
"name": "petName",
"type": "string",
"label": "Pet Name",
"objectPropertyName": "firstname"
},
{
"name": "petAge",
"type": "number",
"label": "Pet Age"
},
{
"name": "petColor",
"type": "enumeration",
"label": "Pet Color",
"options": [
{
"label": "White",
"value": "white"
},
{
"label": "Black",
"value": "black"
},
{
"label": "Brown",
"value": "brown"
},
{
"label": "Yellow",
"value": "yellow"
},
{
"label": "Other",
"value": "other"
}
]
}
],
"description": "A collection of tokens that can be used as custom properties on the event and to create fully fledged CRM objects."
},
"detailTemplate": {
"type": "string",
"example": "Registration occurred at {{#formatDate timestamp}}{{/formatDate}}\n\n#### Questions\n{{#each extraData.questions}}\n **{{question}}**: {{answer}}\n{{/each}}\n\nEDIT",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline when you expand the details."
},
"headerTemplate": {
"type": "string",
"example": "Registered for [{{petName}}](https://my.petspot.com/pets/{{petName}})",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline as a header."
}
},
"description": "State of the template definition being updated."
}
ValueWithTimestamp
{
"type": "object",
"required": [
"sourceType",
"timestamp",
"value"
],
"properties": {
"value": {
"type": "string"
},
"sourceId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"sourceType": {
"type": "string"
},
"sourceLabel": {
"type": "string"
},
"updatedByUserId": {
"type": "integer",
"format": "int32"
}
}
}