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

Clear filters

Basic 9 endpoints

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
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
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
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
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
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
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
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
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}

Batch 39 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
POST /crm/v3/objects/contacts/batch/create
operationId: Batch_createContacts

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/contacts/batch/create
POST /crm/v3/objects/contacts/batch/read
operationId: Batch_readContactsByProperties

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/contacts/batch/read
POST /crm/v3/objects/contacts/batch/update
operationId: Batch_updateContactsBatch

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/contacts/batch/update
POST /crm/v3/objects/deals/batch/archive
operationId: Batch_archiveDealsByIds

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/deals/batch/archive
POST /crm/v3/objects/deals/batch/create
operationId: Batch_createDealsObject

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/deals/batch/create
POST /crm/v3/objects/deals/batch/read
operationId: Batch_readDealsByInternalIdOrPropertyValues

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/deals/batch/read
POST /crm/v3/objects/deals/batch/update
operationId: Batch_updateDealsObjects

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/deals/batch/update
POST /crm/v3/objects/feedback_submissions/batch/archive
operationId: Batch_archiveFeedbackSubmissionsById

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/feedback_submissions/batch/archive
POST /crm/v3/objects/feedback_submissions/batch/create
operationId: Batch_createFeedbackSubmissions

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/feedback_submissions/batch/create
POST /crm/v3/objects/feedback_submissions/batch/read
operationId: Batch_readFeedbackSubmissions

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/feedback_submissions/batch/read
POST /crm/v3/objects/feedback_submissions/batch/update
operationId: Batch_updateFeedbackSubmissions

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/feedback_submissions/batch/update
POST /crm/v3/objects/line_items/batch/archive
operationId: Batch_archiveLineItemsByIds

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/line_items/batch/archive
POST /crm/v3/objects/line_items/batch/create
operationId: Batch_lineItemsCreateBatch

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/line_items/batch/create
POST /crm/v3/objects/line_items/batch/read
operationId: Batch_readLineItems

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/line_items/batch/read
POST /crm/v3/objects/line_items/batch/update
operationId: Batch_updateLineItems

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/line_items/batch/update
POST /crm/v3/objects/products/batch/archive
operationId: Batch_archiveProductsByIds

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/products/batch/archive
POST /crm/v3/objects/products/batch/create
operationId: Batch_createProductsBatch

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/products/batch/create
POST /crm/v3/objects/products/batch/read
operationId: Batch_readByProperties

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/products/batch/read
POST /crm/v3/objects/products/batch/update
operationId: Batch_updateProductsBatch

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/products/batch/update
POST /crm/v3/objects/quotes/batch/archive
operationId: Batch_archiveQuotesByIdBatch

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/quotes/batch/archive
POST /crm/v3/objects/quotes/batch/create
operationId: Batch_createQuotesBatch

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/quotes/batch/create
POST /crm/v3/objects/quotes/batch/read
operationId: Batch_readQuotesByPropertyValues

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/quotes/batch/read
POST /crm/v3/objects/quotes/batch/update
operationId: Batch_updateQuotesBatch

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/quotes/batch/update
POST /crm/v3/objects/tickets/batch/archive
operationId: Batch_archiveTicketsById

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/tickets/batch/archive
POST /crm/v3/objects/tickets/batch/create
operationId: Batch_ticketCreationBatch

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/tickets/batch/create
POST /crm/v3/objects/tickets/batch/read
operationId: Batch_readTicketsByProperties

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/tickets/batch/read
POST /crm/v3/objects/tickets/batch/update
operationId: Batch_updateTicketsBatch

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/tickets/batch/update
POST /crm/v3/objects/{objectType}/batch/archive
operationId: Batch_archiveObjectsById

Parameters

Name In Required Type Description
objectType path required string

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/{objectType}/batch/archive
POST /crm/v3/objects/{objectType}/batch/create
operationId: Batch_createObjects

Parameters

Name In Required Type Description
objectType path required string

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/{objectType}/batch/create
POST /crm/v3/objects/{objectType}/batch/read
operationId: Batch_readObjectsByInternalIdOrPropertyValues

