openapi: 3.0.1 info: title: HubSpot CRM Courses 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-introduction: Use the courses API to create and manage CRM records that represent information about a structured program or series of lessons, trainings, or educational modules. Identify the course object type with its object type ID 0-410 servers: - url: https://api.hubapi.com tags: - name: Advanced - name: Basic - name: Batch - name: Search paths: /crm/objects/2026-03/0-410: get: tags: - Basic summary: Retrieve courses description: Read a page of courses. Control what is returned via the `properties` query param. operationId: get-/crm/objects/2026-03/0-410 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 courses 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.courses.read x-hubspot-user-level-auth: internalOnly: false post: tags: - Basic summary: Create a course description: Create a course with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard courses is provided. operationId: post-/crm/objects/2026-03/0-410 parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/SimplePublicObjectInputForCreate' 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/SimplePublicObject' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.courses.write x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/0-410/batch/archive: post: tags: - Batch summary: Batch archive courses description: Archive a batch of objects operationId: post-/crm/objects/2026-03/0-410/batch/archive parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchInputSimplePublicObjectId' required: true responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.courses.write x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/0-410/batch/create: post: tags: - Batch summary: Batch create courses description: Create a batch of objects operationId: post-/crm/objects/2026-03/0-410/batch/create parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchInputSimplePublicObjectBatchInputForCreate' required: true responses: '201': 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.courses.write x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/0-410/batch/read: post: tags: - Batch summary: Batch retrieve courses description: 'Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property. ' operationId: post-/crm/objects/2026-03/0-410/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.courses.read x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/0-410/batch/update: post: tags: - Batch summary: Batch update courses description: Update a batch of objects operationId: post-/crm/objects/2026-03/0-410/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.courses.write x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/0-410/batch/upsert: post: tags: - Batch summary: Upsert courses description: Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object. operationId: post-/crm/objects/2026-03/0-410/batch/upsert parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchInputSimplePublicObjectBatchInputUpsert' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseSimplePublicUpsertObject' '207': description: multiple statuses content: application/json: schema: $ref: '#/components/schemas/BatchResponseSimplePublicUpsertObjectWithErrors' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.courses.write x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/0-410/search: post: tags: - Search summary: Search for courses description: Fetch objects using a search query operationId: post-/crm/objects/2026-03/0-410/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.courses.read x-hubspot-rate-limit-exemptions: - ten-secondly x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/0-410/{courseId}: get: tags: - Basic summary: Retrieve a course description: Read an Object identified by `{courseId}`. `{courseId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Control what is returned via the `properties` query param. operationId: get-/crm/objects/2026-03/0-410/{courseId} parameters: - name: courseId 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.courses.read x-hubspot-user-level-auth: internalOnly: false delete: tags: - Basic summary: Archive a course description: Move an Object identified by `{courseId}` to the recycling bin. operationId: delete-/crm/objects/2026-03/0-410/{courseId} parameters: - name: courseId in: path required: true schema: pattern: .+ type: string responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.courses.write x-hubspot-user-level-auth: internalOnly: false patch: tags: - Basic summary: Update a course description: Perform a partial update of an Object identified by `{courseId}`or optionally a unique property value as specified by the `idProperty` query param. `{courseId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string. operationId: patch-/crm/objects/2026-03/0-410/{courseId} parameters: - name: courseId 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.courses.write x-hubspot-user-level-auth: internalOnly: false /crm/objects/2026-03/courses/merge: post: tags: - Advanced summary: Merge two courses description: Merge two courses. operationId: post-/crm/objects/2026-03/courses/merge parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicMergeInput' 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.courses.write x-hubspot-user-level-auth: internalOnly: false components: schemas: AssociatedId: required: - id - type type: object properties: id: type: string description: The unique identifier for the associated object, represented as a string. type: type: string description: The type of association, represented as a string, indicating the nature of the relationship between objects. 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, indicating its origin or purpose. Valid values include 'HUBSPOT_DEFINED', 'USER_DEFINED', 'INTEGRATOR_DEFINED', and 'WORK'. enum: - HUBSPOT_DEFINED - INTEGRATOR_DEFINED - USER_DEFINED - WORK associationTypeId: type: integer description: An integer representing the unique identifier for the type of association. 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 description: An array of SimplePublicObjectBatchInput items, each representing an object to be updated. Each item must include the object's ID and the properties to be updated. items: $ref: '#/components/schemas/SimplePublicObjectBatchInput' BatchInputSimplePublicObjectBatchInputForCreate: required: - inputs type: object properties: inputs: type: array description: An array of objects, each containing the properties and associations for a CRM object to be created. Each item in the array is of type SimplePublicObjectBatchInputForCreate. items: $ref: '#/components/schemas/SimplePublicObjectBatchInputForCreate' BatchInputSimplePublicObjectBatchInputUpsert: required: - inputs type: object properties: inputs: type: array description: An array of SimplePublicObjectBatchInputUpsert items, each representing an object to be upserted. Each item contains the properties and identifiers necessary for the upsert operation. items: $ref: '#/components/schemas/SimplePublicObjectBatchInputUpsert' BatchInputSimplePublicObjectId: required: - inputs type: object properties: inputs: type: array description: An array of SimplePublicObjectId objects. Each object in the array contains the ID of a CRM object to be processed in the batch operation. items: $ref: '#/components/schemas/SimplePublicObjectId' BatchReadInputSimplePublicObjectId: required: - inputs - properties - propertiesWithHistory type: object properties: idProperty: type: string description: A string representing the name of a property whose values are unique for this object type. inputs: type: array description: An array of SimplePublicObjectId objects, each representing an object ID for which the batch read operation will be performed. items: $ref: '#/components/schemas/SimplePublicObjectId' properties: type: array description: An array of strings specifying the properties to be returned in the response. If any specified properties are not present on the requested objects, they will be ignored. items: type: string propertiesWithHistory: type: array description: An array of strings specifying the properties to be returned along with their history of previous values. If any specified properties are not present on the requested objects, they will be ignored. 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. BatchResponseSimplePublicObject: required: - completedAt - results - startedAt - status type: object properties: completedAt: type: string description: The date and time when the batch operation was completed, in ISO 8601 format. format: date-time links: type: object additionalProperties: type: string description: A map of link names to associated URIs, providing additional resources or information related to the batch operation. requestedAt: type: string description: The date and time when the batch operation was requested, in ISO 8601 format. format: date-time results: type: array description: An array of SimplePublicObject items representing the results of the batch operation. items: $ref: '#/components/schemas/SimplePublicObject' startedAt: type: string description: The date and time when the batch operation started, in ISO 8601 format. format: date-time status: type: string description: The current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and '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 date and time when the batch operation was completed, in ISO 8601 format. format: date-time errors: type: array description: An array of StandardError objects detailing any errors that occurred during the batch operation. items: $ref: '#/components/schemas/StandardError' links: type: object additionalProperties: type: string description: A map of link names to associated URIs providing additional information about the batch operation. numErrors: type: integer description: The number of errors encountered during the batch operation. format: int32 requestedAt: type: string description: The date and time when the batch operation was requested, in ISO 8601 format. format: date-time results: type: array description: An array of SimplePublicObject items representing the results of the batch operation. items: $ref: '#/components/schemas/SimplePublicObject' startedAt: type: string description: The date and time when the batch operation started, in ISO 8601 format. format: date-time status: type: string description: The current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and '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. BatchResponseSimplePublicUpsertObject: required: - completedAt - results - startedAt - status type: object properties: completedAt: type: string description: The date and time when the batch operation was completed, in ISO 8601 format. format: date-time links: type: object additionalProperties: type: string description: A map of link names to associated URIs, providing additional information about the batch operation. requestedAt: type: string description: The date and time when the batch operation was requested, in ISO 8601 format. format: date-time results: type: array description: An array of SimplePublicUpsertObject items representing the results of the batch upsert operation. items: $ref: '#/components/schemas/SimplePublicUpsertObject' startedAt: type: string description: The date and time when the batch operation started, in ISO 8601 format. format: date-time status: type: string description: The current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'. enum: - CANCELED - COMPLETE - PENDING - PROCESSING description: Represents the result of a batch upsert operation, including the operation’s status, timestamps, and a list of successfully created or updated objects. BatchResponseSimplePublicUpsertObjectWithErrors: required: - completedAt - results - startedAt - status type: object properties: completedAt: type: string description: The date and time when the batch operation was completed, in ISO 8601 format. format: date-time errors: type: array description: An array of errors that occurred during the batch operation, each represented as a StandardError. items: $ref: '#/components/schemas/StandardError' links: type: object additionalProperties: type: string description: A map of link names to associated URIs containing documentation about the batch operation. numErrors: type: integer description: The total number of errors that occurred during the batch operation. format: int32 requestedAt: type: string description: The date and time when the batch operation was requested, in ISO 8601 format. format: date-time results: type: array description: An array of results from the batch upsert operation, each represented as a SimplePublicUpsertObject. items: $ref: '#/components/schemas/SimplePublicUpsertObject' startedAt: type: string description: The date and time when the batch operation started, in ISO 8601 format. format: date-time status: type: string description: The current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'. enum: - CANCELED - COMPLETE - PENDING - PROCESSING description: Represents the response from a batch upsert operation, including the status, timestamps, successfully processed objects, and any errors that occurred during processing. CollectionResponseAssociatedId: required: - results type: object properties: paging: $ref: '#/components/schemas/Paging' results: type: array description: An array of associated IDs, each represented by an AssociatedId object. items: $ref: '#/components/schemas/AssociatedId' CollectionResponseSimplePublicObjectWithAssociationsForwardPaging: required: - results type: object properties: paging: $ref: '#/components/schemas/ForwardPaging' results: type: array description: An array of SimplePublicObjectWithAssociations, each containing the properties and associations of a CRM object. items: $ref: '#/components/schemas/SimplePublicObjectWithAssociations' CollectionResponseWithTotalSimplePublicObject: required: - results - total type: object properties: paging: $ref: '#/components/schemas/Paging' results: type: array description: An array containing the simple public objects that are part of the collection. items: $ref: '#/components/schemas/SimplePublicObject' total: type: integer description: An integer representing the total number of simple public objects in the collection. 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, providing a general classification of the error. context: type: object additionalProperties: type: array items: type: string description: Context about the error condition, represented as an object with additional properties that are arrays of strings. 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.' format: uuid example: aeb5f871-7f07-4993-9211-075dc63e7cbf errors: type: array description: Further information about the error, provided as an array of ErrorDetail objects. 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. This is a string property. context: type: object additionalProperties: type: array items: type: string description: Context about the error condition, represented as an object with additional properties that are arrays of strings. example: '{missingScopes=[scope1, scope2]}' in: type: string description: The name of the field or parameter in which the error was found. This is a string property. message: type: string description: A human readable message describing the error along with remediation steps where appropriate. This is a required string property. subCategory: type: string description: A specific category that contains more specific detail about the error. This is a string property. 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: A string representing the upper bound of a range when filtering with range-based operators like 'BETWEEN'. operator: type: string description: A string specifying the comparison operator to use in the filter. Valid values include 'EQ', 'NEQ', 'LT', 'LTE', 'GT', 'GTE', 'BETWEEN', 'IN', 'NOT_IN', 'HAS_PROPERTY', 'NOT_HAS_PROPERTY', 'CONTAINS_TOKEN', and 'NOT_CONTAINS_TOKEN'. 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 on which the filter is applied. It is a string representing the field to be filtered. value: type: string description: A string representing the specific value to compare against the propertyName when using the filter. values: type: array description: An array of strings representing multiple values to compare against the propertyName when using operators like 'IN' or 'NOT_IN'. 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 description: An array of filter objects that define the criteria for filtering data. Each filter specifies a property, an operator, and a value or range of values to match against. 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. NextPage: required: - after type: object properties: after: type: string description: A string token used as a cursor to fetch the next page of results. link: type: string description: A string URL that provides a direct link to the next page of 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 string token used to identify the position of the previous page in the pagination sequence. link: type: string description: A string URL that provides a direct link to access the previous page of results. description: specifies the paging information needed to retrieve the previous set of results in a paginated API response PublicAssociationsForObject: required: - to - types type: object properties: to: $ref: '#/components/schemas/PublicObjectId' types: type: array description: An array of association specifications, each detailing the type of association between the objects. Each item in the array is a reference to the 'AssociationSpec' schema. items: $ref: '#/components/schemas/AssociationSpec' PublicMergeInput: required: - objectIdToMerge - primaryObjectId type: object properties: objectIdToMerge: type: string description: The unique identifier of the object that will be merged into the primary object and subsequently removed. This is a string. primaryObjectId: type: string description: The unique identifier of the primary object that will remain after the merge. This is a string. description: Input data for merging two records. PublicObjectId: required: - id type: object properties: id: type: string description: The unique identifier for the CRM object. It is a string value that is required for identifying objects in API requests. description: Contains the Id of a Public Object PublicObjectSearchRequest: required: - after - filterGroups - limit - properties - sorts type: object properties: after: type: string description: A string representing the paging cursor token to fetch the next set of results. filterGroups: type: array description: An array of FilterGroup objects that define the criteria for filtering the search results. items: $ref: '#/components/schemas/FilterGroup' limit: type: integer description: An integer specifying the maximum number of results to return. format: int32 properties: type: array description: An array of strings indicating which properties of the objects should be returned in the search results. items: type: string query: type: string description: A string representing the search query to filter the objects. sorts: type: array description: An array of strings specifying the fields by which the search results should be sorted. items: type: string description: Describes a search request PublicObjectWarning: required: - category - context - message type: object properties: category: type: string description: A string representing the category of the warning. context: type: object additionalProperties: type: string description: An object providing additional context for the warning, with string properties. message: type: string description: A string containing the warning message. SimplePublicObject: required: - archived - createdAt - id - properties - updatedAt type: object properties: archived: type: boolean description: A boolean indicating whether this object is archived. archivedAt: type: string description: The date and time when this object was archived, in ISO 8601 format. format: date-time createdAt: type: string description: The date and time when this object was created, in ISO 8601 format. format: date-time id: type: string description: The unique identifier for this object, represented as a string. objectWriteTraceId: type: string description: A string identifier used for tracing the write operations on this object. properties: type: object additionalProperties: type: string description: A map of property names to their values, where each value is a string. propertiesWithHistory: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ValueWithTimestamp' description: A map of property names to their historical values, where each value is an array of objects containing the value and timestamp. updatedAt: type: string description: The date and time when this object was last updated, in ISO 8601 format. format: date-time url: type: string description: A string representing the URL associated with this object. warnings: type: array description: An array of warnings related to this object, where each warning contains a category, message, and context. items: $ref: '#/components/schemas/PublicObjectWarning' description: A simple public object. SimplePublicObjectBatchInput: required: - id - properties type: object properties: id: type: string description: A string representing the unique identifier of the object. idProperty: type: string description: A string specifying the name of a property whose values are unique for this object type. example: my_unique_property_name objectWriteTraceId: type: string description: A string used to trace the write operation of the object, useful for debugging and tracking changes. properties: type: object additionalProperties: type: string description: An object containing key-value pairs representing the properties of the CRM objects. Each key is a property name, and each value is the property's value. description: Contains an array of CRM object records to be processed in a batch operation, each defined by their ID and properties. SimplePublicObjectBatchInputForCreate: required: - associations - properties type: object properties: associations: type: array description: An array of associations that define relationships between the objects being created and other existing objects in the CRM. items: $ref: '#/components/schemas/PublicAssociationsForObject' objectWriteTraceId: type: string description: A string used to trace the write operation for debugging or logging purposes. properties: type: object additionalProperties: type: string description: An object containing key-value pairs where keys are property names and values are the corresponding property values for the CRM objects to be created. description: An input object that contains a collection of objects to be created together in a batch. SimplePublicObjectBatchInputUpsert: required: - id - properties type: object properties: id: type: string description: A string representing the unique identifier of the CRM object. idProperty: type: string description: A string specifying the name of a property whose values are unique for this object type. objectWriteTraceId: type: string description: A string used to trace the write operation for debugging or logging purposes. properties: type: object additionalProperties: type: string description: An object containing key-value pairs representing the properties of the CRM object. Each key is a property name, and each value is the property's value. description: Represents an object used in batch upsert operations, containing an object’s unique identifier, its properties, and optionally the unique property name and a write trace ID. SimplePublicObjectId: required: - id type: object properties: id: type: string description: The unique identifier for the object, represented as a string. example: '430001' description: Contains the Id of a Public Object SimplePublicObjectInput: required: - properties type: object properties: properties: type: object additionalProperties: type: string description: An object containing key-value pairs where each key is a property name and each value is a string representing the property's value. description: Represents the input required to create or update a CRM object, containing an object with property names and their corresponding values. SimplePublicObjectInputForCreate: required: - associations - properties type: object properties: associations: type: array description: An array of objects representing the associations between the new CRM object and other existing objects. Each association specifies the related object and the type of association. items: $ref: '#/components/schemas/PublicAssociationsForObject' properties: type: object additionalProperties: type: string description: An object containing key-value pairs where each key is a property name and each value is the property's value. These properties define the attributes of the CRM object being created. description: Is the input object used to create a new CRM object, containing the properties to be set and optional associations to link the new record with other CRM objects. SimplePublicObjectWithAssociations: required: - archived - createdAt - id - properties - updatedAt type: object properties: archived: type: boolean description: A boolean indicating whether this object is archived. archivedAt: type: string description: The date and time when this object was archived, in ISO 8601 format. format: date-time associations: type: object additionalProperties: $ref: '#/components/schemas/CollectionResponseAssociatedId' description: A map of associated object types to their associated IDs, represented as collections of associated IDs. createdAt: type: string description: The date and time when this object was created, in ISO 8601 format. format: date-time id: type: string description: The unique identifier for this object. objectWriteTraceId: type: string description: A string identifier used to trace the write operations for this object. properties: type: object additionalProperties: type: string description: A map of property names to their current values for this object. propertiesWithHistory: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ValueWithTimestamp' description: A map of property names to their values, including a history of changes, represented as arrays of values with timestamps. updatedAt: type: string description: The date and time when this object was last updated, in ISO 8601 format. format: date-time url: type: string description: The URL link to access this object. warnings: type: array description: An array of warnings associated with this object, each containing a category, message, and context. 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. SimplePublicUpsertObject: required: - archived - createdAt - id - new - properties - updatedAt type: object properties: archived: type: boolean description: Indicates whether the object is archived. A boolean value. archivedAt: type: string description: The date and time when this object was archived, in ISO 8601 format. format: date-time createdAt: type: string description: The date and time when this object was created, in ISO 8601 format. format: date-time id: type: string description: The unique identifier for this object. new: type: boolean description: Indicates whether the object is newly created. A boolean value. objectWriteTraceId: type: string description: A trace ID for tracking the write operation that created or updated this object. properties: type: object additionalProperties: type: string description: A map of property names to their values, representing the object's data. propertiesWithHistory: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ValueWithTimestamp' description: A map of property names to arrays of their historical values, each entry containing a value and a timestamp. updatedAt: type: string description: The date and time when this object was last updated, in ISO 8601 format. format: date-time url: type: string description: The URL of the object in HubSpot. warnings: type: array description: An array of warnings related to the object, each containing a category, message, and context. items: $ref: '#/components/schemas/PublicObjectWarning' description: Represents a CRM object that has either been created or updated (upserted) StandardError: required: - category - context - errors - links - message - status type: object properties: category: type: string description: A string that categorizes the error. context: type: object additionalProperties: type: array items: type: string description: An object containing additional context about the error condition. Each key maps to an array of strings. errors: type: array description: An array of ErrorDetail objects providing further details about the error. items: $ref: '#/components/schemas/ErrorDetail' id: type: string description: A string representing the unique identifier for the error. links: type: object additionalProperties: type: string description: An object mapping link names to associated URIs, which contain documentation about the error or recommended remediation steps. message: type: string description: A string containing a human-readable message describing the error. status: type: string description: A string indicating the status of the error. subCategory: type: object properties: {} description: An object providing more specific details about the error 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: A string representing the unique identifier of the source. sourceLabel: type: string description: A string providing a label or description for the source. sourceType: type: string description: A string indicating the type of source from which the value originated. timestamp: type: string description: The date and time when the value was recorded, in ISO 8601 format. format: date-time updatedByUserId: type: integer description: An integer representing the ID of the user who last updated the value. format: int32 value: type: string description: A string representing the data 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.commercepayments.read: '' crm.objects.courses.read: '' crm.objects.courses.write: '' oauth: '' oauth-access: '' 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