HubSpot CRM

CRM and marketing platform

developers.hubspot.com/docs/api ↗
Version
v3
OpenAPI
3.0.1
Endpoints
172
Schemas
104
67
Quality
Updated
3 days ago
Crm crm marketing sales
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.hubapi.com

Endpoints

Basic 45 endpoints

GET /crm/v3/objects/companies

Read a page of companies. Control what is returned via the properties query param.

operationId: Basic_listCompaniesPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/companies
POST /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.

operationId: Basic_createCompanyObject

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/companies
DELETE /crm/v3/objects/companies/{companyId}

Move an Object identified by {companyId} to the recycling bin.

operationId: Basic_archiveCompany

Parameters

Name In Required Type Description
companyId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/companies/{companyId}
GET /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.

operationId: Basic_readCompanyObject

Parameters

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

Responses

default
200

successful operation

GET /crm/v3/objects/companies/{companyId}
PATCH /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.

operationId: Basic_updateCompanyObject

Parameters

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

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/companies/{companyId}
GET /crm/v3/objects/contacts

Read a page of contacts. Control what is returned via the properties query param.

operationId: Basic_listContactsPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/contacts
POST /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.

operationId: Basic_createContactObject

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/contacts
DELETE /crm/v3/objects/contacts/{contactId}

Move an Object identified by {contactId} to the recycling bin.

operationId: Basic_archiveContact

Parameters

Name In Required Type Description
contactId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/contacts/{contactId}
GET /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.

operationId: Basic_readContactById

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/contacts/{contactId}
PATCH /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.

operationId: Basic_updateContactObject

Parameters

Name In Required Type Description
contactId path required string

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/contacts/{contactId}
GET /crm/v3/objects/deals

Read a page of deals. Control what is returned via the properties query param.

operationId: Basic_getDealsPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/deals
POST /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.

operationId: Basic_createDealObject

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/deals
DELETE /crm/v3/objects/deals/{dealId}

Move an Object identified by {dealId} to the recycling bin.

operationId: Basic_archiveDealObject

Parameters

Name In Required Type Description
dealId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/deals/{dealId}
GET /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.

operationId: Basic_readDealById

Parameters

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

Responses

default
200

successful operation

GET /crm/v3/objects/deals/{dealId}
PATCH /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.

operationId: Basic_updateDealObject

Parameters

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

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/deals/{dealId}
GET /crm/v3/objects/feedback_submissions

Read a page of feedback submissions. Control what is returned via the properties query param.

operationId: Basic_listFeedbackSubmissionsPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/feedback_submissions
POST /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.

operationId: Basic_createFeedbackSubmission

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/feedback_submissions
DELETE /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}

Move an Object identified by {feedbackSubmissionId} to the recycling bin.

operationId: Basic_archiveFeedbackSubmission

Parameters

Name In Required Type Description
feedbackSubmissionId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
GET /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.

operationId: Basic_readFeedbackSubmission

Parameters

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

Responses

default
200

successful operation

GET /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
PATCH /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.

operationId: Basic_updateFeedbackSubmission

Parameters

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

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
GET /crm/v3/objects/line_items

Read a page of line items. Control what is returned via the properties query param.

operationId: Basic_listLineItemsPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/line_items
POST /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.

operationId: Basic_createLineItemObject

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/line_items
DELETE /crm/v3/objects/line_items/{lineItemId}

Move an Object identified by {lineItemId} to the recycling bin.

operationId: Basic_archiveLineItem

Parameters

Name In Required Type Description
lineItemId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/line_items/{lineItemId}
GET /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.

operationId: Basic_readLineItemById

Parameters

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

Responses

default
200

successful operation

GET /crm/v3/objects/line_items/{lineItemId}
PATCH /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.

operationId: Basic_updateLineItemObject

Parameters

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

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/line_items/{lineItemId}
GET /crm/v3/objects/products

Read a page of products. Control what is returned via the properties query param.

operationId: Basic_listProductsPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/products
POST /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.

operationId: Basic_createProductObject

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/products
DELETE /crm/v3/objects/products/{productId}

Move an Object identified by {productId} to the recycling bin.

operationId: Basic_archiveProduct

Parameters

Name In Required Type Description
productId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/products/{productId}
GET /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.

operationId: Basic_readProductById

Parameters

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

Responses