Parameters

Name In Required Type Description
objectType path required string
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/{objectType}/batch/read
POST /crm/v3/objects/{objectType}/batch/update
operationId: Batch_updateObjectsByInternalIdOrPropertyValues

Parameters

Name In Required Type Description
objectType path required string

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/{objectType}/batch/update
POST /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).

operationId: Batch_archiveProperties

Parameters

Name In Required Type Description
objectType path required string

Request Body

required
application/json
schema BatchInputPropertyName
Property Type Required
inputs array required
name string required

Responses

default
204

No content

POST /crm/v3/properties/{objectType}/batch/archive
POST /crm/v3/properties/{objectType}/batch/create

Create a batch of properties using the same rules as when creating an individual property.

operationId: Batch_propertiesCreateBatch

Parameters

Name In Required Type Description
objectType path required string

Request Body

required
application/json
schema BatchInputPropertyCreate
Property Type Required
inputs array required
name string required
type string required
label string required
hidden boolean optional
options array optional
label string required
value string required
hidden boolean required
description string optional
displayOrder integer required
fieldType string required
formField boolean optional
groupName string required
description string optional
displayOrder integer optional
hasUniqueValue boolean optional
externalOptions boolean optional
calculationFormula string optional
referencedObjectType string optional

Responses

default
201

successful operation

207

multiple statuses

POST /crm/v3/properties/{objectType}/batch/create
POST /crm/v3/properties/{objectType}/batch/read

Read a provided list of properties.

operationId: Batch_readProperties

Parameters

Name In Required Type Description
objectType path required string

Request Body

required
application/json
schema BatchReadInputPropertyName
Property Type Required
inputs array required
name string required
archived boolean required

Responses

default
200

successful operation

207

multiple statuses

POST /crm/v3/properties/{objectType}/batch/read

Core 5 endpoints

POST /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.

operationId: Core_startImport

Request Body

multipart/form-data
schema CoreStartImportRequest
Property Type Required
files string optional
importRequest string optional

Responses

default
200

successful operation

POST /crm/v3/imports
POST /crm/v3/imports/{importId}/cancel

This allows a developer to cancel an active import.

operationId: Core_cancelImport

Parameters

Name In Required Type Description
importId path required integer

Responses

default
200

successful operation

POST /crm/v3/imports/{importId}/cancel
POST /crm/v3/properties/{objectType}

Create and return a copy of a new property for the specified object type.

operationId: Core_createProperty

Parameters

Name In Required Type Description
objectType path required string

Request Body

required
application/json
schema PropertyCreate
Property Type Required
name string required
type string required
label string required
hidden boolean optional
options array optional
label string required
value string required
hidden boolean required
description string optional
displayOrder integer required
fieldType string required
formField boolean optional
groupName string required
description string optional
displayOrder integer optional
hasUniqueValue boolean optional
externalOptions boolean optional
calculationFormula string optional
referencedObjectType string optional

Responses

default
201

successful operation

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

operationId: Core_defineObjectSchema

Request Body

required

Object schema definition, including properties and associations.

application/json
schema ObjectSchemaEgg
Property Type Required
name string required
labels object required
plural string optional
singular string optional
properties array required
name string required
type string required
label string required
hidden boolean optional
options array optional
label string required
value string required
hidden boolean required
description string optional
displayOrder integer required
fieldType string required
formField boolean optional
groupName string optional
description string optional
displayOrder integer optional
hasUniqueValue boolean optional
textDisplayHint string optional
numberDisplayHint string optional
optionSortStrategy string optional
showCurrencySymbol boolean optional
referencedObjectType string optional
searchableInGlobalSearch boolean optional
description string optional
associatedObjects array required
requiredProperties array required
searchableProperties array optional
primaryDisplayProperty string optional
secondaryDisplayProperties array optional

Responses

default
201

successful operation

POST /crm/v3/schemas
POST /crm/v3/schemas/{objectType}/associations

