openapi: 3.0.1 info: title: HubSpot Webhooks 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 - name: Batch paths: /app-webhooks/2026-09/{appId}/settings: get: tags: - Basic summary: Read webhook settings description: Retrieve the webhook settings for the specified app, including the webhook’s target URL, throttle configuration, and create/update date. operationId: get-/app-webhooks/2026-09/{appId}/settings_getAll parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SettingsResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read - oauth2: - private-apps-read put: tags: - Basic summary: Update webhook settings description: Update webhook settings for the specified app. operationId: put-/app-webhooks/2026-09/{appId}/settings_configure parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/SettingsChangeRequest' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SettingsResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write - oauth2: - private-apps-write delete: tags: - Basic summary: Delete webhook settings description: Delete the webhook settings for the specified app. Event subscriptions will not be deleted, but will be paused until another webhook is created. operationId: delete-/app-webhooks/2026-09/{appId}/settings_clear parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write - oauth2: - private-apps-write /app-webhooks/2026-09/{appId}/subscriptions: get: tags: - Basic summary: Read event subscriptions description: Retrieve event subscriptions for the specified app. operationId: get-/app-webhooks/2026-09/{appId}/subscriptions_getAll parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SubscriptionListResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read - oauth2: - private-apps-read post: tags: - Basic summary: Create an event subscription description: Create new event subscription for the specified app. operationId: post-/app-webhooks/2026-09/{appId}/subscriptions_create parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionCreateRequest' 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/SubscriptionResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write - oauth2: - private-apps-write /app-webhooks/2026-09/{appId}/subscriptions/batch/update: post: tags: - Batch summary: Batch create event subscriptions description: Batch create event subscriptions for the specified app. operationId: post-/app-webhooks/2026-09/{appId}/subscriptions/batch/update_updateBatch parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchInputSubscriptionBatchUpdateRequest' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseSubscriptionResponse' '207': description: multiple statuses content: application/json: schema: $ref: '#/components/schemas/BatchResponseSubscriptionResponseWithErrors' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write - oauth2: - private-apps-write /app-webhooks/2026-09/{appId}/subscriptions/{subscriptionId}: get: tags: - Basic summary: Read an event subscription description: Retrieve a specific event subscription by ID. operationId: get-/app-webhooks/2026-09/{appId}/subscriptions/{subscriptionId}_getById parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: subscriptionId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SubscriptionResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read - oauth2: - private-apps-read delete: tags: - Basic summary: Delete event subscription description: Delete an existing event subscription by ID. operationId: delete-/app-webhooks/2026-09/{appId}/subscriptions/{subscriptionId}_archive parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: subscriptionId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write - oauth2: - private-apps-write patch: tags: - Basic summary: Update an event subscription description: Update an existing event subscription by ID. operationId: patch-/app-webhooks/2026-09/{appId}/subscriptions/{subscriptionId}_update parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: subscriptionId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionPatchRequest' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SubscriptionResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write - oauth2: - private-apps-write /webhooks-journal/journal-local/2026-09/batch/earliest/{count}: get: tags: - Batch summary: Retrieve Batch description: Retrieve the earliest batch of webhook journal entries based on the specified count. This endpoint is useful for fetching a specific number of the earliest entries in the webhook journal for analysis or processing. operationId: get-/webhooks-journal/journal-local/2026-09/batch/earliest/{count}_/webhooks-journal/journal-local/2026-03/batch/earliest/{count} parameters: - name: count in: path required: true style: simple explode: false schema: minimum: 1 type: integer format: int32 - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal-local/2026-09/batch/latest/{count}: get: tags: - Batch summary: Retrieve latest batch description: Retrieve the latest batch of webhook journal entries. This endpoint is useful for accessing the most recent data entries processed by the webhook journal. It requires specifying the number of entries to retrieve. operationId: get-/webhooks-journal/journal-local/2026-09/batch/latest/{count}_/webhooks-journal/journal-local/2026-03/batch/latest/{count} parameters: - name: count in: path required: true style: simple explode: false schema: minimum: 1 type: integer format: int32 - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal-local/2026-09/batch/read: post: tags: - Batch summary: Batch read description: Perform a batch read operation on the webhooks journal. This endpoint allows you to read multiple entries from the journal in a single request. It requires a JSON request body specifying the inputs to be read. The response includes the results of the batch read operation, and may return multiple statuses if there are errors. operationId: post-/webhooks-journal/journal-local/2026-09/batch/read_/webhooks-journal/journal-local/2026-03/batch/read parameters: - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchInputString' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponse' '207': description: multiple statuses content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponseWithErrors' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal-local/2026-09/batch/{offset}/next/{count}: get: tags: - Batch summary: Retrieve batch description: Retrieve a batch of webhook journal entries starting from a specified offset. This endpoint allows you to fetch a defined number of entries, facilitating the processing of webhook data in manageable chunks. operationId: get-/webhooks-journal/journal-local/2026-09/batch/{offset}/next/{count}_/webhooks-journal/journal-local/2026-03/batch/{offset}/next/{count} parameters: - name: count in: path required: true style: simple explode: false schema: minimum: 1 type: integer format: int32 - name: offset in: path required: true style: simple explode: false schema: type: string - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal-local/2026-09/earliest: get: tags: - Basic summary: Retrieve earliest description: Retrieve the earliest entry from the webhooks journal for the specified portal. This endpoint is useful for accessing the oldest records in the journal, which can be helpful for auditing or tracking purposes. operationId: get-/webhooks-journal/journal-local/2026-09/earliest_/webhooks-journal/journal-local/2026-03/earliest parameters: - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal-local/2026-09/latest: get: tags: - Basic summary: Retrieve latest journal description: Retrieve the latest entries from the webhooks journal for the specified portal. This endpoint is useful for accessing the most recent webhook events that have been logged, allowing you to process or analyze them as needed. operationId: get-/webhooks-journal/journal-local/2026-09/latest_/webhooks-journal/journal-local/2026-03/latest parameters: - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal-local/2026-09/offset/{offset}/next: get: tags: - Basic summary: Retrieve Next Batch description: Retrieve the next set of webhook journal entries starting from a specified offset. This endpoint is useful for paginating through webhook journal data in a sequential manner, allowing you to fetch entries beyond a given point. operationId: get-/webhooks-journal/journal-local/2026-09/offset/{offset}/next_/webhooks-journal/journal-local/2026-03/offset/{offset}/next parameters: - name: offset in: path required: true style: simple explode: false schema: type: string - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal-local/2026-09/status/{statusId}: get: tags: - Basic summary: Retrieve status description: Retrieve the status of a specific webhook journal entry using its unique status ID. This endpoint is useful for monitoring the progress or completion of webhook processing tasks. operationId: get-/webhooks-journal/journal-local/2026-09/status/{statusId}_/webhooks-journal/journal-local/2026-03/status/{statusId} parameters: - name: statusId in: path required: true style: simple explode: false schema: type: string format: uuid responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SnapshotStatusResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-snapshot-management x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal/2026-09/batch/earliest/{count}: get: tags: - Batch summary: Retrieve Batch description: Retrieve the earliest batch of webhook journal entries up to the specified count. This endpoint is useful for fetching historical webhook data in batches, allowing you to process or analyze the earliest entries first. operationId: get-/webhooks-journal/journal/2026-09/batch/earliest/{count}_/webhooks-journal/journal/2026-03/batch/earliest/{count} parameters: - name: count in: path required: true style: simple explode: false schema: minimum: 1 type: integer format: int32 - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal/2026-09/batch/latest/{count}: get: tags: - Batch summary: Retrieve latest batch description: Retrieve the latest batch of webhook journal entries. This endpoint allows you to specify the number of entries to fetch, providing a way to access recent webhook activity within your HubSpot account. operationId: get-/webhooks-journal/journal/2026-09/batch/latest/{count}_/webhooks-journal/journal/2026-03/batch/latest/{count} parameters: - name: count in: path required: true style: simple explode: false schema: minimum: 1 type: integer format: int32 - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal/2026-09/batch/read: post: tags: - Batch summary: Batch read description: Perform a batch read operation on the webhooks journal for the specified date. This endpoint allows you to retrieve multiple entries from the webhooks journal in a single request, which can be useful for processing large amounts of data efficiently. operationId: post-/webhooks-journal/journal/2026-09/batch/read_/webhooks-journal/journal/2026-03/batch/read parameters: - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchInputString' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponse' '207': description: multiple statuses content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponseWithErrors' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal/2026-09/batch/{offset}/next/{count}: get: tags: - Batch summary: Fetch Batch Entries description: Retrieve a batch of webhook journal entries starting from a specified offset. This endpoint allows you to fetch a specified number of entries, making it useful for paginating through large sets of webhook journal data. operationId: get-/webhooks-journal/journal/2026-09/batch/{offset}/next/{count}_/webhooks-journal/journal/2026-03/batch/{offset}/next/{count} parameters: - name: count in: path required: true style: simple explode: false schema: minimum: 1 type: integer format: int32 - name: offset in: path required: true style: simple explode: false schema: type: string - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BatchResponseJournalFetchResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal/2026-09/earliest: get: tags: - Basic summary: Retrieve earliest description: Retrieve the earliest entry from the webhooks journal for the specified version. This endpoint is useful for accessing the oldest records available in the journal, which can be helpful for auditing or historical data analysis. operationId: get-/webhooks-journal/journal/2026-09/earliest_/webhooks-journal/journal/2026-03/earliest parameters: - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal/2026-09/latest: get: tags: - Basic summary: Retrieve latest journal description: Retrieve the latest entries from the webhooks journal for the specified portal. This endpoint is useful for accessing the most recent webhook events processed by your HubSpot account. It allows you to filter the results by the portal ID to ensure you are retrieving data relevant to a specific installation. operationId: get-/webhooks-journal/journal/2026-09/latest_/webhooks-journal/journal/2026-03/latest parameters: - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal/2026-09/offset/{offset}/next: get: tags: - Basic summary: Retrieve Next Batch description: Retrieve the next batch of webhook journal entries starting from a specified offset. This endpoint is useful for paginating through large sets of webhook data, allowing you to continue fetching entries from where you last left off. operationId: get-/webhooks-journal/journal/2026-09/offset/{offset}/next_/webhooks-journal/journal/2026-03/offset/{offset}/next parameters: - name: offset in: path required: true style: simple explode: false schema: type: string - name: installPortalId in: query required: false style: form explode: true schema: type: integer format: int32 responses: default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-data-access x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/journal/2026-09/status/{statusId}: get: tags: - Basic summary: Retrieve status description: Retrieve the status of a specific webhook journal snapshot entry using its snapshot ID. This endpoint is useful for checking the current state of a webhooks journal snapshot, such as whether it is pending, in progress, successful, failed, or expired. operationId: get-/webhooks-journal/journal/2026-09/status/{statusId}_/webhooks-journal/journal/2026-03/status/{statusId} parameters: - name: statusId in: path required: true style: simple explode: false schema: type: string format: uuid responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SnapshotStatusResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-snapshot-management x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/snapshots/2026-09/crm: post: tags: - Advanced summary: Create Snapshot description: Create a batch of CRM object snapshots for the specified portal. This endpoint allows you to capture the state of CRM objects at a specific point in time, which can be useful for auditing or historical analysis. The request requires a list of CRM object snapshot requests, each specifying the portal ID, object ID, object type ID, and properties to include in the snapshot. operationId: post-/webhooks-journal/snapshots/2026-09/crm_/webhooks-journal/snapshots/2026-03/crm parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CrmObjectSnapshotBatchRequest' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CrmObjectSnapshotBatchResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-snapshot-management x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/subscriptions/2026-09: get: tags: - Basic summary: Get Existing Subscriptions description: Fetch existing subscriptions for the authenticated app operationId: get-/webhooks-journal/subscriptions/2026-09_/webhooks-journal/subscriptions/2026-03 parameters: [] responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CollectionResponseSubscriptionResponseNoPaging' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-subscription-read x-hubspot-rate-limit-exemptions: - daily - ten-secondly post: tags: - Basic summary: Upsert Subscription description: 'Create or update an existing subscription by specifying the fields and shapes of what events you need to listen to. Full documentation on potential subscription types can be found on the overview documentation page. ' operationId: post-/webhooks-journal/subscriptions/2026-09_/webhooks-journal/subscriptions/2026-03 parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionUpsertRequest' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SubscriptionResponse_1' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-subscription-management x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/subscriptions/2026-09/filters: post: tags: - Advanced summary: Create Filter description: Create a new filter for a webhook subscription in your HubSpot account. This endpoint allows you to define specific conditions that a webhook event must meet to trigger the subscription. It is useful for managing and customizing the behavior of webhook subscriptions based on specific criteria. operationId: post-/webhooks-journal/subscriptions/2026-09/filters_/webhooks-journal/subscriptions/2026-03/filters parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/FilterCreateRequest' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/FilterCreateResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-subscription-management x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/subscriptions/2026-09/filters/subscription/{subscriptionId}: get: tags: - Basic summary: Retrieve Filters description: Retrieve the filters associated with a specific webhook subscription in the HubSpot account. This endpoint is useful for obtaining detailed information about the filters applied to a given subscription, identified by its subscription ID. operationId: get-/webhooks-journal/subscriptions/2026-09/filters/subscription/{subscriptionId}_/webhooks-journal/subscriptions/2026-03/filters/subscription/{subscriptionId} parameters: - name: subscriptionId in: path required: true style: simple explode: false schema: type: integer format: int64 responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/FilterResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-subscription-read x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/subscriptions/2026-09/filters/{filterId}: get: tags: - Basic summary: Retrieve filter description: Retrieve details of a specific filter associated with a webhook subscription in the HubSpot account. This endpoint is useful for accessing the configuration and conditions of a filter by its unique identifier. operationId: get-/webhooks-journal/subscriptions/2026-09/filters/{filterId}_/webhooks-journal/subscriptions/2026-03/filters/{filterId} parameters: - name: filterId in: path required: true style: simple explode: false schema: type: integer format: int64 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/FilterResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-subscription-read x-hubspot-rate-limit-exemptions: - daily - ten-secondly delete: tags: - Basic summary: Delete filter description: Delete a specific filter associated with a webhook journal subscription. This operation is useful for managing and cleaning up filters that are no longer needed in your subscription setup. The endpoint requires the unique identifier of the filter to be deleted. operationId: delete-/webhooks-journal/subscriptions/2026-09/filters/{filterId}_/webhooks-journal/subscriptions/2026-03/filters/{filterId} parameters: - name: filterId in: path 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: - webhooks-journal-subscription-management x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/subscriptions/2026-09/portals/{portalId}: delete: tags: - Basic summary: Delete subscription description: Delete a webhook journal subscription for a specific portal. This operation removes the subscription associated with the given portalId, and no content is returned upon successful deletion. operationId: delete-/webhooks-journal/subscriptions/2026-09/portals/{portalId}_/webhooks-journal/subscriptions/2026-03/portals/{portalId} parameters: - name: portalId in: path 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: - webhooks-journal-subscription-management x-hubspot-rate-limit-exemptions: - daily - ten-secondly /webhooks-journal/subscriptions/2026-09/{subscriptionId}: get: tags: - Basic summary: Retrieve subscription description: Retrieve details of a specific webhook subscription using its unique identifier. This endpoint is useful for obtaining information about a particular subscription's configuration and status within the HubSpot account. operationId: get-/webhooks-journal/subscriptions/2026-09/{subscriptionId}_/webhooks-journal/subscriptions/2026-03/{subscriptionId} parameters: - name: subscriptionId in: path required: true style: simple explode: false schema: type: integer format: int64 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SubscriptionResponse_1' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - webhooks-journal-subscription-read x-hubspot-rate-limit-exemptions: - daily - ten-secondly delete: tags: - Basic summary: Delete subscription description: Delete a specific webhook journal subscription using its unique identifier. This operation is useful for managing and cleaning up subscriptions that are no longer needed or relevant. operationId: delete-/webhooks-journal/subscriptions/2026-09/{subscriptionId}_/webhooks-journal/subscriptions/2026-03/{subscriptionId} parameters: - name: subscriptionId in: path 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: - webhooks-journal-subscription-management x-hubspot-rate-limit-exemptions: - daily - ten-secondly components: schemas: ActionOverrideRequest: type: object properties: associatedObjectTypeIds: type: array description: An array of strings, each representing an associated object type ID relevant to the action override. items: type: string listIds: type: array description: An array of integers representing list IDs that are associated with the action override. The integers are in int64 format. items: type: integer format: int64 objectIds: type: array description: An array of integers, each representing an object ID for which the action override is applicable. The integers are in int64 format. items: type: integer format: int64 properties: type: array description: An array of strings representing the properties to be overridden in the action. Each string corresponds to a property name. items: type: string AppLifecycleEventSubscriptionUpsertRequest: required: - eventTypeId - properties - subscriptionType type: object properties: eventTypeId: type: string description: "A string representing the unique identifier for the event type that the subscription\ \ pertains to. This value corresponds to an internal event classification at HubSpot. \n\n\ 4-1909196: App install event\n4-1916193: App uninstall event" properties: type: array description: An array of strings specifying the properties of the event associated with the subscription. items: type: string subscriptionType: type: string description: A string indicating the type of subscription, which is 'APP_LIFECYCLE_EVENT' by default. default: APP_LIFECYCLE_EVENT enum: - APP_LIFECYCLE_EVENT x-hubspot-sub-type-impl: true AssociationSubscriptionUpsertRequest: required: - actions - associatedObjectTypeIds - objectIds - objectTypeId - portalId - subscriptionType type: object properties: actions: type: array description: An array of strings specifying the actions that trigger the subscription. Valid actions include 'ASSOCIATION_ADDED' and 'ASSOCIATION_REMOVED'. items: type: string enum: - CREATE - UPDATE - DELETE - MERGE - RESTORE - ASSOCIATION_ADDED - ASSOCIATION_REMOVED - SNAPSHOT - APP_INSTALL - APP_UNINSTALL - ADDED_TO_LIST - REMOVED_FROM_LIST - GDPR_DELETE associatedObjectTypeIds: type: array description: 'An array of strings representing the type identifiers of the associated objects involved in the subscription. If present, events will only fire if the TO objectTypeId in the association is included in this array. ' items: type: string objectIds: type: array description: An array of integers representing the unique identifiers of the objects involved in the subscription. items: type: integer format: int64 objectTypeId: type: string description: 'A string representing the type identifier of the object involved in the subscription. For example "0-1" for Contacts. This corresponds to the FROM side of the association. An objectTypeId of "0-1" would match a CONTACT_TO_COMPANY association change. ' portalId: type: integer description: An integer representing the unique identifier of the HubSpot portal. format: int64 subscriptionType: type: string description: A string indicating the type of subscription, which is 'ASSOCIATION' by default. default: ASSOCIATION enum: - ASSOCIATION x-hubspot-sub-type-impl: true BatchInputString: required: - inputs type: object properties: inputs: type: array description: An array of strings to be processed. This property is required. items: type: string BatchInputSubscriptionBatchUpdateRequest: required: - inputs type: object properties: inputs: type: array description: An array of SubscriptionBatchUpdateRequest objects, each representing a subscription to be updated. This property is required. items: $ref: '#/components/schemas/SubscriptionBatchUpdateRequest' BatchResponseJournalFetchResponse: 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 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 results from the batch operation, each represented as a JournalFetchResponse object. items: $ref: '#/components/schemas/JournalFetchResponse' 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 BatchResponseJournalFetchResponseWithErrors: required: - completedAt - results - startedAt - status type: object properties: completedAt: type: string description: The date and time when the batch process was completed, in ISO 8601 format. format: date-time errors: type: array description: An array of standard errors that occurred during the batch process, providing details about each error. items: $ref: '#/components/schemas/StandardError' links: type: object additionalProperties: type: string description: A map of link names to associated URIs, providing additional context or actions related to the batch process. numErrors: type: integer description: The number of errors that occurred during the batch process. format: int32 requestedAt: type: string description: The date and time when the batch request was made, in ISO 8601 format. format: date-time results: type: array description: An array of journal fetch responses, each representing a result from the batch process. items: $ref: '#/components/schemas/JournalFetchResponse' startedAt: type: string description: The date and time when the batch process started, in ISO 8601 format. format: date-time status: type: string description: The current status of the batch process. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'. enum: - CANCELED - COMPLETE - PENDING - PROCESSING BatchResponseSubscriptionResponse: 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 containing the results of the batch operation, with each item representing an individual subscription response. items: $ref: '#/components/schemas/SubscriptionResponse' 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 BatchResponseSubscriptionResponseWithErrors: required: - completedAt - results - startedAt - status type: object properties: completedAt: type: string description: The date and time when the batch processing 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 processing. items: $ref: '#/components/schemas/StandardError' links: type: object additionalProperties: type: string description: A map of link names to associated URIs, providing additional resources or documentation related to the batch operation. numErrors: type: integer description: The total number of errors encountered during the batch operation. format: int32 requestedAt: type: string description: The date and time when the batch request was initially made, in ISO 8601 format. format: date-time results: type: array description: An array of SubscriptionResponse objects representing the results of each subscription update processed in the batch. items: $ref: '#/components/schemas/SubscriptionResponse' startedAt: type: string description: The date and time when the batch processing began, 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 CollectionResponseSubscriptionResponseNoPaging: required: - results type: object properties: results: type: array description: An array of SubscriptionResponse objects, each representing a subscription's details such as actions, appId, createdAt, and other relevant properties. items: $ref: '#/components/schemas/SubscriptionResponse_1' Condition: required: - filterType - operator - property type: object properties: filterType: type: string description: A string indicating the type of filter being applied. Valid value is 'CRM_OBJECT_PROPERTY'. enum: - CRM_OBJECT_PROPERTY operator: type: string description: A string specifying the operation to be performed in the condition. Valid values include 'EQ', 'N_EQ', 'LT', 'GT', 'LTE', 'GTE', 'CONTAINS', 'STARTS_WITH', 'ENDS_WITH', 'IN', 'NOT_IN', 'IS_EMPTY', and 'IS_NOT_EMPTY'. enum: - CONTAINS - ENDS_WITH - EQ - GT - GTE - IN - IS_EMPTY - IS_NOT_EMPTY - LT - LTE - N_EQ - NOT_IN - STARTS_WITH property: type: string description: A string representing the specific property of the CRM object that the condition applies to. value: type: string description: A string representing the value to be compared against the specified property when using single-value operators. values: type: array description: An array of strings used to specify multiple values for comparison when using operators that support multiple values, such as 'IN' or 'NOT_IN'. items: type: string CrmObjectSnapshotBatchRequest: required: - snapshotRequests type: object properties: snapshotRequests: type: array description: An array of CrmObjectSnapshotRequest objects, each representing a request to create a snapshot for a specific CRM object. This property is required. items: $ref: '#/components/schemas/CrmObjectSnapshotRequest' CrmObjectSnapshotBatchResponse: required: - snapshotResponses type: object properties: snapshotResponses: type: array description: An array of CrmObjectSnapshotResponse objects, each representing the result of a snapshot operation for a specific CRM object. This property is required. items: $ref: '#/components/schemas/CrmObjectSnapshotResponse' CrmObjectSnapshotRequest: required: - objectId - objectTypeId - portalId - properties type: object properties: objectId: type: integer description: An integer representing the unique identifier of the CRM object for which the snapshot is requested. format: int64 objectTypeId: type: string description: A string representing the type identifier of the CRM object, specifying what kind of object it is within HubSpot. portalId: type: integer description: An integer representing the unique identifier of the HubSpot account (portal) where the CRM object resides. format: int64 properties: type: array description: An array of strings, each representing a property of the CRM object that should be included in the snapshot. items: type: string CrmObjectSnapshotResponse: required: - objectId - objectTypeId - portalId - snapshotStatusId type: object properties: objectId: type: integer description: An integer representing the unique identifier of the CRM object for which the snapshot is taken. format: int64 objectTypeId: type: string description: A string indicating the type of the CRM object, such as contact, company, or deal. portalId: type: integer description: An integer representing the unique identifier of the HubSpot portal associated with the CRM object. format: int64 snapshotStatusId: type: string description: A UUID string representing the status identifier of the snapshot request, indicating the current state of the snapshot process. format: uuid 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: - conditions type: object properties: conditions: type: array description: An array of conditions that define the criteria for the filter. Each condition specifies a property, an operator, and optionally a value or values. items: $ref: '#/components/schemas/Condition' 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. ' FilterCreateRequest: required: - filter - subscriptionId type: object properties: filter: $ref: '#/components/schemas/Filter' subscriptionId: type: integer description: The unique identifier of the subscription to which the filter will be applied. It is an integer formatted as int64. format: int64 FilterCreateResponse: required: - filterId type: object properties: filterId: type: integer description: The unique identifier for the created filter. It is an integer formatted as int64. format: int64 FilterResponse: required: - createdAt - filter - id type: object properties: createdAt: type: integer description: A Unix timestamp in milliseconds indicating when the filter was created. format: int64 filter: $ref: '#/components/schemas/Filter' id: type: integer description: The unique identifier for the filter. It is an integer in int64 format. format: int64 GdprPrivacyDeletionSubscriptionUpsertRequest: required: - actions - objectTypeId - portalId - subscriptionType type: object properties: actions: type: array description: 'An array of strings specifying the actions that trigger the subscription. Valid action is ''GDPR_DELETE''. ' items: type: string enum: - CREATE - UPDATE - DELETE - MERGE - RESTORE - ASSOCIATION_ADDED - ASSOCIATION_REMOVED - SNAPSHOT - APP_INSTALL - APP_UNINSTALL - ADDED_TO_LIST - REMOVED_FROM_LIST - GDPR_DELETE objectTypeId: type: string description: A string representing the unique identifier for the type of object associated with the subscription. portalId: type: integer description: 'An integer representing the unique identifier for the HubSpot portal that is being listened to for changes. ' format: int64 subscriptionType: type: string description: 'A string indicating the type of subscription. GDPR_PRIVACY_DELETION is the only valid option for GdprPrivacyDeletionSubscriptionUpsertRequest. ' default: GDPR_PRIVACY_DELETION enum: - GDPR_PRIVACY_DELETION x-hubspot-sub-type-impl: true JournalFetchResponse: required: - currentOffset - expiresAt - url type: object properties: currentOffset: type: string description: The unique identifier for the current offset of the journal entry, formatted as a UUID. format: uuid expiresAt: type: string description: The date and time when the URL will expire, in ISO 8601 format. format: date-time url: type: string description: The Pre-signed S3 URL where the journal entry can be accessed. It is a string. ListMembershipSubscriptionUpsertRequest: required: - actions - listIds - objectIds - portalId - subscriptionType type: object properties: actions: type: array description: An array of strings specifying the actions that trigger the subscription. Valid actions include 'ADDED_TO_LIST', and 'REMOVED_FROM_LIST' items: type: string enum: - CREATE - UPDATE - DELETE - MERGE - RESTORE - ASSOCIATION_ADDED - ASSOCIATION_REMOVED - SNAPSHOT - APP_INSTALL - APP_UNINSTALL - ADDED_TO_LIST - REMOVED_FROM_LIST - GDPR_DELETE listIds: type: array description: An array of integers representing the IDs of the lists involved in the subscription. Empty means listen to all lists. items: type: integer format: int64 objectIds: type: array description: An array of integers representing the IDs of the objects associated with the subscription. Empty means listen to all objectsIds. items: type: integer format: int64 portalId: type: integer description: An integer representing the ID of the portal where the subscription is being managed. format: int64 subscriptionType: type: string description: A string indicating the type of subscription. The default and only valid value is 'LIST_MEMBERSHIP'. default: LIST_MEMBERSHIP enum: - LIST_MEMBERSHIP x-hubspot-sub-type-impl: true ObjectSubscriptionUpsertRequest: required: - actions - objectIds - objectTypeId - portalId - properties - subscriptionType type: object properties: actions: type: array description: An array of strings specifying the actions that trigger the subscription. Valid actions include 'CREATE', 'UPDATE', 'DELETE', 'MERGE', 'RESTORE'. items: type: string enum: - CREATE - UPDATE - DELETE - MERGE - RESTORE - ASSOCIATION_ADDED - ASSOCIATION_REMOVED - SNAPSHOT - APP_INSTALL - APP_UNINSTALL - ADDED_TO_LIST - REMOVED_FROM_LIST - GDPR_DELETE objectIds: type: array description: An array of integers representing the IDs of the objects involved in the subscription. Empty means listen to all objectIds. items: type: integer format: int64 objectTypeId: type: string description: A string that identifies the type of object for which the subscription is being created or updated. For example "0-1" for contacts. portalId: type: integer description: An integer representing the portal ID associated with the subscription. format: int64 properties: type: array description: An array of strings listing the properties of the objects that are relevant to the subscription. Empty means listen to all properties. items: type: string subscriptionType: type: string description: A string indicating the type of subscription. The default and only valid value is 'OBJECT'. default: OBJECT enum: - OBJECT x-hubspot-sub-type-impl: true SettingsChangeRequest: required: - targetUrl - throttling type: object properties: targetUrl: type: string description: The URL to which webhook events will be sent. It is a string. throttling: $ref: '#/components/schemas/ThrottlingSettings' SettingsResponse: required: - createdAt - targetUrl - throttling type: object properties: createdAt: type: string description: The date and time when the webhook settings were created, in ISO 8601 format. format: date-time targetUrl: type: string description: The URL to which the webhook events will be sent. It is a string. throttling: $ref: '#/components/schemas/ThrottlingSettings' updatedAt: type: string description: The date and time when the webhook settings were last updated, in ISO 8601 format. format: date-time SnapshotStatusResponse: required: - id - initiatedAt - status type: object properties: completedAt: type: integer description: The timestamp indicating when the snapshot operation was completed, represented as a Unix timestamp in milliseconds. format: int64 errorCode: type: string description: A code representing the error that occurred, if any. Possible values are 'TIMEOUT', 'VALIDATION_ERROR', 'INTERNAL_ERROR', and 'PERMISSION_DENIED'. enum: - INTERNAL_ERROR - PERMISSION_DENIED - TIMEOUT - VALIDATION_ERROR id: type: string description: The unique identifier for the snapshot operation, represented as a UUID. format: uuid initiatedAt: type: integer description: The timestamp indicating when the snapshot operation was initiated, represented as a Unix timestamp in milliseconds. format: int64 message: type: string description: A descriptive message providing additional information about the snapshot operation or error. status: type: string description: The current status of the snapshot. Valid values include 'PENDING', 'IN_PROGRESS', 'COMPLETED', 'FAILED', and 'EXPIRED'. enum: - EXPIRED - FAILED - IN_PROGRESS - PENDING - SUCCESS StandardError: required: - category - context - errors - links - message - status type: object properties: category: type: string description: A string indicating the category of the error. context: type: object additionalProperties: type: array items: type: string description: An object containing additional context about the error condition, with each property being an array of strings. errors: type: array description: An array of ErrorDetail objects providing further information about the error. items: $ref: '#/components/schemas/ErrorDetail' id: type: string description: A string that uniquely identifies the error instance. links: type: object additionalProperties: type: string description: An object mapping link names to associated URIs that 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 representing the status of the error. subCategory: type: object properties: {} description: An object providing more specific categorization of the error. description: Ye olde error SubscriptionBatchUpdateRequest: required: - active - id type: object properties: active: type: boolean description: A boolean indicating whether the subscription is active. id: type: integer description: The unique identifier for the subscription. It is an integer. format: int32 SubscriptionCreateRequest: required: - active - eventType type: object properties: active: type: boolean description: A boolean indicating whether the subscription is active. eventType: type: string description: A string representing the type of event to subscribe to. Valid values include various property changes, creations, deletions, merges, restorations, association changes, and event completions. enum: - company.associationChange - company.creation - company.deletion - company.merge - company.propertyChange - company.restore - contact.associationChange - contact.creation - contact.deletion - contact.merge - contact.privacyDeletion - contact.propertyChange - contact.restore - conversation.creation - conversation.deletion - conversation.newMessage - conversation.privacyDeletion - conversation.propertyChange - deal.associationChange - deal.creation - deal.deletion - deal.merge - deal.propertyChange - deal.restore - event.completed - line_item.associationChange - line_item.creation - line_item.deletion - line_item.merge - line_item.propertyChange - line_item.restore - object.associationChange - object.creation - object.deletion - object.merge - object.propertyChange - object.restore - product.creation - product.deletion - product.merge - product.propertyChange - product.restore - ticket.associationChange - ticket.creation - ticket.deletion - ticket.merge - ticket.propertyChange - ticket.restore eventTypeName: type: string description: A string providing a human-readable name for the event type. objectTypeId: type: string description: A string representing the ID of the object type associated with the subscription. propertyName: type: string description: A string indicating the specific property name related to the event type, if applicable. SubscriptionListResponse: required: - results type: object properties: results: type: array description: An array of subscription responses, each detailing a specific subscription's properties and status. items: $ref: '#/components/schemas/SubscriptionResponse' SubscriptionPatchRequest: type: object properties: active: type: boolean description: A boolean indicating whether the subscription is active. If true, the subscription is active; if false, it is inactive. SubscriptionResponse: required: - active - createdAt - eventType - id type: object properties: active: type: boolean description: A boolean indicating whether the subscription is currently active. createdAt: type: string description: The date and time when the subscription was created, in ISO 8601 format. format: date-time eventType: type: string description: The type of event that triggers the subscription. Valid values include various property changes, creations, deletions, merges, restores, and association changes for different HubSpot objects. enum: - company.associationChange - company.creation - company.deletion - company.merge - company.propertyChange - company.restore - contact.associationChange - contact.creation - contact.deletion - contact.merge - contact.privacyDeletion - contact.propertyChange - contact.restore - conversation.creation - conversation.deletion - conversation.newMessage - conversation.privacyDeletion - conversation.propertyChange - deal.associationChange - deal.creation - deal.deletion - deal.merge - deal.propertyChange - deal.restore - event.completed - line_item.associationChange - line_item.creation - line_item.deletion - line_item.merge - line_item.propertyChange - line_item.restore - object.associationChange - object.creation - object.deletion - object.merge - object.propertyChange - object.restore - product.creation - product.deletion - product.merge - product.propertyChange - product.restore - ticket.associationChange - ticket.creation - ticket.deletion - ticket.merge - ticket.propertyChange - ticket.restore eventTypeName: type: string description: The name of the event type for the subscription. id: type: string description: The unique identifier for the subscription. It is an integer formatted as int64. objectTypeId: type: string description: The identifier for the object type associated with the subscription. It is a string. propertyName: type: string description: The name of the property associated with the subscription event, if applicable. updatedAt: type: string description: The date and time when the subscription was last updated, in ISO 8601 format. format: date-time SubscriptionResponse_1: required: - actions - appId - createdAt - id - objectTypeId - subscriptionType - updatedAt type: object properties: actionOverrides: type: object additionalProperties: $ref: '#/components/schemas/ActionOverrideRequest' description: An object containing action overrides, where each key is an action and the value is an ActionOverrideRequest object. actions: type: array description: A list of actions that trigger the subscription. Possible values include 'CREATE', 'UPDATE', 'DELETE', 'MERGE', 'RESTORE', 'ASSOCIATION_ADDED', 'ASSOCIATION_REMOVED', 'SNAPSHOT', 'APP_INSTALL', 'APP_UNINSTALL', 'ADDED_TO_LIST', 'REMOVED_FROM_LIST', and 'GDPR_DELETE'. items: type: string enum: - CREATE - UPDATE - DELETE - MERGE - RESTORE - ASSOCIATION_ADDED - ASSOCIATION_REMOVED - SNAPSHOT - APP_INSTALL - APP_UNINSTALL - ADDED_TO_LIST - REMOVED_FROM_LIST - GDPR_DELETE appId: type: integer description: The unique identifier for the app associated with the subscription. It is an integer formatted as int64. format: int64 associatedObjectTypeIds: type: array description: A list of associated object type IDs. Each ID is a string. items: type: string createdAt: type: string description: The date and time when the subscription was created, in ISO 8601 format. format: date-time createdBy: type: integer description: The ID of the user who created the subscription. It is an integer formatted as int64. format: int64 deletedAt: type: string description: The date and time when the subscription was deleted, in ISO 8601 format, if applicable. format: date-time id: type: integer description: The unique identifier for the subscription. It is an integer formatted as int64. format: int64 listIds: type: array description: A list of list IDs associated with the subscription. Each ID is an integer formatted as int64. items: type: integer format: int64 objectIds: type: array description: A list of object IDs associated with the subscription. Each ID is an integer formatted as int64. items: type: integer format: int64 objectTypeId: type: string description: The identifier for the object type associated with the subscription. It is a string. portalId: type: integer description: The unique identifier for the portal associated with the subscription. It is an integer formatted as int64. format: int64 properties: type: array description: A list of property names associated with the subscription. Each property is a string. items: type: string subscriptionType: type: string description: 'The type of subscription, which can be one of the following: ''OBJECT'', ''ASSOCIATION'', ''EVENT'', ''APP_LIFECYCLE_EVENT'', ''LIST_MEMBERSHIP'', or ''GDPR_PRIVACY_DELETION''.' enum: - APP_LIFECYCLE_EVENT - ASSOCIATION - EVENT - GDPR_PRIVACY_DELETION - LIST_MEMBERSHIP - OBJECT updatedAt: type: string description: The date and time when the subscription was last updated, in ISO 8601 format. format: date-time SubscriptionUpsertRequest: properties: {} oneOf: - $ref: '#/components/schemas/ObjectSubscriptionUpsertRequest' - $ref: '#/components/schemas/AssociationSubscriptionUpsertRequest' - $ref: '#/components/schemas/AppLifecycleEventSubscriptionUpsertRequest' - $ref: '#/components/schemas/ListMembershipSubscriptionUpsertRequest' - $ref: '#/components/schemas/GdprPrivacyDeletionSubscriptionUpsertRequest' ThrottlingSettings: required: - maxConcurrentRequests type: object properties: maxConcurrentRequests: type: integer description: The maximum number of concurrent requests allowed. This is an integer value. format: int32 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: developers-read: '' developers-write: '' private-apps-read: '' private-apps-write: '' webhooks-journal-data-access: '' webhooks-journal-snapshot-management: '' webhooks-journal-subscription-management: '' webhooks-journal-subscription-read: '' private_apps: type: apiKey name: private-app in: header private_apps_legacy: type: apiKey name: private-app-legacy in: header x-hubspot-available-client-libraries: - Node - Python - Ruby - PHP x-hubspot-product-tier-requirements: marketing: FREE sales: FREE service: FREE cms: FREE commerce: FREE crmHub: FREE dataHub: FREE