{ "openapi" : "3.0.1", "info" : { "title" : "Webhooks Webhooks", "description" : "Provides a way for apps to subscribe to certain change events in HubSpot. Once configured, apps will receive event payloads containing details about the changes at a specified target URL. There can only be one target URL for receiving event notifications per app.", "version" : "v3", "x-hubspot-product-tier-requirements" : { "marketing" : "FREE", "sales" : "FREE", "service" : "FREE", "cms" : "FREE", "commerce" : "FREE", "crmHub" : "FREE", "dataHub" : "FREE" }, "x-hubspot-related-documentation" : [ { "name" : "Webhooks Guide", "url" : "https://developers.hubspot.com/docs/guides/api/webhooks/overview" } ] }, "servers" : [ { "url" : "https://api.hubapi.com" } ], "tags" : [ { "name" : "Basic" }, { "name" : "Batch" } ], "paths" : { "/webhooks/v3/{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-/webhooks/v3/{appId}/settings_getAll", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SettingsResponse" }, "example" : { "createdAt" : "2020-01-24T16:27:59Z", "targetUrl" : "https://www.example.com/hubspot/target", "throttling" : { "maxConcurrentRequests" : 10, "period" : "SECONDLY" }, "updatedAt" : "2020-01-24T16:32:43Z" } } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-read", "private-apps-read" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-read", "private-apps-read" ] }, { "oauth2" : [ "developers-read", "private-apps-read" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" }, "put" : { "tags" : [ "Basic" ], "summary" : "Update webhook settings", "description" : "Update webhook settings for the specified app.", "operationId" : "put-/webhooks/v3/{appId}/settings_configure", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "requestBody" : { "description" : "New webhook settings to configure for the app, or updated settings to replace existing configuration.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SettingsChangeRequest" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SettingsResponse" }, "example" : { "createdAt" : "2020-01-24T16:27:59Z", "targetUrl" : "https://www.example.com/hubspot/target", "throttling" : { "maxConcurrentRequests" : 10, "period" : "SECONDLY" }, "updatedAt" : "2020-01-24T16:32:43Z" } } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-write", "private-apps-write" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-write", "private-apps-write" ] }, { "oauth2" : [ "developers-write", "private-apps-write" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" }, "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-/webhooks/v3/{appId}/settings_clear", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "204" : { "description" : "No content", "content" : { } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-write", "private-apps-write" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-write", "private-apps-write" ] }, { "oauth2" : [ "developers-write", "private-apps-write" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" } }, "/webhooks/v3/{appId}/subscriptions" : { "get" : { "tags" : [ "Basic" ], "summary" : "Read event subscriptions", "description" : "Retrieve event subscriptions for the specified app.", "operationId" : "get-/webhooks/v3/{appId}/subscriptions_getAll", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionListResponse" }, "example" : { "results" : [ { "active" : true, "createdAt" : "2019-10-30T03:30:17.883Z", "eventType" : "contact.propertyChange", "id" : "12", "propertyName" : "email", "updatedAt" : "2019-11-30T03:30:17.883Z" }, { "active" : true, "createdAt" : "2019-10-30T03:30:17.883Z", "eventType" : "deal.creation", "id" : "13", "updatedAt" : "2019-11-30T03:30:17.883Z" } ] } } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-read", "private-apps-read" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-read", "private-apps-read" ] }, { "oauth2" : [ "developers-read", "private-apps-read" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" }, "post" : { "tags" : [ "Basic" ], "summary" : "Create an event subscription", "description" : "Create new event subscription for the specified app.", "operationId" : "post-/webhooks/v3/{appId}/subscriptions_create", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "requestBody" : { "description" : "Details about the new subscription.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionCreateRequest" }, "example" : null } }, "required" : true }, "responses" : { "201" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionResponse" }, "example" : { "active" : true, "createdAt" : "2019-10-30T03:30:17.883Z", "eventType" : "contact.propertyChange", "id" : "12", "propertyName" : "email", "updatedAt" : "2019-11-30T03:30:17.883Z" } } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-write", "private-apps-write" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-write", "private-apps-write" ] }, { "oauth2" : [ "developers-write", "private-apps-write" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" } }, "/webhooks/v3/{appId}/subscriptions/batch/update" : { "post" : { "tags" : [ "Batch" ], "summary" : "Batch create event subscriptions", "description" : "Batch create event subscriptions for the specified app.", "operationId" : "post-/webhooks/v3/{appId}/subscriptions/batch/update_updateBatch", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "requestBody" : { "description" : "Updated details for the specified subscriptions.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchInputSubscriptionBatchUpdateRequest" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSubscriptionResponse" }, "example" : { "completedAt" : "2020-04-17T02:19:26.283Z", "results" : [ { "active" : true, "createdAt" : "2019-06-06T16:56:16.652Z", "eventType" : "contact.propertyChange", "id" : "1234", "propertyName" : "firstname", "updatedAt" : "2019-08-06T16:56:16.652Z" }, { "active" : false, "createdAt" : "2019-06-06T16:56:16.652Z", "eventType" : "contact.create", "id" : "4567", "updatedAt" : "2019-08-06T16:56:16.652Z" } ], "startedAt" : "2020-04-17T02:19:26.256Z", "status" : "COMPLETE" } } } }, "207" : { "description" : "multiple statuses", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSubscriptionResponseWithErrors" }, "example" : { "completedAt" : "2020-04-17T02:19:26.283Z", "errors" : [ { "category" : "SUBSCRIPTION_ID_NOT_FOUND", "context" : { "subscriptionIds" : [ "4567" ] }, "message" : "Failed to find subscriptions by id `4567`. Try again using a different subscriptionId.", "status" : "error", "subCategory" : "SubscriptionErrors.SUBSCRIPTION_IDS_NOT_FOUND" } ], "numErrors" : 1, "results" : [ { "active" : true, "createdAt" : "2019-06-06T16:56:16.652Z", "eventType" : "contact.propertyChange", "id" : "1234", "propertyName" : "firstname", "updatedAt" : "2019-08-06T16:56:16.652Z" } ], "startedAt" : "2020-04-17T02:19:26.256Z", "status" : "COMPLETE" } } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-write", "private-apps-write" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-write", "private-apps-write" ] }, { "oauth2" : [ "developers-write", "private-apps-write" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" } }, "/webhooks/v3/{appId}/subscriptions/{subscriptionId}" : { "get" : { "tags" : [ "Basic" ], "summary" : "Read an event subscription", "description" : "Retrieve a specific event subscription by ID.", "operationId" : "get-/webhooks/v3/{appId}/subscriptions/{subscriptionId}_getById", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "subscriptionId", "in" : "path", "description" : "The ID of the target subscription.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionResponse" }, "example" : { "active" : true, "createdAt" : "2019-10-30T03:30:17.883Z", "eventType" : "contact.propertyChange", "id" : "12", "propertyName" : "email", "updatedAt" : "2019-11-30T03:30:17.883Z" } } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-read", "private-apps-read" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-read", "private-apps-read" ] }, { "oauth2" : [ "developers-read", "private-apps-read" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" }, "delete" : { "tags" : [ "Basic" ], "summary" : "Delete event subscription", "description" : "Delete an existing event subscription by ID.", "operationId" : "delete-/webhooks/v3/{appId}/subscriptions/{subscriptionId}_archive", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "subscriptionId", "in" : "path", "description" : "The ID of the subscription to delete.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "responses" : { "204" : { "description" : "No content", "content" : { } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-write", "private-apps-write" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-write", "private-apps-write" ] }, { "oauth2" : [ "developers-write", "private-apps-write" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" }, "patch" : { "tags" : [ "Basic" ], "summary" : "Update an event subscription", "description" : "Update an existing event subscription by ID.", "operationId" : "patch-/webhooks/v3/{appId}/subscriptions/{subscriptionId}_update", "parameters" : [ { "name" : "appId", "in" : "path", "description" : "The ID of the target app.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } }, { "name" : "subscriptionId", "in" : "path", "description" : "The ID of the subscription to update.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "integer", "format" : "int32", "example" : null } } ], "requestBody" : { "description" : "Updated details for the subscription.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionPatchRequest" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SubscriptionResponse" }, "example" : { "active" : true, "createdAt" : "2019-10-30T03:30:17.883Z", "eventType" : "contact.propertyChange", "id" : "12", "propertyName" : "email", "updatedAt" : "2019-11-30T03:30:17.883Z" } } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "app_cookie" : [ "developers-write", "private-apps-write" ] }, { "developer_hapikey" : [ ] }, { "internal_cookie" : [ "developers-write", "private-apps-write" ] }, { "oauth2" : [ "developers-write", "private-apps-write" ] }, { "shhkey" : [ ] } ], "x-hubspot-auth-scoping-type" : "ANY" } } }, "components" : { "schemas" : { "ThrottlingSettings" : { "required" : [ "maxConcurrentRequests" ], "type" : "object", "properties" : { "maxConcurrentRequests" : { "type" : "integer", "description" : "The maximum number of HTTP requests HubSpot will attempt to make to your app in a given time frame determined by `period`.", "format" : "int32", "example" : null } }, "description" : "Configuration details for webhook throttling.", "example" : null }, "StandardError" : { "required" : [ "category", "context", "errors", "links", "message", "status" ], "type" : "object", "properties" : { "category" : { "type" : "string", "description" : "The main category of the error.", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "description" : "Additional context-specific information related to the error.", "example" : null }, "errors" : { "type" : "array", "description" : "The detailed error objects.", "example" : null, "items" : { "$ref" : "#/components/schemas/ErrorDetail" } }, "id" : { "type" : "string", "description" : "A unique ID for the error instance.", "example" : null }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "URLs linking to documentation or resources associated with the error.", "example" : null }, "message" : { "type" : "string", "description" : "A human-readable string describing the error and possible remediation steps.", "example" : null }, "status" : { "type" : "string", "description" : "The HTTP status code associated with the error.", "example" : null }, "subCategory" : { "type" : "object", "properties" : { }, "description" : "A more specific error category within each main category.", "example" : null } }, "description" : "Represents a standard error response in the HubSpot API, providing detailed information about an error that occurred during an API request.", "example" : null }, "BatchResponseSubscriptionResponse" : { "required" : [ "completedAt", "results", "startedAt", "status" ], "type" : "object", "properties" : { "completedAt" : { "type" : "string", "description" : "The date and time when the batch operation was completed.", "format" : "date-time", "example" : null }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "A collection of related links associated with the batch operation.", "example" : null }, "requestedAt" : { "type" : "string", "description" : "The date and time when the batch operation was requested.", "format" : "date-time", "example" : null }, "results" : { "type" : "array", "description" : "The list of results from the batch operation.", "example" : null, "items" : { "$ref" : "#/components/schemas/SubscriptionResponse" } }, "startedAt" : { "type" : "string", "description" : "The date and time when the batch operation started.", "format" : "date-time", "example" : null }, "status" : { "type" : "string", "description" : "The current status of the batch operation, which can be PENDING, PROCESSING, CANCELED, or COMPLETE.", "example" : null, "enum" : [ "CANCELED", "COMPLETE", "PENDING", "PROCESSING" ] } }, "example" : null }, "SubscriptionListResponse" : { "required" : [ "results" ], "type" : "object", "properties" : { "results" : { "type" : "array", "description" : "An array containing all active and paused event subscriptions configured for the app.", "example" : null, "items" : { "$ref" : "#/components/schemas/SubscriptionResponse" } } }, "description" : "List of event subscriptions for your app", "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 } }, "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" } } }, "SettingsChangeRequest" : { "required" : [ "targetUrl", "throttling" ], "type" : "object", "properties" : { "targetUrl" : { "type" : "string", "description" : "A publicly available URL for Hubspot to call where event payloads will be delivered. See [link-so-some-doc](#) for details about the format of these event payloads.", "example" : null }, "throttling" : { "$ref" : "#/components/schemas/ThrottlingSettings" } }, "description" : "New or updated webhook settings for an app.", "example" : { "targetUrl" : "https://www.example.com/hubspot/target", "throttling" : { "maxConcurrentRequests" : 10, "period" : "SECONDLY" } } }, "SubscriptionPatchRequest" : { "type" : "object", "properties" : { "active" : { "type" : "boolean", "description" : "Whether to activate or pause the webhook subscription. If true, the subscription will send webhook notifications. If false, the subscription is paused and will not send notifications.", "example" : null } }, "description" : "Updated details for the subscription.", "example" : { "active" : true } }, "BatchResponseSubscriptionResponseWithErrors" : { "required" : [ "completedAt", "results", "startedAt", "status" ], "type" : "object", "properties" : { "completedAt" : { "type" : "string", "description" : "The timestamp when the batch operation completed, in ISO 8601 format (e.g., 2020-02-29T12:30:00Z).", "format" : "date-time", "example" : null }, "errors" : { "type" : "array", "description" : "An array containing error details for any subscriptions that failed to process during the batch operation.", "example" : null, "items" : { "$ref" : "#/components/schemas/StandardError" } }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "An object containing URLs for related resources or operations.", "example" : null }, "numErrors" : { "type" : "integer", "description" : "The number of errors that occurred during the batch operation.", "format" : "int32", "example" : null }, "requestedAt" : { "type" : "string", "description" : "The timestamp when the batch operation was requested, in ISO 8601 format (e.g., 2020-02-29T12:30:00Z).", "format" : "date-time", "example" : null }, "results" : { "type" : "array", "description" : "An array containing the successfully processed webhook subscriptions from the batch operation.", "example" : null, "items" : { "$ref" : "#/components/schemas/SubscriptionResponse" } }, "startedAt" : { "type" : "string", "description" : "The timestamp when the batch operation started processing, in ISO 8601 format (e.g., 2020-02-29T12:30:00Z).", "format" : "date-time", "example" : null }, "status" : { "type" : "string", "description" : "The status of the batch operation. Accepted values are PENDING, PROCESSING, CANCELED, or COMPLETE.", "example" : null, "enum" : [ "CANCELED", "COMPLETE", "PENDING", "PROCESSING" ] } }, "description" : "Response for batch operations on webhook subscriptions, containing successful results and any errors that occurred.", "example" : { "completedAt" : "2020-04-17T02:19:26.283Z", "errors" : [ { "category" : "SUBSCRIPTION_ID_NOT_FOUND", "message" : "Failed to find subscriptions by id `4567`.", "status" : "error" } ], "numErrors" : 1, "results" : [ { "active" : true, "createdAt" : "2019-06-06T16:56:16.652Z", "eventType" : "contact.propertyChange", "id" : "1234", "propertyName" : "firstname", "updatedAt" : "2019-08-06T16:56:16.652Z" } ], "startedAt" : "2020-04-17T02:19:26.256Z", "status" : "COMPLETE" } }, "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 } }, "example" : null }, "SettingsResponse" : { "required" : [ "createdAt", "targetUrl", "throttling" ], "type" : "object", "properties" : { "createdAt" : { "type" : "string", "description" : "When this subscription was created. Formatted as milliseconds from the [Unix epoch](#).", "format" : "date-time", "example" : null }, "targetUrl" : { "type" : "string", "description" : "A publicly available URL for Hubspot to call where event payloads will be delivered. See [link-so-some-doc](#) for details about the format of these event payloads.", "example" : null }, "throttling" : { "$ref" : "#/components/schemas/ThrottlingSettings" }, "updatedAt" : { "type" : "string", "description" : "When this subscription was last updated. Formatted as milliseconds from the [Unix epoch](#).", "format" : "date-time", "example" : null } }, "description" : "Webhook settings for an app.", "example" : { "createdAt" : "2020-01-24T16:27:59Z", "targetUrl" : "https://www.example.com/hubspot/target", "throttling" : { "maxConcurrentRequests" : 10, "period" : "SECONDLY" }, "updatedAt" : "2020-01-24T16:32:43Z" } }, "BatchInputSubscriptionBatchUpdateRequest" : { "required" : [ "inputs" ], "type" : "object", "properties" : { "inputs" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SubscriptionBatchUpdateRequest" } } }, "example" : null }, "SubscriptionBatchUpdateRequest" : { "required" : [ "active", "id" ], "type" : "object", "properties" : { "active" : { "type" : "boolean", "description" : "Whether to activate or pause the webhook subscription. If true, the subscription will send webhook notifications. If false, the subscription is paused and will not send notifications.", "example" : null }, "id" : { "type" : "integer", "description" : "The ID of the webhook subscription to update.", "format" : "int32", "example" : null } }, "description" : "Updated settings for a webhook subscription in a batch update operation.", "example" : { "active" : true, "id" : 12 } }, "SubscriptionResponse" : { "required" : [ "active", "createdAt", "eventType", "id" ], "type" : "object", "properties" : { "active" : { "type" : "boolean", "description" : "Whether the subscription is active or paused. If true, the subscription will send webhook notifications. If false, the subscription is paused and will not send notifications.", "example" : null }, "createdAt" : { "type" : "string", "description" : "The timestamp when the webhook subscription was created, in ISO 8601 format (e.g., 2020-02-29T12:30:00Z).", "format" : "date-time", "example" : null }, "eventType" : { "type" : "string", "description" : "The type of event to listen for. Accepted values include contact.creation, contact.deletion, contact.propertyChange, and similar event types for other CRM objects and custom objects.", "example" : null, "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 to listen for. This is used with custom objects to specify custom event types beyond the standard eventType enum values.", "example" : null }, "id" : { "type" : "string", "description" : "The unique ID of the webhook subscription.", "example" : null }, "objectTypeId" : { "type" : "string", "description" : "The ID of the object type for the subscription. This can be a standard CRM object (e.g., 'contact', 'company', 'deal') or a custom object ID for custom object subscriptions.", "example" : null }, "propertyName" : { "type" : "string", "description" : "The internal name of the property to monitor for changes. Only applies when eventType is propertyChange.", "example" : null }, "updatedAt" : { "type" : "string", "description" : "The timestamp when the webhook subscription was last updated, in ISO 8601 format (e.g., 2020-02-29T12:30:00Z).", "format" : "date-time", "example" : null } }, "description" : "Complete details for an event subscription.", "example" : null }, "SubscriptionCreateRequest" : { "required" : [ "eventType" ], "type" : "object", "properties" : { "active" : { "type" : "boolean", "description" : "Determines if the subscription is active or paused. Defaults to false.", "example" : null }, "eventType" : { "type" : "string", "description" : "Type of event to listen for. Can be one of `create`, `delete`, `deletedForPrivacy`, or `propertyChange`.", "example" : null, "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 to listen for. This is used with custom objects to specify custom event types beyond the standard eventType enum values.", "example" : null }, "objectTypeId" : { "type" : "string", "description" : "The ID of the object type for the subscription. This can be a standard CRM object (e.g., 'contact', 'company', 'deal') or a custom object ID for custom object subscriptions.", "example" : null }, "propertyName" : { "type" : "string", "description" : "The internal name of the property to monitor for changes. Only applies when `eventType` is `propertyChange`.", "example" : null } }, "description" : "Request to create a new webhook subscription for monitoring specific events. Each subscription defines which event type to listen for and whether to monitor all events of that type or specific property changes.", "example" : { "active" : true, "eventType" : "contact.propertyChange", "propertyName" : "email" } } }, "responses" : { "Error" : { "description" : "An error occurred.", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/Error" }, "example" : null } } } }, "securitySchemes" : { "developer_hapikey" : { "type" : "apiKey", "name" : "hapikey", "in" : "query" }, "hapikey" : { "type" : "apiKey", "name" : "hapikey", "in" : "query" }, "oauth2" : { "type" : "oauth2", "flows" : { "authorizationCode" : { "authorizationUrl" : "https://app.hubspot.com/oauth/authorize", "tokenUrl" : "https://api.hubapi.com/oauth/v1/token", "scopes" : { "crm-public-object-api-access" : "" } } } }, "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" } }