Defines a new association between the primary schema’s object type and other object types.

operationId: Core_createAssociation

Parameters

Name In Required Type Description
objectType path required string

Fully qualified name or object type ID of your schema.

Request Body

required

Attributes that define the association.

application/json
schema AssociationDefinitionEgg
Property Type Required
name string optional
toObjectTypeId string required
fromObjectTypeId string required

Responses

default
201

successful operation

POST /crm/v3/schemas/{objectType}/associations

Events 2 endpoints

POST /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.

operationId: Events_createSingleEvent

Request Body

required

The timeline event definition.

application/json
schema TimelineEvent
Property Type Required
id string optional
utk string optional
email string optional
domain string optional
tokens object required
objectId string optional
extraData object optional
timestamp string optional
timelineIFrame object optional
url string required
width integer required
height integer required
linkLabel string required
headerLabel string required
eventTemplateId string required

Responses

default
201

successful operation

POST /crm/v3/timeline/events
POST /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.

operationId: Events_createMultipleBatch

Request Body

required

The timeline event definition.

application/json
schema BatchInputTimelineEvent
Property Type Required
inputs array required
id string optional
utk string optional
email string optional
domain string optional
tokens object required
objectId string optional
extraData object optional
timestamp string optional
timelineIFrame object optional
url string required
width integer required
height integer required
linkLabel string required
headerLabel string required
eventTemplateId string required

Responses

default
200
201

successful operation

207

multiple statuses

POST /crm/v3/timeline/events/batch/create

Gdpr 8 endpoints

POST /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.

operationId: Gdpr_permanentlyDeleteContact

Request Body

required
application/json
schema PublicGdprDeleteInput
Property Type Required
objectId string required
idProperty string optional

Responses

default
204

No content

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

operationId: Gdpr_permanentlyDeleteContact

Request Body

required
application/json
schema PublicGdprDeleteInput
Property Type Required
objectId string required
idProperty string optional

Responses

default
204

No content

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

operationId: Gdpr_permanentlyDeleteDeal

Request Body

required
application/json
schema PublicGdprDeleteInput
Property Type Required
objectId string required
idProperty string optional

Responses

default
204

No content

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

operationId: Gdpr_permanentlyDeleteContact

Request Body

required
application/json
schema PublicGdprDeleteInput
Property Type Required
objectId string required
idProperty string optional

Responses

default
204

No content

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

operationId: Gdpr_deleteContactContent

Request Body

required
application/json
schema PublicGdprDeleteInput
Property Type Required
objectId string required
idProperty string optional

Responses

default
204

No content

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

operationId: Gdpr_deleteContact

Request Body

required
application/json
schema PublicGdprDeleteInput
Property Type Required
objectId string required
idProperty string optional

Responses

default
204

No content

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

operationId: Gdpr_permanentlyDeleteContact

Request Body

required
application/json
schema PublicGdprDeleteInput
Property Type Required
objectId string required
idProperty string optional

Responses

default
204

No content

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

operationId: Gdpr_permanentlyDeleteContact

Request Body

required
application/json
schema PublicGdprDeleteInput
Property Type Required
objectId string required
idProperty string optional

Responses

default
204

No content

POST /crm/v3/objects/tickets/gdpr-delete

Groups 1 endpoints

POST /crm/v3/properties/{objectType}/groups

Create and return a copy of a new property group.

operationId: Groups_createCopy

Parameters

Name In Required Type Description
objectType path required string

Request Body

required
application/json
schema PropertyGroupCreate
Property Type Required
name string required
label string required
displayOrder integer optional

Responses

default
201

successful operation

POST /crm/v3/properties/{objectType}/groups

Pipelinestages 1 endpoints

POST /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.

operationId: PipelineStages_createStageObject

Parameters

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

Request Body

required
application/json
schema PipelineStageInput
Property Type Required
label string required
metadata object required
displayOrder integer required

Responses

default
201

successful operation

POST /crm/v3/pipelines/{objectType}/{pipelineId}/stages

