openapi: 3.0.1 info: title: HubSpot CRM Partner Clients description: Basepom for all HubSpot Projects version: 2026-03 x-hubspot-product-tier-requirements: marketing: FREE sales: FREE service: FREE cms: FREE commerce: FREE crmHub: FREE dataHub: FREE x-hubspot-api-use-case: Sync partner client data with third-party project management software. x-hubspot-introduction: 'Partner clients are HubSpot customers that Solutions Partners have a sold or managed relationship with. Use the this API to manage your client base as well as sync client data between HubSpot and other systems. Note: you can only retrieve and update existing partner clients with this API. This API doesn''t support creation or deletion.' servers: - url: https://api.hubapi.com tags: - name: Basic - name: Batch - name: Search paths: /crm/objects/2026-03/partner_clients: get: tags: - Basic summary: Retrieve a list of partner clients. description: Retrieve a list of partner clients with optional filtering by deleted status, associations, and specific properties. The response can be paginated using the 'after' parameter. operationId: get-/crm/objects/2026-03/partner_clients parameters: - name: after in: query description: 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. required: false style: form explode: true schema: type: string - name: archived in: query description: Whether to return only results that have been archived. required: false style: form explode: true schema: type: boolean default: false - name: associations in: query description: 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. required: false style: form explode: true schema: type: array items: type: string - name: limit in: query description: The maximum number of results to display per page. required: false style: form explode: true schema: type: integer format: int32 default: 10 - name: properties in: query description: 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. required: false style: form explode: true schema: type: array items: type: string - name: propertiesWithHistory in: query description: 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. required: false style: form explode: true schema: type: array items: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CollectionResponseSimplePublicObjectWithAssociationsForwardPaging' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.partner-clients.read x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/partner_clients/batch/read: post: tags: - Batch summary: Retrieve a batch of partner client objects. description: Retrieve multiple partner client objects in a single request by specifying their IDs. This endpoint is useful for efficiently accessing data for multiple clients at once, particularly when integrating with third-party systems. operationId: post-/crm/objects/2026-03/partner_clients/batch/read parameters: - name: archived in: query description: Whether to return only results that have been archived. required: false style: form explode: true schema: type: boolean default: false requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchReadInputSimplePublicObjectId' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseSimplePublicObject' '207': description: multiple statuses content: application/json: schema: $ref: '#/components/schemas/BatchResponseSimplePublicObjectWithErrors' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.partner-clients.read x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/partner_clients/batch/update: post: tags: - Batch summary: Update multiple partner client records in a single request. description: This endpoint allows you to update several partner client records at once by providing a batch of CRM object records with their respective IDs and properties. It is useful for synchronizing data across systems or making bulk updates efficiently. operationId: post-/crm/objects/2026-03/partner_clients/batch/update parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchInputSimplePublicObjectBatchInput' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseSimplePublicObject' '207': description: multiple statuses content: application/json: schema: $ref: '#/components/schemas/BatchResponseSimplePublicObjectWithErrors' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.partner-clients.write x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/partner_clients/search: post: tags: - Search summary: Search for partner clients using specified criteria. description: Execute a search for partner clients based on defined filters, properties, and sorting options. This endpoint allows you to retrieve partner client data that matches the search criteria, facilitating integration and data synchronization with third-party systems. operationId: post-/crm/objects/2026-03/partner_clients/search parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicObjectSearchRequest' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CollectionResponseWithTotalSimplePublicObject' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.partner-clients.read x-hubspot-rate-limit-exemptions: - ten-secondly x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/partner_clients/{partnerClientId}: get: tags: - Basic summary: Retrieve details of a specific partner client. description: Retrieve detailed information about a specific partner client, including selected properties and associations. This endpoint is useful for accessing comprehensive client data for analysis or integration purposes. operationId: get-/crm/objects/2026-03/partner_clients/{partnerClientId} parameters: - name: partnerClientId in: path required: true schema: pattern: .+ type: string - name: archived in: query description: Whether to return only results that have been archived. required: false style: form explode: true schema: type: boolean default: false - name: associations in: query description: 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. required: false style: form explode: true schema: type: array items: type: string - name: idProperty in: query description: The name of a property whose values are unique for this object type required: false style: form explode: true schema: type: string - name: properties in: query description: 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. required: false style: form explode: true schema: type: array items: type: string - name: propertiesWithHistory in: query description: 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. required: false style: form explode: true schema: type: array items: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SimplePublicObjectWithAssociations' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.partner-clients.read x-hubspot-user-level-auth: internalOnly: false patch: tags: - Basic summary: Update properties of a specific partner client. description: Update the specified properties of an existing partner client. operationId: patch-/crm/objects/2026-03/partner_clients/{partnerClientId} parameters: - name: partnerClientId in: path required: true schema: pattern: .+ type: string - name: idProperty in: query description: The name of a property whose values are unique for this object type required: false style: form explode: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SimplePublicObjectInput' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SimplePublicObject' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.partner-clients.write x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/partner_clients/{partnerClientId}/associations/{toObjectType}: get: tags: - Basic summary: List associations of a partner client by type description: Retrieve a list of associations for a specific partner client based on the specified object type. operationId: get-/crm/objects/2026-03/partner_clients/{partnerClientId}/associations/{toObjectType} parameters: - name: partnerClientId in: path required: true schema: pattern: .+ type: string - name: toObjectType in: path description: '' required: true style: simple explode: false schema: type: string - name: after in: query description: 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. required: false style: form explode: true schema: type: string - name: limit in: query description: The maximum number of results to display per page. required: false style: form explode: true schema: type: integer format: int32 default: 500 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CollectionResponseMultiAssociatedObjectWithLabelForwardPaging' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.partner-clients.read x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId}: put: tags: - Batch operationId: put-/crm/objects/2026-03/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId}_/crm/objects/2026-03/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId} parameters: - name: fromObjectId in: path description: '' required: true style: simple explode: false schema: type: string - name: fromObjectType in: path description: '' required: true style: simple explode: false schema: type: string - name: toObjectId in: path description: '' required: true style: simple explode: false schema: type: string - name: toObjectType in: path description: '' required: true style: simple explode: false schema: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponsePublicDefaultAssociation' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - oauth-access - oauth2: - crm.objects.deals.read - oauth2: - crm.objects.subscriptions.read - oauth2: - crm.objects.services.read - oauth2: - crm.objects.tickets.sensitive.read - oauth2: - crm.objects.orders.read - oauth2: - crm.objects.listings.write - oauth2: - crm.objects.custom.read - oauth2: - crm.objects.companies.write - oauth2: - crm.objects.tasks.read - oauth2: - crm.objects.custom.sensitive.write.v2 - oauth2: - crm.objects.custom.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.read - oauth2: - crm.objects.contacts.highly_sensitive.read.v2 - oauth2: - crm.objects.appointments.sensitive.read.v2 - oauth2: - crm.objects.tickets.highly_sensitive.read - oauth2: - crm.objects.companies.sensitive.read.v2 - oauth2: - crm.objects.tickets.sensitive.write - oauth2: - media_bridge.read - oauth2: - crm.objects.deals.highly_sensitive.read.v2 - oauth2: - crm.objects.contacts.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.highly_sensitive.read.v2 - oauth2: - crm.objects.commercepayments.write - oauth2: - crm.objects.invoices.write - oauth2: - crm.objects.contacts.sensitive.write.v2 - oauth2: - crm.objects.users.write - oauth2: - crm.objects.calls.read - oauth2: - crm.objects.meetings.read - oauth2: - crm.objects.custom.sensitive.read.v2 - oauth2: - crm.objects.users.read - oauth2: - crm.objects.partner-services.read - oauth2: - crm.objects.orders.write - oauth2: - crm.objects.partner-services.write - oauth2: - crm.objects.appointments.write - oauth2: - crm.objects.projects.highly_sensitive.write - oauth2: - crm.objects.carts.write - oauth2: - crm.objects.tickets.highly_sensitive.write - oauth2: - tickets - oauth2: - crm.objects.commercepayments.read - oauth2: - crm.objects.products.write - oauth2: - crm.objects.services.write - oauth2: - crm.objects.subscriptions.write - oauth2: - crm.objects.deals.sensitive.write.v2 - oauth2: - crm.objects.contacts.read - oauth2: - crm.objects.appointments.sensitive.write.v2 - oauth2: - crm.objects.invoices.read - oauth2: - crm.objects.projects.highly_sensitive.read - oauth2: - tickets.sensitive.v2 - oauth2: - crm.objects.custom.write - oauth2: - crm.objects.deals.write - oauth2: - e-commerce - oauth2: - crm.objects.appointments.read - oauth2: - crm.objects.companies.sensitive.write.v2 - oauth2: - crm.objects.projects.read - oauth2: - crm.objects.deals.highly_sensitive.write.v2 - oauth2: - crm.objects.custom.highly_sensitive.read.v2 - oauth2: - crm.objects.companies.highly_sensitive.write.v2 - oauth2: - crm.objects.goals.write - oauth2: - crm.objects.line_items.write - oauth2: - crm.objects.projects.sensitive.read - oauth2: - crm.objects.contacts.write - oauth2: - crm.objects.goals.read - oauth2: - crm.objects.line_items.read - oauth2: - crm.objects.partner-clients.write - oauth2: - crm.objects.projects.write - oauth2: - crm.objects.deals.sensitive.read.v2 - oauth2: - crm.objects.projects.sensitive.write - oauth2: - crm.objects.quotes.write - oauth2: - tickets.highly_sensitive.v2 - oauth2: - crm.objects.leads.read - oauth2: - crm.objects.leads.write - oauth2: - crm.objects.carts.read - oauth2: - crm.objects.emails.read - oauth2: - crm.objects.quotes.read - oauth2: - crm.objects.courses.write - oauth2: - crm.objects.partner-clients.read - oauth2: - crm.objects.notes.read - oauth2: - crm.objects.courses.read - oauth2: - crm.objects.listings.read - oauth2: - crm.objects.contacts.sensitive.read.v2 - oauth2: - crm.objects.products.read - oauth2: - oauth x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}: put: tags: - Basic operationId: put-/crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}_/crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} parameters: - name: objectId in: path description: '' required: true style: simple explode: false schema: type: string - name: objectType in: path description: '' required: true style: simple explode: false schema: type: string - name: toObjectId in: path description: '' required: true style: simple explode: false schema: type: string - name: toObjectType in: path description: '' required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/AssociationSpec' required: true responses: '201': description: successful operation headers: Location: description: URL of the newly created resource style: simple explode: false schema: type: string content: application/json: schema: $ref: '#/components/schemas/LabelsBetweenObjectPair' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - oauth-access - oauth2: - crm.objects.deals.read - oauth2: - crm.objects.subscriptions.read - oauth2: - crm.objects.services.read - oauth2: - crm.objects.tickets.sensitive.read - oauth2: - crm.objects.orders.read - oauth2: - crm.objects.listings.write - oauth2: - crm.objects.custom.read - oauth2: - crm.objects.companies.write - oauth2: - crm.objects.tasks.read - oauth2: - crm.objects.custom.sensitive.write.v2 - oauth2: - crm.objects.custom.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.read - oauth2: - crm.objects.contacts.highly_sensitive.read.v2 - oauth2: - crm.objects.appointments.sensitive.read.v2 - oauth2: - crm.objects.tickets.highly_sensitive.read - oauth2: - crm.objects.companies.sensitive.read.v2 - oauth2: - crm.objects.tickets.sensitive.write - oauth2: - media_bridge.read - oauth2: - crm.objects.deals.highly_sensitive.read.v2 - oauth2: - crm.objects.contacts.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.highly_sensitive.read.v2 - oauth2: - crm.objects.commercepayments.write - oauth2: - crm.objects.invoices.write - oauth2: - crm.objects.contacts.sensitive.write.v2 - oauth2: - crm.objects.users.write - oauth2: - crm.objects.calls.read - oauth2: - crm.objects.meetings.read - oauth2: - crm.objects.custom.sensitive.read.v2 - oauth2: - crm.objects.users.read - oauth2: - crm.objects.partner-services.read - oauth2: - crm.objects.orders.write - oauth2: - crm.objects.partner-services.write - oauth2: - crm.objects.appointments.write - oauth2: - crm.objects.projects.highly_sensitive.write - oauth2: - crm.objects.carts.write - oauth2: - crm.objects.tickets.highly_sensitive.write - oauth2: - tickets - oauth2: - crm.objects.commercepayments.read - oauth2: - crm.objects.products.write - oauth2: - crm.objects.services.write - oauth2: - crm.objects.subscriptions.write - oauth2: - crm.objects.deals.sensitive.write.v2 - oauth2: - crm.objects.contacts.read - oauth2: - crm.objects.appointments.sensitive.write.v2 - oauth2: - crm.objects.invoices.read - oauth2: - crm.objects.projects.highly_sensitive.read - oauth2: - tickets.sensitive.v2 - oauth2: - crm.objects.custom.write - oauth2: - crm.objects.deals.write - oauth2: - e-commerce - oauth2: - crm.objects.appointments.read - oauth2: - crm.objects.companies.sensitive.write.v2 - oauth2: - crm.objects.projects.read - oauth2: - crm.objects.deals.highly_sensitive.write.v2 - oauth2: - crm.objects.custom.highly_sensitive.read.v2 - oauth2: - crm.objects.companies.highly_sensitive.write.v2 - oauth2: - crm.objects.goals.write - oauth2: - crm.objects.line_items.write - oauth2: - crm.objects.projects.sensitive.read - oauth2: - crm.objects.contacts.write - oauth2: - crm.objects.goals.read - oauth2: - crm.objects.line_items.read - oauth2: - crm.objects.partner-clients.write - oauth2: - crm.objects.projects.write - oauth2: - crm.objects.deals.sensitive.read.v2 - oauth2: - crm.objects.projects.sensitive.write - oauth2: - crm.objects.quotes.write - oauth2: - tickets.highly_sensitive.v2 - oauth2: - crm.objects.leads.read - oauth2: - crm.objects.leads.write - oauth2: - crm.objects.carts.read - oauth2: - crm.objects.emails.read - oauth2: - crm.objects.quotes.read - oauth2: - crm.objects.courses.write - oauth2: - crm.objects.partner-clients.read - oauth2: - crm.objects.notes.read - oauth2: - crm.objects.courses.read - oauth2: - crm.objects.listings.read - oauth2: - crm.objects.contacts.sensitive.read.v2 - oauth2: - crm.objects.products.read - oauth2: - oauth x-hubspot-user-level-auth: internalOnly: false delete: tags: - Basic operationId: delete-/crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}_/crm/objects/2026-03/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} parameters: - name: objectId in: path description: '' required: true style: simple explode: false schema: type: string - name: objectType in: path description: '' required: true style: simple explode: false schema: type: string - name: toObjectId in: path description: '' required: true style: simple explode: false schema: type: string - name: toObjectType in: path description: '' required: true style: simple explode: false schema: type: string responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - oauth-access - oauth2: - crm.objects.deals.read - oauth2: - crm.objects.subscriptions.read - oauth2: - crm.objects.services.read - oauth2: - crm.objects.tickets.sensitive.read - oauth2: - crm.objects.orders.read - oauth2: - crm.objects.listings.write - oauth2: - crm.objects.custom.read - oauth2: - crm.objects.companies.write - oauth2: - crm.objects.tasks.read - oauth2: - crm.objects.custom.sensitive.write.v2 - oauth2: - crm.objects.custom.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.read - oauth2: - crm.objects.contacts.highly_sensitive.read.v2 - oauth2: - crm.objects.appointments.sensitive.read.v2 - oauth2: - crm.objects.tickets.highly_sensitive.read - oauth2: - crm.objects.companies.sensitive.read.v2 - oauth2: - crm.objects.tickets.sensitive.write - oauth2: - media_bridge.read - oauth2: - crm.objects.deals.highly_sensitive.read.v2 - oauth2: - crm.objects.contacts.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.highly_sensitive.read.v2 - oauth2: - crm.objects.commercepayments.write - oauth2: - crm.objects.invoices.write - oauth2: - crm.objects.contacts.sensitive.write.v2 - oauth2: - crm.objects.users.write - oauth2: - crm.objects.calls.read - oauth2: - crm.objects.meetings.read - oauth2: - crm.objects.custom.sensitive.read.v2 - oauth2: - crm.objects.users.read - oauth2: - crm.objects.partner-services.read - oauth2: - crm.objects.orders.write - oauth2: - crm.objects.partner-services.write - oauth2: - crm.objects.appointments.write - oauth2: - crm.objects.projects.highly_sensitive.write - oauth2: - crm.objects.carts.write - oauth2: - crm.objects.tickets.highly_sensitive.write - oauth2: - tickets - oauth2: - crm.objects.commercepayments.read - oauth2: - crm.objects.products.write - oauth2: - crm.objects.services.write - oauth2: - crm.objects.subscriptions.write - oauth2: - crm.objects.deals.sensitive.write.v2 - oauth2: - crm.objects.contacts.read - oauth2: - crm.objects.appointments.sensitive.write.v2 - oauth2: - crm.objects.invoices.read - oauth2: - crm.objects.projects.highly_sensitive.read - oauth2: - tickets.sensitive.v2 - oauth2: - crm.objects.custom.write - oauth2: - crm.objects.deals.write - oauth2: - e-commerce - oauth2: - crm.objects.appointments.read - oauth2: - crm.objects.companies.sensitive.write.v2 - oauth2: - crm.objects.projects.read - oauth2: - crm.objects.deals.highly_sensitive.write.v2 - oauth2: - crm.objects.custom.highly_sensitive.read.v2 - oauth2: - crm.objects.companies.highly_sensitive.write.v2 - oauth2: - crm.objects.goals.write - oauth2: - crm.objects.line_items.write - oauth2: - crm.objects.projects.sensitive.read - oauth2: - crm.objects.contacts.write - oauth2: - crm.objects.goals.read - oauth2: - crm.objects.line_items.read - oauth2: - crm.objects.partner-clients.write - oauth2: - crm.objects.projects.write - oauth2: - crm.objects.deals.sensitive.read.v2 - oauth2: - crm.objects.projects.sensitive.write - oauth2: - crm.objects.quotes.write - oauth2: - tickets.highly_sensitive.v2 - oauth2: - crm.objects.leads.read - oauth2: - crm.objects.leads.write - oauth2: - crm.objects.carts.read - oauth2: - crm.objects.emails.read - oauth2: - crm.objects.quotes.read - oauth2: - crm.objects.courses.write - oauth2: - crm.objects.partner-clients.read - oauth2: - crm.objects.notes.read - oauth2: - crm.objects.courses.read - oauth2: - crm.objects.listings.read - oauth2: - crm.objects.contacts.sensitive.read.v2 - oauth2: - crm.objects.products.read - oauth2: - oauth x-hubspot-user-level-auth: internalOnly: true components: schemas: AssociatedId: required: - id - type type: object properties: id: type: string description: The ID for the association type. type: type: string description: The type of associations. example: deal_to_contact description: Contains the id and type of an association AssociationSpec: required: - associationCategory - associationTypeId type: object properties: associationCategory: type: string description: The category of the association, such as "HUBSPOT_DEFINED". enum: - HUBSPOT_DEFINED - INTEGRATOR_DEFINED - USER_DEFINED - WORK associationTypeId: type: integer description: The ID representing the specific type of association. format: int32 description: Defines the type, direction, and details of the relationship between two CRM objects. AssociationSpecWithLabel: required: - category - typeId type: object properties: category: type: string description: Association category. Can be HUBSPOT_DEFINED, USER_DEFINED, INTEGRATOR_DEFINED or WORK enum: - HUBSPOT_DEFINED - INTEGRATOR_DEFINED - USER_DEFINED - WORK fromObjectTypeId: type: string label: type: string description: An optional descriptor that provides additional context about the relationship between associated records, such as "Mentor" and "Mentee". toObjectTypeId: type: string typeId: type: integer description: An integer value used to uniquely identify a specific association type within its Association Category. format: int32 description: Defines the type, direction, and details of the relationship between two CRM objects. BatchInputSimplePublicObjectBatchInput: required: - inputs type: object properties: inputs: type: array items: $ref: '#/components/schemas/SimplePublicObjectBatchInput' BatchReadInputSimplePublicObjectId: required: - inputs - properties - propertiesWithHistory type: object properties: idProperty: type: string description: The name of a property whose values are unique for this object. inputs: type: array items: $ref: '#/components/schemas/SimplePublicObjectId' properties: type: array description: Key-value pairs for setting properties for the new object. items: type: string propertiesWithHistory: type: array description: Key-value pairs for setting properties for the new object and their histories. items: type: string description: Specifies the input for reading a batch of CRM objects, including arrays of object IDs, requested property names (with optional history), and an optional unique identifying property. BatchResponsePublicDefaultAssociation: required: - completedAt - results - startedAt - status type: object properties: completedAt: type: string description: The timestamp when the batch process was completed, in ISO 8601 format. format: date-time errors: type: array items: $ref: '#/components/schemas/StandardError' links: type: object additionalProperties: type: string description: An object containing relevant links related to the batch request. numErrors: type: integer description: The total number of errors that occurred during the operation. format: int32 requestedAt: type: string description: The timestamp when the batch process was initiated, in ISO 8601 format. format: date-time results: type: array items: $ref: '#/components/schemas/PublicDefaultAssociation' startedAt: type: string description: The timestamp when the batch process began execution, in ISO 8601 format. format: date-time status: type: string description: 'The status of the batch processing request. Can be: "PENDING", "PROCESSING", "CANCELED", or "COMPLETE".' enum: - CANCELED - COMPLETE - PENDING - PROCESSING description: The response returned after performing a batch operation on associations. BatchResponseSimplePublicObject: required: - completedAt - results - startedAt - status type: object properties: completedAt: type: string description: The timestamp when the batch processing was completed, in ISO 8601 format. format: date-time links: type: object additionalProperties: type: string description: An object containing relevant links related to the batch request. requestedAt: type: string description: The timestamp when the batch request was initially made, in ISO 8601 format. format: date-time results: type: array items: $ref: '#/components/schemas/SimplePublicObject' startedAt: type: string description: The timestamp when the batch processing began, in ISO 8601 format. format: date-time status: type: string description: 'The status of the batch processing request: "PENDING", "PROCESSING", "CANCELLED", or "COMPLETE"' enum: - CANCELED - COMPLETE - PENDING - PROCESSING description: A public object batch response object BatchResponseSimplePublicObjectWithErrors: required: - completedAt - results - startedAt - status type: object properties: completedAt: type: string description: The timestamp when the batch process was completed, in ISO 8601 format. format: date-time errors: type: array items: $ref: '#/components/schemas/StandardError' links: type: object additionalProperties: type: string description: An object containing relevant links related to the batch request. numErrors: type: integer description: The number of errors encountered during the batch process. format: int32 requestedAt: type: string description: The timestamp when the batch process was initiated, in ISO 8601 format. format: date-time results: type: array items: $ref: '#/components/schemas/SimplePublicObject' startedAt: type: string description: The timestamp when the batch process began execution, in ISO 8601 format. format: date-time status: type: string description: The status of the batch processing request - "PENDING", "PROCESSING", "CANCELLED", or "COMPLETE" enum: - CANCELED - COMPLETE - PENDING - PROCESSING description: Represents the result of a batch operation on CRM objects, including the processing status, batch results, timestamps, and a list of any errors encountered during the operation. CollectionResponseAssociatedId: required: - results type: object properties: paging: $ref: '#/components/schemas/Paging' results: type: array items: $ref: '#/components/schemas/AssociatedId' CollectionResponseMultiAssociatedObjectWithLabelForwardPaging: required: - results type: object properties: paging: $ref: '#/components/schemas/ForwardPaging' results: type: array items: $ref: '#/components/schemas/MultiAssociatedObjectWithLabel' CollectionResponseSimplePublicObjectWithAssociationsForwardPaging: required: - results type: object properties: paging: $ref: '#/components/schemas/ForwardPaging' results: type: array items: $ref: '#/components/schemas/SimplePublicObjectWithAssociations' CollectionResponseWithTotalSimplePublicObject: required: - results - total type: object properties: paging: $ref: '#/components/schemas/Paging' results: type: array items: $ref: '#/components/schemas/SimplePublicObject' total: type: integer description: The number of available results format: int32 description: Represents a list of simple objects returned from an API request, along with the total count of objects available. Error: required: - category - correlationId - message type: object properties: category: type: string description: The error category context: type: object additionalProperties: type: array items: type: string description: Context about the error condition example: '{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}' correlationId: type: string description: A unique identifier for the request. Include this value with any error reports or support tickets format: uuid example: aeb5f871-7f07-4993-9211-075dc63e7cbf errors: type: array description: further information about the error items: $ref: '#/components/schemas/ErrorDetail' links: type: object additionalProperties: type: string description: A map of link names to associated URIs containing documentation about the error or recommended remediation steps message: type: string description: A human readable message describing the error along with remediation steps where appropriate example: An error occurred subCategory: type: string description: A specific category that contains more specific detail about the error description: Represents an error response returned by the API when an operation fails. This component is used in various endpoints to provide detailed information about the error encountered. example: message: Invalid input (details will vary based on the error) correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf category: VALIDATION_ERROR links: knowledge-base: https://www.hubspot.com/products/service/knowledge-base ErrorDetail: required: - message type: object properties: code: type: string description: The status code associated with the error detail context: type: object additionalProperties: type: array items: type: string description: Context about the error condition example: '{missingScopes=[scope1, scope2]}' in: type: string description: The name of the field or parameter in which the error was found. 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 description: Represents detailed information about an error that occurred in the API. This component is used to provide additional context and specifics about errors, typically as part of an error response. Filter: required: - operator - propertyName type: object properties: highValue: type: string description: The upper boundary value when using ranged-based filters. operator: type: string description: The comparison operator used in the filter, such as "EQ" or "GT". enum: - BETWEEN - CONTAINS_TOKEN - EQ - GT - GTE - HAS_PROPERTY - IN - LT - LTE - NEQ - NOT_CONTAINS_TOKEN - NOT_HAS_PROPERTY - NOT_IN propertyName: type: string description: The name of the property to apply the filter to. value: type: string description: The value to match against the property. values: type: array description: The values to match against the property. items: type: string description: 'Defines a single condition for searching CRM objects, specifying the property to filter on, the operator to use (such as equals, greater than, or contains), and the value(s) to compare against. ' FilterGroup: required: - filters type: object properties: filters: type: array items: $ref: '#/components/schemas/Filter' ForwardPaging: type: object properties: next: $ref: '#/components/schemas/NextPage' description: Paging information for forward-only pagination. Contains the next page reference when more results are available; omitted or empty on the last page. LabelsBetweenObjectPair: required: - fromObjectId - fromObjectTypeId - labels - toObjectId - toObjectTypeId type: object properties: fromObjectId: type: string description: Source unique ID of the object. fromObjectTypeId: type: string description: Source object type. labels: type: array items: type: string toObjectId: type: string description: Target unique ID of the object. toObjectTypeId: type: string description: Target object type. description: The relationship descriptors applicable between two object types. MultiAssociatedObjectWithLabel: required: - associationTypes - toObjectId type: object properties: associationTypes: type: array items: $ref: '#/components/schemas/AssociationSpecWithLabel' toObjectId: type: string description: Target unique ID of the object. description: Represents an object that is associated with multiple other objects, with optional context. NextPage: required: - after type: object properties: after: type: string description: A paging cursor token for retrieving subsequent pages. link: type: string description: A URL that can be used to retrieve the next page results. description: Specifies the paging information needed to retrieve the next set of results in a paginated API response Paging: type: object properties: next: $ref: '#/components/schemas/NextPage' prev: $ref: '#/components/schemas/PreviousPage' PreviousPage: required: - before type: object properties: before: type: string description: A paging cursor token for retrieving previous pages. link: type: string description: A URL that can be used to retrieve the previous pages' results. description: specifies the paging information needed to retrieve the previous set of results in a paginated API response PublicDefaultAssociation: required: - associationSpec - from - to type: object properties: associationSpec: $ref: '#/components/schemas/AssociationSpec' from: $ref: '#/components/schemas/PublicObjectId' to: $ref: '#/components/schemas/PublicObjectId' PublicObjectId: required: - id type: object properties: id: type: string description: The unique ID of the object. description: Contains the Id of a Public Object PublicObjectSearchRequest: required: - after - filterGroups - limit - properties - sorts type: object properties: after: type: string description: A paging cursor token for retrieving subsequent pages. filterGroups: type: array description: Up to 6 groups of filters defining additional query criteria. items: $ref: '#/components/schemas/FilterGroup' limit: type: integer description: The maximum results to return, up to 200 objects. format: int32 properties: type: array description: A list of property names to include in the response. items: type: string query: type: string description: The search query string, up to 3000 characters. sorts: type: array description: Specifies sorting order based on object properties. items: type: string description: Describes a search request PublicObjectWarning: required: - category - context - message type: object properties: category: type: string context: type: object additionalProperties: type: string message: type: string SimplePublicObject: required: - archived - createdAt - id - properties - updatedAt type: object properties: archived: type: boolean description: Whether the object is archived. archivedAt: type: string description: The timestamp when the object was archived, in ISO 8601 format. format: date-time createdAt: type: string description: The timestamp when the object was created, in ISO 8601 format. format: date-time id: type: string description: The unique ID of the object. objectWriteTraceId: type: string description: An identifier used for tracing the write request for the object. properties: type: object additionalProperties: type: string description: Key-value pairs representing the properties of the object. propertiesWithHistory: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ValueWithTimestamp' description: Key-value pairs representing the properties of the object along with their history. updatedAt: type: string description: The timestamp when the object was last updated, in ISO 8601 format. format: date-time url: type: string description: The URL associated with the object. warnings: type: array items: $ref: '#/components/schemas/PublicObjectWarning' description: A simple public object. SimplePublicObjectBatchInput: required: - id - properties type: object properties: id: type: string description: The unique ID of the object. idProperty: type: string description: The name of a unique identifier property, which can be used for identifying objects instead of the object ID. example: my_unique_property_name objectWriteTraceId: type: string description: A unique identifier for tracing the request. properties: type: object additionalProperties: type: string description: Key-value pairs representing the properties of the object. description: Contains an array of CRM object records to be processed in a batch operation, each defined by their ID and properties. SimplePublicObjectId: required: - id type: object properties: id: type: string description: The unique ID of the object. example: '430001' description: Contains the Id of a Public Object SimplePublicObjectInput: required: - properties type: object properties: properties: type: object additionalProperties: type: string description: Key value pairs representing the properties of the object. description: Represents the input required to create or update a CRM object, containing an object with property names and their corresponding values. SimplePublicObjectWithAssociations: required: - archived - createdAt - id - properties - updatedAt type: object properties: archived: type: boolean description: Whether the object is archived. archivedAt: type: string description: The timestamp when the object was archived, in ISO 8601 format. format: date-time associations: type: object additionalProperties: $ref: '#/components/schemas/CollectionResponseAssociatedId' description: A list defining relationships with other objects. createdAt: type: string description: The timestamp when the object was created, in ISO 8601 format. format: date-time id: type: string description: The unique ID of the object. objectWriteTraceId: type: string description: An identifier used for tracing the creation or update request of the object. properties: type: object additionalProperties: type: string description: Key value pairs representing the properties of the object. propertiesWithHistory: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ValueWithTimestamp' description: Key-value pairs representing the properties of the object along with their history. updatedAt: type: string description: The timestamp when the object was last updated, in ISO 8601 format. format: date-time url: type: string description: The URL on the API that provide direct navigation to the corresponding UI pages for the connectors. warnings: type: array items: $ref: '#/components/schemas/PublicObjectWarning' description: Represents a CRM object along with its properties, timestamps, and a set of associated object IDs grouped by association type. StandardError: required: - category - context - errors - links - message - status type: object properties: category: type: string description: The main category of the error. context: type: object additionalProperties: type: array items: type: string description: Additional context-specific information related to the error. errors: type: array description: The detailed error objects. items: $ref: '#/components/schemas/ErrorDetail' id: type: string description: A unique ID for the error instance. links: type: object additionalProperties: type: string description: URLs linking to documentation or resources associated with the error. message: type: string description: A human-readable string describing the error and possible remediation steps. status: type: string description: The HTTP status code associated with the error. subCategory: type: object properties: {} description: A more specific error category within each main category. description: Represents a standard error response in the HubSpot API, providing detailed information about an error that occurred during an API request. ValueWithTimestamp: required: - sourceType - timestamp - value type: object properties: sourceId: type: string description: The unique ID of the property. sourceLabel: type: string description: A human-readable label. sourceType: type: string description: The property type. timestamp: type: string description: The timestamp when the property was updated, in ISO 8601 format. format: date-time updatedByUserId: type: integer description: The ID of the user who last updated the property. format: int32 value: type: string description: The property value. description: Property model that includes timestamp. responses: Error: description: An error occurred. content: '*/*': schema: $ref: '#/components/schemas/Error' securitySchemes: developer_hapikey: type: apiKey name: hapikey in: query oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://app.hubspot.com/oauth/authorize tokenUrl: https://api.hubapi.com/oauth/v1/token scopes: crm.objects.appointments.read: '' crm.objects.appointments.sensitive.read.v2: '' crm.objects.appointments.sensitive.write.v2: '' crm.objects.appointments.write: '' crm.objects.calls.read: '' crm.objects.carts.read: '' crm.objects.carts.write: '' crm.objects.commercepayments.read: '' crm.objects.commercepayments.write: '' crm.objects.companies.highly_sensitive.read.v2: '' crm.objects.companies.highly_sensitive.write.v2: '' crm.objects.companies.read: '' crm.objects.companies.sensitive.read.v2: '' crm.objects.companies.sensitive.write.v2: '' crm.objects.companies.write: '' crm.objects.contacts.highly_sensitive.read.v2: '' crm.objects.contacts.highly_sensitive.write.v2: '' crm.objects.contacts.read: '' crm.objects.contacts.sensitive.read.v2: '' crm.objects.contacts.sensitive.write.v2: '' crm.objects.contacts.write: '' crm.objects.courses.read: '' crm.objects.courses.write: '' crm.objects.custom.highly_sensitive.read.v2: '' crm.objects.custom.highly_sensitive.write.v2: '' crm.objects.custom.read: '' crm.objects.custom.sensitive.read.v2: '' crm.objects.custom.sensitive.write.v2: '' crm.objects.custom.write: '' crm.objects.deals.highly_sensitive.read.v2: '' crm.objects.deals.highly_sensitive.write.v2: '' crm.objects.deals.read: '' crm.objects.deals.sensitive.read.v2: '' crm.objects.deals.sensitive.write.v2: '' crm.objects.deals.write: '' crm.objects.emails.read: '' crm.objects.goals.read: '' crm.objects.goals.write: '' crm.objects.invoices.read: '' crm.objects.invoices.write: '' crm.objects.leads.read: '' crm.objects.leads.write: '' crm.objects.line_items.read: '' crm.objects.line_items.write: '' crm.objects.listings.read: '' crm.objects.listings.write: '' crm.objects.meetings.read: '' crm.objects.notes.read: '' crm.objects.orders.read: '' crm.objects.orders.write: '' crm.objects.partner-clients.read: '' crm.objects.partner-clients.write: '' crm.objects.partner-services.read: '' crm.objects.partner-services.write: '' crm.objects.products.read: '' crm.objects.products.write: '' crm.objects.projects.highly_sensitive.read: '' crm.objects.projects.highly_sensitive.write: '' crm.objects.projects.read: '' crm.objects.projects.sensitive.read: '' crm.objects.projects.sensitive.write: '' crm.objects.projects.write: '' crm.objects.quotes.read: '' crm.objects.quotes.write: '' crm.objects.services.read: '' crm.objects.services.write: '' crm.objects.subscriptions.read: '' crm.objects.subscriptions.write: '' crm.objects.tasks.read: '' crm.objects.tickets.highly_sensitive.read: '' crm.objects.tickets.highly_sensitive.write: '' crm.objects.tickets.sensitive.read: '' crm.objects.tickets.sensitive.write: '' crm.objects.users.read: '' crm.objects.users.write: '' e-commerce: '' media_bridge.read: '' oauth: '' oauth-access: '' tickets: '' tickets.highly_sensitive.v2: '' tickets.sensitive.v2: '' private_apps: type: apiKey name: private-app in: header private_apps_legacy: type: apiKey name: private-app-legacy in: header x-hubspot-product-tier-requirements: marketing: FREE sales: FREE service: FREE cms: FREE commerce: FREE crmHub: FREE dataHub: FREE