openapi: 3.0.1 info: title: HubSpot CRM Tasks Series description: Basepom for all HubSpot Projects version: 2026-09 x-hubspot-product-tier-requirements: marketing: FREE sales: FREE service: FREE cms: FREE commerce: FREE crmHub: FREE dataHub: FREE servers: - url: https://api.hubapi.com tags: - name: Advanced - name: Basic paths: /crm/task-series/2026-09: post: tags: - Advanced summary: Create description: Create a new task series in the HubSpot CRM. This endpoint allows you to start a series of tasks by providing the necessary properties and series details. It is useful for automating repetitive task sequences within your CRM workflows. operationId: post-/crm/task-series/2026-09 parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/StartTaskSeriesBody' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicTaskSeriesResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.contacts.highly_sensitive.write.v2 - oauth2: - tickets - oauth2: - crm.objects.commercepayments.write - oauth2: - crm.objects.goals.write - oauth2: - crm.objects.line_items.write - oauth2: - crm.objects.contacts.write - oauth2: - crm.objects.products.write - oauth2: - crm.objects.projects.write - oauth2: - crm.objects.contacts.sensitive.write.v2 - oauth2: - crm.objects.services.write - oauth2: - crm.objects.projects.sensitive.write - oauth2: - crm.objects.deals.sensitive.write.v2 - oauth2: - tickets.highly_sensitive.v2 - oauth2: - crm.objects.listings.write - oauth2: - crm.objects.appointments.sensitive.write.v2 - oauth2: - crm.objects.companies.write - oauth2: - crm.objects.courses.write - oauth2: - crm.objects.appointments.write - oauth2: - tickets.sensitive.v2 - oauth2: - crm.objects.deals.write - oauth2: - crm.objects.projects.highly_sensitive.write - oauth2: - crm.objects.companies.sensitive.write.v2 - oauth2: - crm.objects.deals.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.highly_sensitive.write.v2 - oauth2: - crm.schemas.tasks.write /crm/task-series/2026-09/{taskId}: get: tags: - Basic summary: Retrieve task series description: Retrieve details of a specific task series using its unique identifier. This endpoint allows you to access the properties and series information associated with the specified taskId. It's useful for obtaining detailed information about a task series, including any custom properties. operationId: get-/crm/task-series/2026-09/{taskId} parameters: - name: taskId in: path description: The unique identifier of the task series to retrieve. This is required to specify which task series you are interested in. required: true style: simple explode: false schema: type: integer format: int64 - name: properties in: query description: A comma-separated list of property names to include in the response. This allows you to specify which properties of the task series you want to retrieve. required: false style: form explode: true schema: type: array items: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicTaskSeriesResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.deals.highly_sensitive.read.v2 - oauth2: - crm.objects.companies.highly_sensitive.read.v2 - oauth2: - tickets - oauth2: - crm.objects.projects.sensitive.read - oauth2: - crm.objects.goals.read - oauth2: - crm.objects.deals.read - oauth2: - crm.objects.line_items.read - oauth2: - crm.objects.services.read - oauth2: - crm.objects.deals.sensitive.read.v2 - oauth2: - tickets.highly_sensitive.v2 - oauth2: - crm.objects.contacts.read - oauth2: - crm.objects.projects.highly_sensitive.read - oauth2: - crm.objects.courses.read - oauth2: - tickets.sensitive.v2 - oauth2: - crm.objects.companies.read - oauth2: - crm.objects.contacts.highly_sensitive.read.v2 - oauth2: - crm.objects.listings.read - oauth2: - crm.objects.appointments.sensitive.read.v2 - oauth2: - crm.objects.appointments.read - oauth2: - crm.objects.contacts.sensitive.read.v2 - oauth2: - crm.objects.products.read - oauth2: - crm.objects.projects.read - oauth2: - crm.objects.companies.sensitive.read.v2 - oauth2: - crm.schemas.tasks.read - oauth2: - crm.objects.tasks.read delete: tags: - Basic summary: Delete description: Delete a specific task series in your HubSpot account using its unique identifier. This operation permanently removes the task series, and it cannot be undone. Ensure that you have the necessary permissions to perform this action. operationId: delete-/crm/task-series/2026-09/{taskId} parameters: - name: taskId in: path description: The unique identifier of the task series to delete. It must be an integer. required: true style: simple explode: false schema: type: integer format: int64 responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.contacts.highly_sensitive.write.v2 - oauth2: - tickets - oauth2: - crm.objects.commercepayments.write - oauth2: - crm.objects.goals.write - oauth2: - crm.objects.line_items.write - oauth2: - crm.objects.contacts.write - oauth2: - crm.objects.products.write - oauth2: - crm.objects.projects.write - oauth2: - crm.objects.contacts.sensitive.write.v2 - oauth2: - crm.objects.services.write - oauth2: - crm.objects.projects.sensitive.write - oauth2: - crm.objects.deals.sensitive.write.v2 - oauth2: - tickets.highly_sensitive.v2 - oauth2: - crm.objects.listings.write - oauth2: - crm.objects.appointments.sensitive.write.v2 - oauth2: - crm.objects.companies.write - oauth2: - crm.objects.courses.write - oauth2: - crm.objects.appointments.write - oauth2: - tickets.sensitive.v2 - oauth2: - crm.objects.deals.write - oauth2: - crm.objects.projects.highly_sensitive.write - oauth2: - crm.objects.companies.sensitive.write.v2 - oauth2: - crm.objects.deals.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.highly_sensitive.write.v2 - oauth2: - crm.schemas.tasks.write patch: tags: - Basic summary: Update task series description: Update the details of a specific task series in your HubSpot account. This endpoint allows you to modify properties and series configurations for the task identified by the taskId. Use this to adjust task scheduling or update task-related information. operationId: patch-/crm/task-series/2026-09/{taskId} parameters: - name: taskId in: path description: The unique identifier of the task series to update. required: true style: simple explode: false schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateTaskSeriesBody' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicTaskSeriesResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - crm.objects.contacts.highly_sensitive.write.v2 - oauth2: - tickets - oauth2: - crm.objects.commercepayments.write - oauth2: - crm.objects.goals.write - oauth2: - crm.objects.line_items.write - oauth2: - crm.objects.contacts.write - oauth2: - crm.objects.products.write - oauth2: - crm.objects.projects.write - oauth2: - crm.objects.contacts.sensitive.write.v2 - oauth2: - crm.objects.services.write - oauth2: - crm.objects.projects.sensitive.write - oauth2: - crm.objects.deals.sensitive.write.v2 - oauth2: - tickets.highly_sensitive.v2 - oauth2: - crm.objects.listings.write - oauth2: - crm.objects.appointments.sensitive.write.v2 - oauth2: - crm.objects.companies.write - oauth2: - crm.objects.courses.write - oauth2: - crm.objects.appointments.write - oauth2: - tickets.sensitive.v2 - oauth2: - crm.objects.deals.write - oauth2: - crm.objects.projects.highly_sensitive.write - oauth2: - crm.objects.companies.sensitive.write.v2 - oauth2: - crm.objects.deals.highly_sensitive.write.v2 - oauth2: - crm.objects.companies.highly_sensitive.write.v2 - oauth2: - crm.schemas.tasks.write components: schemas: Error: required: - category - correlationId - message type: object properties: category: type: string description: The error category, represented as a string. context: type: object additionalProperties: type: array items: type: string description: An object providing context about the error condition, with additional properties as arrays of strings. example: '{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}' correlationId: type: string description: A unique identifier for the request, represented as a UUID. This should be included with any error reports or support tickets. format: uuid example: aeb5f871-7f07-4993-9211-075dc63e7cbf errors: type: array description: An array providing further information about the error, where each item is an ErrorDetail object. 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, represented as an object with string properties. message: type: string description: A human readable message describing the error along with remediation steps where appropriate. It is a string. example: An error occurred subCategory: type: string description: A specific category that contains more detailed information about the error, represented as a string. 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, represented as an object where each key is a context name and the value is an array of strings providing additional details. 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. This is a required property. 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. PublicTaskSeries: type: object properties: repeatInterval: type: string description: The recurrence schedule as a standards-compliant RFC-5545 RRULE string. example: RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR repeatStatus: type: string description: A string representing the current status of the task series repetition. startsAt: type: string description: The date and time when the task series is scheduled to start, in ISO 8601 format. format: date-time PublicTaskSeriesResponse: required: - id - properties - series type: object properties: createdAt: type: string description: The date and time when the task series was created, in ISO 8601 format. format: date-time id: type: string description: The unique identifier for the task series, represented as a string. properties: type: object additionalProperties: type: string description: A map of custom property names to their values, where each value is a string. series: $ref: '#/components/schemas/PublicTaskSeries' updatedAt: type: string description: The date and time when the task series was last updated, in ISO 8601 format. format: date-time StartTaskSeriesBody: required: - properties - series - taskId type: object properties: properties: type: object additionalProperties: type: string description: A map of additional property names to their values, represented as a string-to-string object. series: $ref: '#/components/schemas/PublicTaskSeries' taskId: type: integer description: The unique identifier for the task, represented as an integer in int64 format. format: int64 UpdateTaskSeriesBody: type: object properties: properties: type: object additionalProperties: type: string description: A map of additional property names to their values, represented as key-value pairs where both keys and values are strings. series: $ref: '#/components/schemas/PublicTaskSeries' 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.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.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.goals.read: '' crm.objects.goals.write: '' crm.objects.line_items.read: '' crm.objects.line_items.write: '' crm.objects.listings.read: '' crm.objects.listings.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.services.read: '' crm.objects.services.write: '' crm.objects.tasks.read: '' crm.schemas.tasks.read: '' crm.schemas.tasks.write: '' 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