default
200

successful operation

GET /crm/v3/objects/products/{productId}
PATCH /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.

operationId: Basic_updateProduct

Parameters

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

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/products/{productId}
GET /crm/v3/objects/quotes

Read a page of quotes. Control what is returned via the properties query param.

operationId: Basic_listQuotesPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/quotes
POST /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.

operationId: Basic_createQuoteObject

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/quotes
DELETE /crm/v3/objects/quotes/{quoteId}

Move an Object identified by {quoteId} to the recycling bin.

operationId: Basic_archiveQuoteObject

Parameters

Name In Required Type Description
quoteId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/quotes/{quoteId}
GET /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.

operationId: Basic_readQuoteById

Parameters

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

Responses

default
200

successful operation

GET /crm/v3/objects/quotes/{quoteId}
PATCH /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.

operationId: Basic_updateQuoteObject

Parameters

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

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/quotes/{quoteId}
GET /crm/v3/objects/tickets

Read a page of tickets. Control what is returned via the properties query param.

operationId: Basic_listTicketsPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/tickets
POST /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.

operationId: Basic_createTicketObject

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/tickets
DELETE /crm/v3/objects/tickets/{ticketId}

Move an Object identified by {ticketId} to the recycling bin.

operationId: Basic_archiveTicket

Parameters

Name In Required Type Description
ticketId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/tickets/{ticketId}
GET /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.

operationId: Basic_readTicketById

Parameters

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

Responses

default
200

successful operation

GET /crm/v3/objects/tickets/{ticketId}
PATCH /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.

operationId: Basic_updateTicketObject

Parameters

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

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/tickets/{ticketId}
GET /crm/v3/objects/{objectType}

Read a page of objects. Control what is returned via the properties query param.

operationId: Basic_listObjectsPage

Parameters

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.

Responses

default
200

successful operation

GET /crm/v3/objects/{objectType}
POST /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.

operationId: Basic_createCRMObject

Parameters

Name In Required Type Description
objectType path required string

Request Body

required
application/json
schema SimplePublicObjectInputForCreate
Property Type Required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

POST /crm/v3/objects/{objectType}
DELETE /crm/v3/objects/{objectType}/{objectId}

Move an Object identified by {objectId} to the recycling bin.

operationId: Basic_archiveObject

Parameters

Name In Required Type Description
objectType path required string
objectId path required string

Responses

default
204

No content

DELETE /crm/v3/objects/{objectType}/{objectId}
GET /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.

operationId: Basic_readObjectById

Parameters

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

Responses

default
200

successful operation

GET /crm/v3/objects/{objectType}/{objectId}
PATCH /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.

operationId: Basic_updateObject

Parameters

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

Request Body

required
application/json
schema SimplePublicObjectInput
Property Type Required
properties object required

Responses

default
200

successful operation

PATCH /crm/v3/objects/{objectType}/{objectId}

Batch 5 endpoints

POST /crm/v3/objects/companies/batch/archive
operationId: Batch_archiveCompaniesByIdBatch

Request Body

required
application/json
schema BatchInputSimplePublicObjectId
Property Type Required
inputs array required
id string required

Responses

default
204

No content

POST /crm/v3/objects/companies/batch/archive
POST /crm/v3/objects/companies/batch/create
operationId: Batch_createCompaniesBatch

Request Body

required
application/json
schema BatchInputSimplePublicObjectInputForCreate
Property Type Required
inputs array required
properties object required
associations array required
to object required
id string required
types array required
associationTypeId integer required
associationCategory string required

Responses

default
201

successful operation

207

multiple statuses

POST /crm/v3/objects/companies/batch/create
POST /crm/v3/objects/companies/batch/read
operationId: Batch_readCompaniesByProperties

Parameters

Name In Required Type Description
archived query optional boolean

Whether to return only results that have been archived.

Request Body

required
application/json
schema BatchReadInputSimplePublicObjectId
Property Type Required
inputs array required
id string required
idProperty string optional
properties array required
propertiesWithHistory array required

Responses

default
200

successful operation

207

multiple statuses

POST /crm/v3/objects/companies/batch/read
POST /crm/v3/objects/companies/batch/update
operationId: Batch_updateCompaniesBatch

Request Body

required
application/json
schema BatchInputSimplePublicObjectBatchInput
Property Type Required
inputs array required
id string required
idProperty string optional
properties object required

