---
title: "Upsert Subscription"
method: POST
path: "/webhooks-journal/subscriptions/2026-09"
tags: ["Basic"]
---

# Upsert Subscription

`POST /webhooks-journal/subscriptions/2026-09`

## Request

- Base URL: `https://api.hubapi.com`
- URL: `https://api.hubapi.com/webhooks-journal/subscriptions/2026-09`
- Auth: none required

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.

## Request body

- union
  - object
    - `actions` string[], required: An array of strings specifying the actions that trigger the subscription. Valid actions include 'CREATE', 'UPDATE', 'DELETE', 'MERGE', 'RESTORE'.
    - `objectIds` integer[], required: An array of integers representing the IDs of the objects involved in the subscription. Empty means listen to all objectIds.
    - `objectTypeId` string, required: A string that identifies the type of object for which the subscription is being created or updated. For example "0-1" for contacts.
    - `portalId` integer, required: An integer representing the portal ID associated with the subscription.
    - `properties` string[], required: An array of strings listing the properties of the objects that are relevant to the subscription. Empty means listen to all properties.
    - `subscriptionType` 'OBJECT', required: A string indicating the type of subscription. The default and only valid value is 'OBJECT'.
  - object
    - `actions` string[], required: An array of strings specifying the actions that trigger the subscription. Valid actions include 'ASSOCIATION_ADDED' and 'ASSOCIATION_REMOVED'.
    - `associatedObjectTypeIds` string[], required: 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.
    - `objectIds` integer[], required: An array of integers representing the unique identifiers of the objects involved in the subscription.
    - `objectTypeId` string, required: 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` integer, required: An integer representing the unique identifier of the HubSpot portal.
    - `subscriptionType` 'ASSOCIATION', required: A string indicating the type of subscription, which is 'ASSOCIATION' by default.
  - object
    - `eventTypeId` string, required: 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. 4-1909196: App install event 4-1916193: App uninstall event
    - `properties` string[], required: An array of strings specifying the properties of the event associated with the subscription.
    - `subscriptionType` 'APP_LIFECYCLE_EVENT', required: A string indicating the type of subscription, which is 'APP_LIFECYCLE_EVENT' by default.
  - object
    - `actions` string[], required: An array of strings specifying the actions that trigger the subscription. Valid actions include 'ADDED_TO_LIST', and 'REMOVED_FROM_LIST'
    - `listIds` integer[], required: An array of integers representing the IDs of the lists involved in the subscription. Empty means listen to all lists.
    - `objectIds` integer[], required: An array of integers representing the IDs of the objects associated with the subscription. Empty means listen to all objectsIds.
    - `portalId` integer, required: An integer representing the ID of the portal where the subscription is being managed.
    - `subscriptionType` 'LIST_MEMBERSHIP', required: A string indicating the type of subscription. The default and only valid value is 'LIST_MEMBERSHIP'.
  - object
    - `actions` string[], required: An array of strings specifying the actions that trigger the subscription. Valid action is 'GDPR_DELETE'.
    - `objectTypeId` string, required: A string representing the unique identifier for the type of object associated with the subscription.
    - `portalId` integer, required: An integer representing the unique identifier for the HubSpot portal that is being listened to for changes.
    - `subscriptionType` 'GDPR_PRIVACY_DELETION', required: A string indicating the type of subscription. GDPR_PRIVACY_DELETION is the only valid option for GdprPrivacyDeletionSubscriptionUpsertRequest.

## Response `200`

successful operation

- SubscriptionResponse1
  - `actionOverrides` object: An object containing action overrides, where each key is an action and the value is an ActionOverrideRequest object.
  - `actions` string[], required: 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'.
  - `appId` integer, required: The unique identifier for the app associated with the subscription. It is an integer formatted as int64.
  - `associatedObjectTypeIds` string[]: A list of associated object type IDs. Each ID is a string.
  - `createdAt` string, date-time, required: The date and time when the subscription was created, in ISO 8601 format.
  - `createdBy` integer: The ID of the user who created the subscription. It is an integer formatted as int64.
  - `deletedAt` string, date-time: The date and time when the subscription was deleted, in ISO 8601 format, if applicable.
  - `id` integer, required: The unique identifier for the subscription. It is an integer formatted as int64.
  - `listIds` integer[]: A list of list IDs associated with the subscription. Each ID is an integer formatted as int64.
  - `objectIds` integer[]: A list of object IDs associated with the subscription. Each ID is an integer formatted as int64.
  - `objectTypeId` string, required: The identifier for the object type associated with the subscription. It is a string.
  - `portalId` integer: The unique identifier for the portal associated with the subscription. It is an integer formatted as int64.
  - `properties` string[]: A list of property names associated with the subscription. Each property is a string.
  - `subscriptionType` 'APP_LIFECYCLE_EVENT' | 'ASSOCIATION' | 'EVENT' | 'GDPR_PRIVACY_DELETION' | 'LIST_MEMBERSHIP' | 'OBJECT', required: The type of subscription, which can be one of the following: 'OBJECT', 'ASSOCIATION', 'EVENT', 'APP_LIFECYCLE_EVENT', 'LIST_MEMBERSHIP', or 'GDPR_PRIVACY_DELETION'.
  - `updatedAt` string, date-time, required: The date and time when the subscription was last updated, in ISO 8601 format.

## Other responses

- `default`: An error occurred.

## Changes

- **2026-09-21** (2026-09) `140541da601a`: 1 info
  - the endpoint scheme security `oauth2` was removed from the API
- **2026-09-03** (2026-09) `bc692b707bfe`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hubspot/apis/webhooks-webhooks/changes/webhooks-journal/subscriptions/2026-09/post.md)

---

[API](https://skmtc.dev/hubspot/apis/webhooks-webhooks.md) - [All operations](https://skmtc.dev/hubspot/apis/webhooks-webhooks/llms.txt) - [OpenAPI document](https://skmtc.dev/hubspot/apis/webhooks-webhooks/revisions/fb70509e8b82?raw)