Pipelines 1 endpoints

POST /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.

operationId: Pipelines_createNewPipelineObject

Parameters

Name In Required Type Description
objectType path required string

Request Body

required
application/json
schema PipelineInput
Property Type Required
label string required
stages array required
label string required
metadata object required
displayOrder integer required
displayOrder integer required

Responses

default
201

successful operation

POST /crm/v3/pipelines/{objectType}

Publicobject 9 endpoints

POST /crm/v3/objects/companies/merge
operationId: PublicObject_mergeCompaniesSameType

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/companies/merge
POST /crm/v3/objects/contacts/merge
operationId: PublicObject_mergeContactsSameType

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/contacts/merge
POST /crm/v3/objects/deals/merge
operationId: PublicObject_mergeDealsSameType

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/deals/merge
POST /crm/v3/objects/feedback_submissions/merge
operationId: PublicObject_mergeFeedbackSubmissions

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/feedback_submissions/merge
POST /crm/v3/objects/line_items/merge
operationId: PublicObject_mergeLineItemsSameType

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/line_items/merge
POST /crm/v3/objects/products/merge
operationId: PublicObject_mergeProductsSameType

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/products/merge
POST /crm/v3/objects/quotes/merge
operationId: PublicObject_mergeTwoQuotesSameType

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/quotes/merge
POST /crm/v3/objects/tickets/merge
operationId: PublicObject_mergeTicketsSameType

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/tickets/merge
POST /crm/v3/objects/{objectType}/merge
operationId: PublicObject_mergeObjectsWithType

Parameters

Name In Required Type Description
objectType path required string

Request Body

required
application/json
schema PublicMergeInput
Property Type Required
objectIdToMerge string required
primaryObjectId string required

Responses

default
200

successful operation

POST /crm/v3/objects/{objectType}/merge

Recordingsettings 1 endpoints

POST /crm/v3/extensions/calling/{appId}/settings/recording
operationId: RecordingSettings_setCallRecording

Parameters

Name In Required Type Description
appId path required integer

Request Body

required
application/json
schema RecordingSettingsRequest
Property Type Required
urlToRetrieveAuthedRecording string required

Responses

default
200

successful operation

POST /crm/v3/extensions/calling/{appId}/settings/recording

Settings 1 endpoints

POST /crm/v3/extensions/calling/{appId}/settings

Used to set the menu label, target iframe URL, and dimensions for your calling extension.

operationId: Settings_configureCallingExtension

Parameters

Name In Required Type Description
appId path required integer

The ID of the target app.

Request Body

required

Settings state to create with.

application/json
schema SettingsRequest
Property Type Required
url string required
name string required
width integer optional
height integer optional
isReady boolean optional
supportsCustomObjects boolean optional

Responses

default
200

successful operation

POST /crm/v3/extensions/calling/{appId}/settings

Templates 1 endpoints

POST /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.

operationId: Templates_createEventTemplateForApp

Parameters

Name In Required Type Description
appId path required integer

The ID of the target app.

Request Body

required

The new event template definition.

application/json
schema TimelineEventTemplateCreateRequest
Property Type Required
name string required
tokens array required
name string required
type string required
label string required
options array optional
label string required
value string required
createdAt string optional
updatedAt string optional
objectPropertyName string optional
objectType string required
detailTemplate string optional
headerTemplate string optional

Responses

default
201

successful operation

POST /crm/v3/timeline/{appId}/event-templates

Tokens 1 endpoints

POST /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.

operationId: Tokens_addToEventTemplate

Parameters

Name In Required Type Description
eventTemplateId path required string

The event template ID.

appId path required integer

The ID of the target app.

Request Body

required

The new token definition.

application/json
schema TimelineEventTemplateToken
Property Type Required
name string required
type string required
label string required
options array optional
label string required
value string required
createdAt string optional
updatedAt string optional
objectPropertyName string optional

Responses

default
200

successful operation

POST /crm/v3/timeline/{appId}/event-templates/{eventTemplateId}/tokens

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."
}