Responses

default
200

successful operation

207

multiple statuses

POST /crm/v3/objects/companies/batch/update
POST /crm/v3/objects/contacts/batch/archive
operationId: Batch_archiveContactsByIdBatch

Request Body

required
application/json
schema BatchInputSimplePublicObjectId
Property Type Required
inputs array required
id string required

Responses

default
204

No content

POST /crm/v3/objects/contacts/batch/archive

Schemas

object 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"
    }
  }
}
object AssociatedId
{
  "type": "object",
  "required": [
    "id",
    "type"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  }
}
object 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."
}
object 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."
}
object AssociationSpec
{
  "type": "object",
  "required": [
    "associationCategory",
    "associationTypeId"
  ],
  "properties": {
    "associationTypeId": {
      "type": "integer",
      "format": "int32"
    },
    "associationCategory": {
      "enum": [
        "HUBSPOT_DEFINED",
        "USER_DEFINED",
        "INTEGRATOR_DEFINED"
      ],
      "type": "string"
    }
  }
}
object BatchInputPropertyCreate
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PropertyCreate"
      }
    }
  }
}
object BatchInputPropertyName
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PropertyName"
      }
    }
  }
}
object BatchInputSimplePublicObjectBatchInput
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectBatchInput"
      }
    }
  }
}
object BatchInputSimplePublicObjectId
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectId"
      }
    }
  }
}
object BatchInputSimplePublicObjectInputForCreate
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
      }
    }
  }
}
object 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."
}
object BatchReadInputPropertyName
{
  "type": "object",
  "required": [
    "archived",
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PropertyName"
      }
    },
    "archived": {
      "type": "boolean"
    }
  }
}
object 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"
      }
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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."
}
object 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"
    }
  }
}
object CollectionResponseAssociatedId
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/Paging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssociatedId"
      }
    }
  }
}
object CollectionResponseObjectSchemaNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ObjectSchema"
      }
    }
  }
}
object CollectionResponsePipelineNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Pipeline"
      }
    }
  }
}
object CollectionResponsePipelineStageNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PipelineStage"
      }
    }
  }
}
object CollectionResponsePropertyGroupNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PropertyGroup"
      }
    }
  }
}
object CollectionResponsePropertyNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Property"
      }
    }
  }
}
object CollectionResponsePublicAuditInfoNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PublicAuditInfo"
      }
    }
  }
}
object CollectionResponsePublicImportErrorForwardPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/ForwardPaging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PublicImportError"
      }
    }
  }
}
object CollectionResponsePublicImportResponse
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/Paging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PublicImportResponse"
      }
    }
  }
}
object CollectionResponsePublicOwnerForwardPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/ForwardPaging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PublicOwner"
      }
    }
  }
}
object CollectionResponseSimplePublicObjectWithAssociationsForwardPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/ForwardPaging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectWithAssociations"
      }
    }
  }
}
object CollectionResponseTimelineEventTemplateNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimelineEventTemplate"
      }
    }
  }
}
object 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"
      }
    }
  }
}
object 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."
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object EventDetail
{
  "type": "object",
  "example": {
    "details": "<p>Registration occurred at Jan 30, 2020, 1:13:25 PM</p><h4>Questions</h4><p><strong>Who&#x27;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&#x27;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."
}
object 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"
    }
  }
}
string EventsRenderingHtmlResponse
{
  "type": "string"
}
object 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."
}
object 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"
    }
  }
}
object FilterGroup
{
  "type": "object",
  "required": [
    "filters"
  ],
  "properties": {
    "filters": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Filter"
      }
    }
  }
}
object ForwardPaging
{
  "type": "object",
  "properties": {
    "next": {
      "$ref": "#/components/schemas/NextPage"
    }
  }
}
object 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"
    }
  }
}
object ImportTemplate
{
  "type": "object",
  "required": [
    "templateId",
    "templateType"
  ],
  "properties": {
    "templateId": {
      "type": "integer",
      "format": "int32"
    },
    "templateType": {
      "enum": [
        "admin_defined",
        "previous_import",
        "user_file"
      ],
      "type": "string"
    }
  }
}
object 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"
    }
  }
}
object 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."
}
object 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."
}
object 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."
}
object 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."
}
object 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."
}