{ "openapi" : "3.0.1", "info" : { "title" : "Webhooks Journal Webhooks Journal", "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" } }, "servers" : [ { "url" : "https://api.hubapi.com" } ], "tags" : [ { "name" : "Advanced" }, { "name" : "Basic" }, { "name" : "Batch" } ], "paths" : { "/webhooks-journal/journal-local/2026-03/batch/earliest/{count}" : { "get" : { "tags" : [ "Batch" ], "summary" : "Fetch earliest batch", "description" : "Retrieve the earliest batch of webhook journal entries. This endpoint is useful for accessing the oldest available data in the webhook journal, allowing users to process or analyze historical webhook events. The number of entries to fetch is specified by the 'count' path parameter.", "operationId" : "get-/webhooks-journal/journal-local/2026-03/batch/earliest/{count}", "parameters" : [ { "name" : "count", "in" : "path", "description" : "The number of webhook journal entries to retrieve. Must be an integer with a minimum value of 1.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "minimum" : 1, "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "installPortalId", "in" : "query", "description" : "The ID of the installation portal for which to retrieve the webhook journal entries.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal-local/2026-03/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 the most recent webhook events processed by your HubSpot account.", "operationId" : "get-/webhooks-journal/journal-local/2026-03/batch/latest/{count}", "parameters" : [ { "name" : "count", "in" : "path", "description" : "The number of journal entries to retrieve. Must be an integer with a minimum value of 1.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "minimum" : 1, "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal installation. This parameter is optional and can be used to filter results by a specific portal.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal-local/2026-03/batch/read" : { "post" : { "tags" : [ "Batch" ], "summary" : "Batch read", "description" : "Execute a batch read operation on the webhooks journal. This endpoint allows you to retrieve a batch of webhook journal entries by providing the necessary input data. It is useful for processing multiple records in a single request, streamlining data retrieval tasks.", "operationId" : "post-/webhooks-journal/journal-local/2026-03/batch/read", "parameters" : [ { "name" : "installPortalId", "in" : "query", "description" : "An integer representing the ID of the portal where the installation occurred. This parameter is optional.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchInputString" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponse" }, "example" : null } } }, "207" : { "description" : "multiple statuses", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponseWithErrors" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal-local/2026-03/batch/{offset}/next/{count}" : { "get" : { "tags" : [ "Batch" ], "summary" : "Fetch Batch", "description" : "Retrieve a batch of webhook journal entries starting from a specified offset. This endpoint is useful for paginating through large sets of webhook data. The number of entries returned is determined by the 'count' parameter.", "operationId" : "get-/webhooks-journal/journal-local/2026-03/batch/{offset}/next/{count}", "parameters" : [ { "name" : "count", "in" : "path", "description" : "An integer specifying the number of journal entries to retrieve. Must be at least 1.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "minimum" : 1, "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "offset", "in" : "path", "description" : "A string representing the starting point for fetching the batch of journal entries.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "example" : null } }, { "name" : "installPortalId", "in" : "query", "description" : "An integer representing the ID of the portal installation to filter the webhook journal entries.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal-local/2026-03/earliest" : { "get" : { "tags" : [ "Basic" ], "summary" : "Retrieve earliest", "description" : "Retrieve the earliest webhook journal entries for the specified portal. This endpoint can be used to access the oldest records available in the webhook journal, which may be useful for auditing or historical analysis.", "operationId" : "get-/webhooks-journal/journal-local/2026-03/earliest", "parameters" : [ { "name" : "installPortalId", "in" : "query", "description" : "The ID of the installation portal to filter the journal entries by. This is an integer value.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal-local/2026-03/latest" : { "get" : { "tags" : [ "Basic" ], "summary" : "Retrieve latest", "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 for real-time monitoring or debugging of webhook activities.", "operationId" : "get-/webhooks-journal/journal-local/2026-03/latest", "parameters" : [ { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal for which to retrieve the latest webhook journal entries. It is an integer value.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal-local/2026-03/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 large sets of webhook data, allowing you to continue from where a previous request left off.", "operationId" : "get-/webhooks-journal/journal-local/2026-03/offset/{offset}/next", "parameters" : [ { "name" : "offset", "in" : "path", "description" : "The offset from which to start retrieving the next batch of webhook journal entries. This is a string value that indicates the starting point for fetching entries.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "example" : null } }, { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal installation. This is an integer value used to identify the specific portal installation for which the webhook journal entries are being retrieved.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal-local/2026-03/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 outcome of webhook journal entries, allowing you to check if an entry is pending, in progress, completed, failed, or expired.", "operationId" : "get-/webhooks-journal/journal-local/2026-03/status/{statusId}", "parameters" : [ { "name" : "statusId", "in" : "path", "description" : "The unique identifier (UUID) of the webhook journal status to retrieve.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "format" : "uuid", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SnapshotStatusResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal/2026-03/batch/earliest/{count}" : { "get" : { "tags" : [ "Batch" ], "summary" : "Fetch Earliest Batch", "description" : "Retrieve the earliest batch of webhook journal entries for a specified count. This endpoint is useful for accessing historical webhook data in batches, allowing you to process or analyze older entries. The number of entries retrieved is determined by the count parameter.", "operationId" : "get-/webhooks-journal/journal/2026-03/batch/earliest/{count}", "parameters" : [ { "name" : "count", "in" : "path", "description" : "The number of earliest webhook journal entries to retrieve. Must be an integer with a minimum value of 1.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "minimum" : 1, "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal installation to filter the webhook journal entries.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal/2026-03/batch/latest/{count}" : { "get" : { "tags" : [ "Batch" ], "summary" : "Retrieve batch", "description" : "Retrieve the latest batch of webhook journal entries up to the specified count. This endpoint is useful for fetching recent webhook data for analysis or processing. The count parameter determines the maximum number of entries to return.", "operationId" : "get-/webhooks-journal/journal/2026-03/batch/latest/{count}", "parameters" : [ { "name" : "count", "in" : "path", "description" : "The number of journal entries to retrieve. This must be an integer with a minimum value of 1.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "minimum" : 1, "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal installation. This parameter is optional and used to filter the results by a specific portal.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal/2026-03/batch/read" : { "post" : { "tags" : [ "Batch" ], "summary" : "Batch read", "description" : "Execute a batch read operation on the webhooks journal for the specified date, 2026-03. 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. Ensure that the request body is provided in the required format.", "operationId" : "post-/webhooks-journal/journal/2026-03/batch/read", "parameters" : [ { "name" : "installPortalId", "in" : "query", "description" : "An integer representing the ID of the portal installation to filter the webhook journal entries.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchInputString" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponse" }, "example" : null } } }, "207" : { "description" : "multiple statuses", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponseWithErrors" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal/2026-03/batch/{offset}/next/{count}" : { "get" : { "tags" : [ "Batch" ], "summary" : "Fetch 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, which can be useful for processing large datasets in manageable chunks.", "operationId" : "get-/webhooks-journal/journal/2026-03/batch/{offset}/next/{count}", "parameters" : [ { "name" : "count", "in" : "path", "description" : "The number of journal entries to retrieve. This must be an integer with a minimum value of 1.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "minimum" : 1, "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "offset", "in" : "path", "description" : "The offset from which to start fetching the journal entries. This is a string value.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "example" : null } }, { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal where the webhook is installed. This is an integer value.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseJournalFetchResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal/2026-03/earliest" : { "get" : { "tags" : [ "Basic" ], "summary" : "Retrieve earliest entry", "description" : "Retrieve the earliest entry from the webhooks journal for the specified portal. This endpoint is useful for accessing the first recorded webhook event in the journal, which can be helpful for auditing or debugging purposes.", "operationId" : "get-/webhooks-journal/journal/2026-03/earliest", "parameters" : [ { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal for which to retrieve the earliest webhook journal entry. This is an integer value.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal/2026-03/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 and their statuses, allowing you to monitor and debug webhook activity effectively.", "operationId" : "get-/webhooks-journal/journal/2026-03/latest", "parameters" : [ { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal for which the latest journal entries are to be retrieved. This parameter is optional and should be an integer.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal/2026-03/offset/{offset}/next" : { "get" : { "tags" : [ "Basic" ], "summary" : "Retrieve Next Entries", "description" : "Retrieve the next set of entries from the webhooks journal starting from a specified offset. This endpoint is useful for paginating through journal entries to process or analyze webhook events sequentially.", "operationId" : "get-/webhooks-journal/journal/2026-03/offset/{offset}/next", "parameters" : [ { "name" : "offset", "in" : "path", "description" : "The offset from which to start retrieving the next set of journal entries. This is a string value.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "example" : null } }, { "name" : "installPortalId", "in" : "query", "description" : "The ID of the portal where the webhook is installed. This is an integer value.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/journal/2026-03/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 provides detailed information about the status, including whether it is pending, in progress, completed, failed, or expired. It is useful for monitoring and managing the state of webhook journal entries.", "operationId" : "get-/webhooks-journal/journal/2026-03/status/{statusId}", "parameters" : [ { "name" : "statusId", "in" : "path", "description" : "The unique identifier (UUID) of the webhook journal status to retrieve.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "format" : "uuid", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SnapshotStatusResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/snapshots/2026-03/crm" : { "post" : { "tags" : [ "Advanced" ], "summary" : "Create Snapshot", "description" : "Create a batch of CRM object snapshots in HubSpot. This endpoint is used to capture the current state of specified CRM objects for later reference or analysis. It requires a JSON payload containing the details of the CRM objects to snapshot. This operation is exempt from daily and ten-secondly rate limits.", "operationId" : "post-/webhooks-journal/snapshots/2026-03/crm", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CrmObjectSnapshotBatchRequest" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CrmObjectSnapshotBatchResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/subscriptions/2026-03" : { "get" : { "tags" : [ "Basic" ], "summary" : "List subscriptions", "description" : "Retrieve a list of webhook journal subscriptions. This endpoint provides access to subscription details without pagination, allowing you to view all current subscriptions in a single request. It is useful for managing and reviewing webhook subscriptions for your app.", "operationId" : "get-/webhooks-journal/subscriptions/2026-03", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CollectionResponseSubscriptionResponseMarch2027NoPaging" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] }, "post" : { "tags" : [ "Basic" ], "summary" : "Upsert subscription", "description" : "Create a new webhook journal subscription for the specified portal. This endpoint allows you to define the actions and object types that the subscription will monitor. It requires a request body with the subscription details.", "operationId" : "post-/webhooks-journal/subscriptions/2026-03", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionUpsertRequest" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/subscriptions/2026-03/filters" : { "post" : { "tags" : [ "Advanced" ], "summary" : "Create Filter", "description" : "Create a new filter for a specific webhook subscription in the HubSpot account. This endpoint allows you to define conditions that determine when a webhook should be triggered. The filter is associated with a subscription identified by its ID, and the request must include the filter details.", "operationId" : "post-/webhooks-journal/subscriptions/2026-03/filters", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FilterCreateRequest" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FilterCreateResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/subscriptions/2026-03/filters/subscription/{subscriptionId}" : { "get" : { "tags" : [ "Basic" ], "summary" : "Retrieve filters", "description" : "Retrieve the filters associated with a specific webhook subscription. This endpoint allows you to view the filters applied to a subscription, which can help in managing and understanding the conditions set for webhook events.", "operationId" : "get-/webhooks-journal/subscriptions/2026-03/filters/subscription/{subscriptionId}", "parameters" : [ { "name" : "subscriptionId", "in" : "path", "description" : "The unique identifier of the subscription for which to retrieve filters.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int64", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/FilterResponse" } }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/subscriptions/2026-03/filters/{filterId}" : { "get" : { "tags" : [ "Basic" ], "summary" : "Retrieve filter", "description" : "Retrieve a specific filter associated with a webhook journal subscription. This endpoint allows you to access the details of the filter identified by the filterId, which is useful for managing and understanding the conditions applied to webhook events.", "operationId" : "get-/webhooks-journal/subscriptions/2026-03/filters/{filterId}", "parameters" : [ { "name" : "filterId", "in" : "path", "description" : "The unique identifier of the filter to retrieve.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int64", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FilterResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] }, "delete" : { "tags" : [ "Basic" ], "summary" : "Delete filter", "description" : "Remove a specific filter from the webhooks journal subscriptions. This operation is useful for managing and cleaning up filters that are no longer needed. Once deleted, the filter cannot be recovered.", "operationId" : "delete-/webhooks-journal/subscriptions/2026-03/filters/{filterId}", "parameters" : [ { "name" : "filterId", "in" : "path", "description" : "The unique identifier of the filter to delete. It must be an integer.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int64", "example" : null } } ], "responses" : { "204" : { "description" : "No content", "content" : { } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/subscriptions/2026-03/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, ensuring that no further webhook events are sent for this portal. Use this endpoint to manage and clean up subscriptions that are no longer needed.", "operationId" : "delete-/webhooks-journal/subscriptions/2026-03/portals/{portalId}", "parameters" : [ { "name" : "portalId", "in" : "path", "description" : "The unique identifier of the portal whose webhook journal subscription is to be deleted.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int64", "example" : null } } ], "responses" : { "204" : { "description" : "No content", "content" : { } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } }, "/webhooks-journal/subscriptions/2026-03/{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, such as its actions, object type, and associated properties.", "operationId" : "get-/webhooks-journal/subscriptions/2026-03/{subscriptionId}", "parameters" : [ { "name" : "subscriptionId", "in" : "path", "description" : "The unique identifier of the subscription to retrieve. It must be an integer.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int64", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionResponse" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "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 in your HubSpot account.", "operationId" : "delete-/webhooks-journal/subscriptions/2026-03/{subscriptionId}", "parameters" : [ { "name" : "subscriptionId", "in" : "path", "description" : "The unique identifier of the subscription to delete.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int64", "example" : null } } ], "responses" : { "204" : { "description" : "No content", "content" : { } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ ], "x-hubspot-rate-limit-exemptions" : [ "daily", "ten-secondly" ] } } }, "components" : { "schemas" : { "ActionOverrideRequest" : { "type" : "object", "properties" : { "associatedObjectTypeIds" : { "type" : "array", "description" : "An array of strings representing the IDs of the associated object types involved in the action.", "example" : null, "items" : { "type" : "string", "example" : null } }, "listIds" : { "type" : "array", "description" : "An array of integers (int64 format) representing the IDs of the lists involved in the action.", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "objectIds" : { "type" : "array", "description" : "An array of integers (int64 format) representing the IDs of the objects involved in the action.", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "properties" : { "type" : "array", "description" : "An array of strings representing the properties to be overridden or specified for the action.", "example" : null, "items" : { "type" : "string", "example" : null } } }, "example" : null }, "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 is related to.", "example" : null }, "properties" : { "type" : "array", "description" : "An array of strings specifying the properties associated with the event type that should be included in the subscription.", "example" : null, "items" : { "type" : "string", "example" : null } }, "subscriptionType" : { "type" : "string", "description" : "A string indicating the type of subscription, which is 'APP_LIFECYCLE_EVENT' by default.", "example" : null, "default" : "APP_LIFECYCLE_EVENT", "enum" : [ "APP_LIFECYCLE_EVENT" ] } }, "example" : null, "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 'CREATE', 'UPDATE', 'DELETE', 'MERGE', 'RESTORE', 'ASSOCIATION_ADDED', 'ASSOCIATION_REMOVED', 'SNAPSHOT', 'APP_INSTALL', 'APP_UNINSTALL', 'ADDED_TO_LIST', 'REMOVED_FROM_LIST', and 'GDPR_DELETE'.", "example" : null, "items" : { "type" : "string", "example" : null, "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 in the subscription.", "example" : null, "items" : { "type" : "string", "example" : null } }, "objectIds" : { "type" : "array", "description" : "An array of integers representing the unique identifiers of the objects involved in the subscription.", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "objectTypeId" : { "type" : "string", "description" : "A string representing the type identifier of the object involved in the subscription.", "example" : null }, "portalId" : { "type" : "integer", "description" : "An integer representing the unique identifier of the HubSpot portal.", "format" : "int64", "example" : null }, "subscriptionType" : { "type" : "string", "description" : "A string indicating the type of subscription, which is 'ASSOCIATION' for this component.", "example" : null, "default" : "ASSOCIATION", "enum" : [ "ASSOCIATION" ] } }, "example" : null, "x-hubspot-sub-type-impl" : true }, "BatchInputString" : { "required" : [ "inputs" ], "type" : "object", "properties" : { "inputs" : { "type" : "array", "description" : "An array of strings that are to be processed in the batch operation. This property is required.", "example" : null, "items" : { "type" : "string", "example" : null } } }, "example" : null }, "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", "example" : null }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "A map of link names to associated URIs, providing additional resources or information related to the batch operation.", "example" : null }, "requestedAt" : { "type" : "string", "description" : "The date and time when the batch operation was requested, in ISO 8601 format.", "format" : "date-time", "example" : null }, "results" : { "type" : "array", "description" : "An array of results from the batch operation, each represented by a JournalFetchResponse object.", "example" : null, "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", "example" : null }, "status" : { "type" : "string", "description" : "The current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.", "example" : null, "enum" : [ "CANCELED", "COMPLETE", "PENDING", "PROCESSING" ] } }, "example" : null }, "BatchResponseJournalFetchResponseWithErrors" : { "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", "example" : null }, "errors" : { "type" : "array", "description" : "An array of standard errors, detailing any issues encountered during the batch operation.", "example" : null, "items" : { "$ref" : "#/components/schemas/StandardError" } }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "A map of link names to associated URIs, providing additional resources or documentation related to the batch operation.", "example" : null }, "numErrors" : { "type" : "integer", "description" : "The number of errors encountered during the batch operation.", "format" : "int32", "example" : null }, "requestedAt" : { "type" : "string", "description" : "The date and time when the batch operation was requested, in ISO 8601 format.", "format" : "date-time", "example" : null }, "results" : { "type" : "array", "description" : "An array of journal fetch responses, each representing a successful fetch attempt.", "example" : null, "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", "example" : null }, "status" : { "type" : "string", "description" : "The current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.", "example" : null, "enum" : [ "CANCELED", "COMPLETE", "PENDING", "PROCESSING" ] } }, "example" : null }, "CollectionResponseSubscriptionResponseMarch2027NoPaging" : { "required" : [ "results" ], "type" : "object", "properties" : { "results" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SubscriptionResponseMarch2027" } } }, "example" : null }, "Condition" : { "required" : [ "filterType", "operator", "property" ], "type" : "object", "properties" : { "filterType" : { "type" : "string", "description" : "A string indicating the type of filter applied. Valid value is 'CRM_OBJECT_PROPERTY'.", "example" : null, "enum" : [ "CRM_OBJECT_PROPERTY" ] }, "operator" : { "type" : "string", "description" : "A string specifying the operation used for comparison. Valid values include 'EQ', 'N_EQ', 'LT', 'GT', 'LTE', 'GTE', 'CONTAINS', 'STARTS_WITH', 'ENDS_WITH', 'IN', 'NOT_IN', 'IS_EMPTY', and 'IS_NOT_EMPTY'.", "example" : null, "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 property name that the condition is evaluating.", "example" : null }, "value" : { "type" : "string", "description" : "A string representing the value to compare against the specified property using the defined operator.", "example" : null }, "values" : { "type" : "array", "description" : "An array of strings containing multiple values for comparison when using operators like 'IN' or 'NOT_IN'.", "example" : null, "items" : { "type" : "string", "example" : null } } }, "example" : null }, "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.", "example" : null, "items" : { "$ref" : "#/components/schemas/CrmObjectSnapshotRequest" } } }, "example" : null }, "CrmObjectSnapshotBatchResponse" : { "required" : [ "snapshotResponses" ], "type" : "object", "properties" : { "snapshotResponses" : { "type" : "array", "description" : "An array of responses for each CRM object snapshot request. Each item in the array is a CrmObjectSnapshotResponse object, detailing the outcome of a single snapshot request.", "example" : null, "items" : { "$ref" : "#/components/schemas/CrmObjectSnapshotResponse" } } }, "example" : null }, "CrmObjectSnapshotRequest" : { "required" : [ "objectId", "objectTypeId", "portalId", "properties" ], "type" : "object", "properties" : { "objectId" : { "type" : "integer", "description" : "An integer representing the unique identifier of the CRM object.", "format" : "int64", "example" : null }, "objectTypeId" : { "type" : "string", "description" : "A string representing the type identifier of the CRM object.", "example" : null }, "portalId" : { "type" : "integer", "description" : "An integer representing the unique identifier of the HubSpot portal.", "format" : "int64", "example" : null }, "properties" : { "type" : "array", "description" : "An array of strings specifying the properties of the CRM object to include in the snapshot.", "example" : null, "items" : { "type" : "string", "example" : null } } }, "example" : null }, "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 was taken. It is in int64 format.", "format" : "int64", "example" : null }, "objectTypeId" : { "type" : "string", "description" : "A string representing the type identifier of the CRM object involved in the snapshot.", "example" : null }, "portalId" : { "type" : "integer", "description" : "An integer representing the unique identifier of the HubSpot portal associated with the CRM object snapshot. It is in int64 format.", "format" : "int64", "example" : null }, "snapshotStatusId" : { "type" : "string", "description" : "A string in UUID format representing the status identifier of the snapshot operation.", "format" : "uuid", "example" : null } }, "example" : null }, "Error" : { "required" : [ "category", "correlationId", "message" ], "type" : "object", "properties" : { "category" : { "type" : "string", "description" : "The error category", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "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", "example" : null, "items" : { "$ref" : "#/components/schemas/ErrorDetail" } }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "A map of link names to associated URIs containing documentation about the error or recommended remediation steps", "example" : null }, "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", "example" : null } }, "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", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "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.", "example" : null }, "message" : { "type" : "string", "description" : "A human readable message describing the error along with remediation steps where appropriate", "example" : null }, "subCategory" : { "type" : "string", "description" : "A specific category that contains more specific detail about the error", "example" : null } }, "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.", "example" : null }, "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 filter type, operator, property, and optional values.", "example" : null, "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. ", "example" : null }, "FilterCreateRequest" : { "required" : [ "filter", "subscriptionId" ], "type" : "object", "properties" : { "filter" : { "$ref" : "#/components/schemas/Filter" }, "subscriptionId" : { "type" : "integer", "description" : "An integer representing the unique identifier of the subscription to which the filter will be applied. It is required and uses the int64 format.", "format" : "int64", "example" : null } }, "example" : null }, "FilterCreateResponse" : { "required" : [ "filterId" ], "type" : "object", "properties" : { "filterId" : { "type" : "integer", "description" : "The unique identifier for the created filter. It is an integer in int64 format.", "format" : "int64", "example" : null } }, "example" : null }, "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", "example" : null }, "filter" : { "$ref" : "#/components/schemas/Filter" }, "id" : { "type" : "integer", "description" : "The unique identifier for the filter, represented as a 64-bit integer.", "format" : "int64", "example" : null } }, "example" : null }, "GdprPrivacyDeletionSubscriptionUpsertRequest" : { "required" : [ "actions", "objectTypeId", "portalId", "subscriptionType" ], "type" : "object", "properties" : { "actions" : { "type" : "array", "description" : "An array of actions that can trigger the subscription, such as 'CREATE', 'UPDATE', 'DELETE', and 'GDPR_DELETE'.", "example" : null, "items" : { "type" : "string", "example" : null, "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 object type associated with the subscription.", "example" : null }, "portalId" : { "type" : "integer", "description" : "The unique identifier for the HubSpot portal, represented as a 64-bit integer.", "format" : "int64", "example" : null }, "subscriptionType" : { "type" : "string", "description" : "The type of subscription, which is fixed as 'GDPR_PRIVACY_DELETION'.", "example" : null, "default" : "GDPR_PRIVACY_DELETION", "enum" : [ "GDPR_PRIVACY_DELETION" ] } }, "example" : null, "x-hubspot-sub-type-impl" : true }, "JournalFetchResponse" : { "required" : [ "currentOffset", "expiresAt", "url" ], "type" : "object", "properties" : { "currentOffset" : { "type" : "string", "description" : "A UUID string indicating the current offset for pagination purposes.", "format" : "uuid", "example" : null }, "expiresAt" : { "type" : "string", "description" : "The date and time when the URL will expire, in ISO 8601 format.", "format" : "date-time", "example" : null }, "url" : { "type" : "string", "description" : "A string representing the URL where the journal data can be accessed.", "example" : null } }, "example" : null }, "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 'CREATE', 'UPDATE', 'DELETE', 'MERGE', 'RESTORE', 'ASSOCIATION_ADDED', 'ASSOCIATION_REMOVED', 'SNAPSHOT', 'APP_INSTALL', 'APP_UNINSTALL', 'ADDED_TO_LIST', 'REMOVED_FROM_LIST', and 'GDPR_DELETE'.", "example" : null, "items" : { "type" : "string", "example" : null, "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 unique identifiers of the lists involved in the subscription.", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "objectIds" : { "type" : "array", "description" : "An array of integers representing the unique identifiers of the objects involved in the subscription.", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "portalId" : { "type" : "integer", "description" : "An integer representing the unique identifier of the portal in which the subscription is being managed.", "format" : "int64", "example" : null }, "subscriptionType" : { "type" : "string", "description" : "A string indicating the type of subscription. The default and only valid value is 'LIST_MEMBERSHIP'.", "example" : null, "default" : "LIST_MEMBERSHIP", "enum" : [ "LIST_MEMBERSHIP" ] } }, "example" : null, "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', 'ASSOCIATION_ADDED', 'ASSOCIATION_REMOVED', 'SNAPSHOT', 'APP_INSTALL', 'APP_UNINSTALL', 'ADDED_TO_LIST', 'REMOVED_FROM_LIST', and 'GDPR_DELETE'.", "example" : null, "items" : { "type" : "string", "example" : null, "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 specifying the unique identifiers of the objects involved in the subscription.", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "objectTypeId" : { "type" : "string", "description" : "A string representing the unique identifier of the object type for which the subscription is being created or updated.", "example" : null }, "portalId" : { "type" : "integer", "description" : "An integer representing the unique identifier of the HubSpot portal.", "format" : "int64", "example" : null }, "properties" : { "type" : "array", "description" : "An array of strings listing the properties of the objects that are relevant to the subscription.", "example" : null, "items" : { "type" : "string", "example" : null } }, "subscriptionType" : { "type" : "string", "description" : "A string indicating the type of subscription, which is always 'OBJECT' for this request.", "example" : null, "default" : "OBJECT", "enum" : [ "OBJECT" ] } }, "example" : null, "x-hubspot-sub-type-impl" : true }, "SnapshotStatusResponse" : { "required" : [ "id", "initiatedAt", "status" ], "type" : "object", "properties" : { "completedAt" : { "type" : "integer", "description" : "The timestamp when the snapshot was completed, represented as an integer in int64 format. This field may be null if the snapshot is not yet completed.", "format" : "int64", "example" : null }, "errorCode" : { "type" : "string", "description" : "An optional code indicating the error that occurred, if any. Possible values are 'TIMEOUT', 'VALIDATION_ERROR', 'INTERNAL_ERROR', and 'PERMISSION_DENIED'.", "example" : null, "enum" : [ "INTERNAL_ERROR", "PERMISSION_DENIED", "TIMEOUT", "VALIDATION_ERROR" ] }, "id" : { "type" : "string", "description" : "A unique identifier for the snapshot, represented as a UUID.", "format" : "uuid", "example" : null }, "initiatedAt" : { "type" : "integer", "description" : "The timestamp when the snapshot was initiated, represented as an integer in int64 format.", "format" : "int64", "example" : null }, "message" : { "type" : "string", "description" : "A descriptive message providing additional information about the snapshot status or error.", "example" : null }, "status" : { "type" : "string", "description" : "The current status of the snapshot. Valid values include 'PENDING', 'IN_PROGRESS', 'COMPLETED', 'FAILED', and 'EXPIRED'.", "example" : null, "enum" : [ "EXPIRED", "FAILED", "IN_PROGRESS", "PENDING", "SUCCESS" ] } }, "example" : null }, "StandardError" : { "required" : [ "category", "context", "errors", "links", "message", "status" ], "type" : "object", "properties" : { "category" : { "type" : "string", "description" : "A string indicating the category of the error.", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "description" : "An object containing additional context about the error condition, with keys as context names and values as arrays of strings.", "example" : null }, "errors" : { "type" : "array", "description" : "An array of ErrorDetail objects that provide further information about the error.", "example" : null, "items" : { "$ref" : "#/components/schemas/ErrorDetail" } }, "id" : { "type" : "string", "description" : "A string that uniquely identifies this error instance.", "example" : null }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "An object mapping link names to associated URIs that provide documentation or remediation steps related to the error.", "example" : null }, "message" : { "type" : "string", "description" : "A string containing a human-readable message describing the error.", "example" : null }, "status" : { "type" : "string", "description" : "A string representing the status of the error.", "example" : null }, "subCategory" : { "type" : "object", "properties" : { }, "description" : "An object providing more specific details about the error category.", "example" : null } }, "description" : "Ye olde error", "example" : null }, "SubscriptionResponse" : { "required" : [ "actions", "appId", "createdAt", "id", "objectTypeId", "subscriptionType", "updatedAt" ], "type" : "object", "properties" : { "actionOverrides" : { "type" : "object", "additionalProperties" : { "$ref" : "#/components/schemas/ActionOverrideRequest" }, "description" : "An object containing overrides for actions, where each key is an action and the value is an ActionOverrideRequest object.", "example" : null }, "actions" : { "type" : "array", "description" : "An array of actions associated with the subscription. Valid actions include 'CREATE', 'UPDATE', 'DELETE', 'MERGE', 'RESTORE', 'ASSOCIATION_ADDED', 'ASSOCIATION_REMOVED', 'SNAPSHOT', 'APP_INSTALL', 'APP_UNINSTALL', 'ADDED_TO_LIST', 'REMOVED_FROM_LIST', and 'GDPR_DELETE'.", "example" : null, "items" : { "type" : "string", "example" : null, "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, represented as an integer.", "format" : "int64", "example" : null }, "associatedObjectTypeIds" : { "type" : "array", "description" : "An array of strings representing the IDs of associated object types.", "example" : null, "items" : { "type" : "string", "example" : null } }, "createdAt" : { "type" : "string", "description" : "The date and time when the subscription was created, in ISO 8601 format.", "format" : "date-time", "example" : null }, "createdBy" : { "type" : "integer", "description" : "The unique identifier of the user who created the subscription, represented as an integer.", "format" : "int64", "example" : null }, "deletedAt" : { "type" : "string", "description" : "The date and time when the subscription was deleted, in ISO 8601 format, if applicable.", "format" : "date-time", "example" : null }, "id" : { "type" : "integer", "description" : "The unique identifier for the subscription, represented as an integer.", "format" : "int64", "example" : null }, "listIds" : { "type" : "array", "description" : "An array of integers representing the IDs of lists associated with the subscription.", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "objectIds" : { "type" : "array", "description" : "An array of integers representing the IDs of objects associated with the subscription.", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "objectTypeId" : { "type" : "string", "description" : "The identifier for the type of object associated with the subscription, represented as a string.", "example" : null }, "portalId" : { "type" : "integer", "description" : "The unique identifier for the portal associated with the subscription, represented as an integer.", "format" : "int64", "example" : null }, "properties" : { "type" : "array", "description" : "An array of strings representing the properties associated with the subscription.", "example" : null, "items" : { "type" : "string", "example" : null } }, "subscriptionType" : { "type" : "string", "description" : "The type of subscription, indicating the nature of events it pertains to. Valid values include 'OBJECT', 'ASSOCIATION', 'EVENT', 'APP_LIFECYCLE_EVENT', 'LIST_MEMBERSHIP', and 'GDPR_PRIVACY_DELETION'.", "example" : null, "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", "example" : null } }, "example" : null }, "SubscriptionResponseMarch2027" : { "required" : [ "actions", "appId", "createdAt", "id", "objectTypeId", "subscriptionType", "updatedAt" ], "type" : "object", "properties" : { "actionOverrides" : { "type" : "object", "additionalProperties" : { "$ref" : "#/components/schemas/ActionOverrideRequest" }, "example" : null }, "actions" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null, "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", "format" : "int64", "example" : null }, "associatedObjectTypeIds" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "createdAt" : { "type" : "string", "format" : "date-time", "example" : null }, "createdBy" : { "type" : "integer", "format" : "int64", "example" : null }, "deletedAt" : { "type" : "string", "format" : "date-time", "example" : null }, "id" : { "type" : "integer", "format" : "int64", "example" : null }, "includeSensitivePropertiesChanged" : { "type" : "boolean", "example" : null }, "listIds" : { "type" : "array", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "objectIds" : { "type" : "array", "example" : null, "items" : { "type" : "integer", "format" : "int64", "example" : null } }, "objectTypeId" : { "type" : "string", "example" : null }, "portalId" : { "type" : "integer", "format" : "int64", "example" : null }, "properties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "subscriptionType" : { "type" : "string", "example" : null, "enum" : [ "APP_LIFECYCLE_EVENT", "ASSOCIATION", "EVENT", "GDPR_PRIVACY_DELETION", "LIST_MEMBERSHIP", "OBJECT" ] }, "updatedAt" : { "type" : "string", "format" : "date-time", "example" : null } }, "example" : null }, "SubscriptionUpsertRequest" : { "properties" : { }, "example" : null, "oneOf" : [ { "$ref" : "#/components/schemas/ObjectSubscriptionUpsertRequest" }, { "$ref" : "#/components/schemas/AssociationSubscriptionUpsertRequest" }, { "$ref" : "#/components/schemas/AppLifecycleEventSubscriptionUpsertRequest" }, { "$ref" : "#/components/schemas/ListMembershipSubscriptionUpsertRequest" }, { "$ref" : "#/components/schemas/GdprPrivacyDeletionSubscriptionUpsertRequest" } ] } }, "responses" : { "Error" : { "description" : "An error occurred.", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/Error" }, "example" : null } } } }, "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" : { } } } }, "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" } }