openapi: 3.2.0 info: title: Commerce Webhook Subscriptions API version: '2' servers: - url: https://api.squarespace.com description: Commerce API security: - Authorization: [] tags: - name: WebhookSubscriptions x-zudoku-collapsed: true paths: /1.0/webhook_subscriptions: get: description: Retrieves information for all webhook subscriptions. The response contains up to 25 Webhook Subscriptions. Requires an OAuth access token; API keys are not supported. operationId: getWebhookSubscriptions parameters: - in: header name: Authorization required: true description: API key or OAuth access token schema: type: string default: Bearer YOUR_API_KEY_OR_OAUTH_TOKEN - in: header name: User-Agent required: true description: User Agent schema: type: string default: YOUR_CUSTOM_APP_DESCRIPTION responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalWebhookSubscriptionListResponse' description: OK '404': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: Not found. The API version is not supported. summary: List webhook subscriptions tags: - WebhookSubscriptions post: callbacks: address.create: '{$request.body#/endpointUrl}': post: description: Address created details pushed to the registered callback URL operationId: createAddressEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/AddressCreatePayload' description: address.create event details payload required: true responses: '200': description: Notification received by the external service. address.delete: '{$request.body#/endpointUrl}': post: description: Address delete details pushed to the registered callback URL operationId: deleteAddressEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/AddressDeletePayload' description: address.delete event details payload required: true responses: '200': description: Notification received by the external service. address.update: '{$request.body#/endpointUrl}': post: description: Address update details pushed to the registered callback URL operationId: updateAddressEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/AddressUpdatePayload' description: address.update event details payload required: true responses: '200': description: Notification received by the external service. contact.create: '{$request.body#/endpointUrl}': post: description: Contact created details pushed to the registered callback URL operationId: createContactEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/ContactCreatePayload' description: contact.create event details payload required: true responses: '200': description: Notification received by the external service. contact.delete: '{$request.body#/endpointUrl}': post: description: Contact delete details pushed to the registered callback URL operationId: deleteContactEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/ContactDeletePayload' description: contact.delete event details payload required: true responses: '200': description: Notification received by the external service. contact.update: '{$request.body#/endpointUrl}': post: description: Contact update details pushed to the registered callback URL operationId: updateContactEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/ContactUpdatePayload' description: contact.update event details payload required: true responses: '200': description: Notification received by the external service. extension.uninstall: '{$request.body#/endpointUrl}': post: description: Extension uninstalled details pushed to the registered callback URL operationId: uninstallExtensionEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/ExtensionUninstallPayload' description: extension.uninstall event details payload required: true responses: '200': description: Notification received by the external service. order.create: '{$request.body#/endpointUrl}': post: description: Order created details pushed to the registered callback URL operationId: createOrderEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderCreatePayload' description: order.create event details payload required: true responses: '200': description: Notification received by the external service. order.update: '{$request.body#/endpointUrl}': post: description: Order update details pushed to the registered callback URL operationId: updateOrderEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderUpdatePayload' description: order.update event details payload required: true responses: '200': description: Notification received by the external service. description: 'Creates a webhook subscription. A successful request returns the created Webhook Subscription resource. Requires an OAuth access token; API keys are not supported. The OAuth token must hold scopes appropriate for each subscribed event topic: order.create and order.update require website.orders or website.orders.read; contact.create, contact.update, contact.delete, address.create, address.update, and address.delete require website.contacts; extension.uninstall requires no event-specific scope.' operationId: createWebhookSubscription parameters: - in: header name: Authorization required: true description: API key or OAuth access token schema: type: string default: Bearer YOUR_API_KEY_OR_OAUTH_TOKEN - in: header name: User-Agent required: true description: User Agent schema: type: string default: YOUR_CUSTOM_APP_DESCRIPTION requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalCreateWebhookSubscriptionRequest' description: Subscription details required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExternalCreateWebhookSubscriptionResponse' description: The created webhook subscription. '400': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: Invalid input or malformed JSON '404': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: Not found. The API version is not supported. '409': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: The Squarespace website has reached its limit of 25 webhook subscriptions. summary: Create webhook subscription tags: - WebhookSubscriptions /1.0/webhook_subscriptions/{subscriptionId}: delete: description: Deletes a webhook subscription. Requires an OAuth access token; API keys are not supported. operationId: deleteWebhookSubscription parameters: - description: Specifies the Webhook Subscription to delete. in: path name: subscriptionId required: true schema: type: string - in: header name: Authorization required: true description: API key or OAuth access token schema: type: string default: Bearer YOUR_API_KEY_OR_OAUTH_TOKEN - in: header name: User-Agent required: true description: User Agent schema: type: string default: YOUR_CUSTOM_APP_DESCRIPTION responses: '204': description: No content. The webhook subscription was deleted successfully. '404': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: The requested Webhook Subscription was not found. summary: Delete webhook subscription tags: - WebhookSubscriptions get: description: Retrieves information for a specific webhook subscription. Requires an OAuth access token; API keys are not supported. operationId: getWebhookSubscription parameters: - description: Specifies the Webhook Subscription to retrieve. in: path name: subscriptionId required: true schema: type: string - in: header name: Authorization required: true description: API key or OAuth access token schema: type: string default: Bearer YOUR_API_KEY_OR_OAUTH_TOKEN - in: header name: User-Agent required: true description: User Agent schema: type: string default: YOUR_CUSTOM_APP_DESCRIPTION responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalWebhookSubscriptionResponse' description: OK '404': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: The requested Webhook Subscription was not found. summary: Get webhook subscription tags: - WebhookSubscriptions post: description: 'Updates information for a webhook subscription. A successful request returns the updated Webhook Subscription resource. Requires an OAuth access token; API keys are not supported. The OAuth token must hold scopes appropriate for each subscribed event topic: order.create and order.update require website.orders or website.orders.read; contact.create, contact.update, contact.delete, address.create, address.update, and address.delete require website.contacts; extension.uninstall requires no event-specific scope.' operationId: updateWebhookSubscription parameters: - description: Specifies the Webhook Subscription to update. in: path name: subscriptionId required: true schema: type: string - in: header name: Authorization required: true description: API key or OAuth access token schema: type: string default: Bearer YOUR_API_KEY_OR_OAUTH_TOKEN - in: header name: User-Agent required: true description: User Agent schema: type: string default: YOUR_CUSTOM_APP_DESCRIPTION requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalUpdateWebhookSubscriptionRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalWebhookSubscriptionResponse' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: The request body does not conform to the required specification. '404': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: The requested Webhook Subscription was not found. summary: Update webhook subscription tags: - WebhookSubscriptions /1.0/webhook_subscriptions/{subscriptionId}/actions/rotateSecret: post: description: Rotates a webhook subscription's secret. The previous secret for a subscription is no longer valid after a new one is generated. Requires an OAuth access token; API keys are not supported. operationId: rotateSubscriptionSecret parameters: - description: Specifies the Webhook Subscription to update. in: path name: subscriptionId required: true schema: type: string - in: header name: Authorization required: true description: API key or OAuth access token schema: type: string default: Bearer YOUR_API_KEY_OR_OAUTH_TOKEN - in: header name: User-Agent required: true description: User Agent schema: type: string default: YOUR_CUSTOM_APP_DESCRIPTION responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalRotateSecretResponse' description: OK '404': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: The requested Webhook Subscription was not found. summary: Rotate webhook subscription secret tags: - WebhookSubscriptions /1.0/webhook_subscriptions/{subscriptionId}/actions/sendTestNotification: post: description: Sends a notification to a subscribed webhook endpoint for testing purposes. This is a one-time notification, and will not be retried if it fails or times out. Requires an OAuth access token; API keys are not supported. operationId: sendTestNotificationForWebhookSubscription parameters: - description: Specifies the Webhook Subscription to send a notification to. in: path name: subscriptionId required: true schema: type: string - in: header name: Authorization required: true description: API key or OAuth access token schema: type: string default: Bearer YOUR_API_KEY_OR_OAUTH_TOKEN - in: header name: User-Agent required: true description: User Agent schema: type: string default: YOUR_CUSTOM_APP_DESCRIPTION requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalSendTestNotificationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalTestNotificationResponse' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: The request body does not conform to the required specification. '404': content: application/json: schema: $ref: '#/components/schemas/StandardErrorPayload' description: The requested Webhook Subscription was not found. summary: Send test notification tags: - WebhookSubscriptions components: schemas: ExternalWebhookSubscriptionListResponse: type: object properties: webhookSubscriptions: type: array description: Array of Webhook Subscription resources. If the merchant site doesn't have any webhook subscriptions, this array is empty. items: $ref: '#/components/schemas/ExternalWebhookSubscriptionResponse' OrderUpdatePayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/OrderUpdateData' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' default: order.update enum: - order.update examples: - order.update websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 ContactCreatePayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/Contact' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' default: contact.create enum: - contact.create examples: - contact.create websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 ContactDeletePayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/ContactDeleteData' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' default: contact.delete enum: - contact.delete examples: - contact.delete websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 AddressUpdateData: required: - addressBookEntries - contactId type: object properties: addressBookEntries: type: array description: The address book entries after the update. items: $ref: '#/components/schemas/AddressBookEntry' contactId: type: string description: The contact's ID. examples: - 64a7e3d2c8f1b95e30a14d2b createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of the address book entries. format: date-time examples: - '2024-01-28T10:44:00Z' updatedOn: type: string description: Last update date and time in UTC (ISO 8601 format) of the address book entries. format: date-time examples: - '2024-02-15T14:30:00Z' description: The address data after the update. AddressCreatePayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/AddressCreateData' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' default: address.create enum: - address.create examples: - address.create websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 ExternalWebhookSubscriptionResponse: type: object properties: clientId: type: string description: Third-party client id. createdOn: type: string description: ISO 8601 UTC date and time string; represents when the webhook subscription was created. endpointUrl: type: string description: HTTPS URL that receives webhook notifications. id: type: string description: Unique Webhook Subscription id. topics: type: array description: 'List of event topics that trigger a webhook notification. Possible values include: extension.uninstall, order.create, order.update.' items: type: string description: 'List of event topics that trigger a webhook notification. Possible values include: extension.uninstall, order.create, order.update.' updatedOn: type: string description: ISO 8601 UTC date and time string; represents when the webhook subscription was last modified. websiteId: type: string description: Unique website id. AddressDeleteData: required: - addressBookEntryIds - contactId type: object properties: addressBookEntryIds: type: array description: The IDs of the deleted address book entries. items: type: string description: The IDs of the deleted address book entries. contactId: type: string description: The contact's ID. examples: - 64a7e3d2c8f1b95e30a14d2b deletedOn: type: string description: Deletion date and time in UTC (ISO 8601 format) of the address book entries. format: date-time examples: - '2024-01-28T10:44:00Z' description: Identifiers and metadata for the deleted address book entries. AddressCreateData: required: - addressBookEntries - contactId type: object properties: addressBookEntries: type: array description: The address book entries that were created. items: $ref: '#/components/schemas/AddressBookEntry' contactId: type: string description: The contact's ID. examples: - 64a7e3d2c8f1b95e30a14d2b createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of the address book entries. format: date-time examples: - '2024-01-28T10:44:00Z' description: The address data for the created address book entries. ExternalUpdateWebhookSubscriptionRequest: type: object properties: endpointUrl: $ref: '#/components/schemas/ChangeString' topics: $ref: '#/components/schemas/ChangeListString' ExternalTestNotificationResponse: type: object properties: statusCode: type: integer description: Status code returned by the subscribed webhook endpoint. format: int32 AddressDeletePayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/AddressDeleteData' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' default: address.delete enum: - address.delete examples: - address.delete websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 StandardErrorPayload: type: object properties: contextId: type: string details: type: object message: type: string subtype: type: string enum: - MISSING_ARGUMENT - INVALID_ARGUMENT - INVALID_CONTENT_TYPE - CONCURRENT_MODIFICATION - INSUFFICIENT_STOCK - STOCK_NOT_TRACKED - STOCK_EXCEEDS_MAX - CURRENCY_MISMATCH - MEASUREMENT_STANDARD_MISMATCH - INSUFFICIENT_PRODUCT_VARIANTS - URL_SLUG_UNAVAILABLE - SKU_UNAVAILABLE - STORE_PAGE_NOT_FOUND - STORE_PAGE_PRODUCT_LIMIT_REACHED - IMAGE_LIMIT_REACHED - WEBHOOK_SUBSCRIPTION_LIMIT_REACHED - MISSING_SCOPE - PROFILE_CANNOT_ACCEPT_MARKETING - ENTITY_LIMIT_REACHED - PRODUCT_UPDATE_CONFLICT - DUPLICATE_USER_CONFLICT - PROMO_CODE_CONFLICT - INVENTORY_ITEM_NOT_FOUND - PRODUCT_IMAGE_NOT_FOUND - PRODUCT_VARIANT_NOT_FOUND - OAUTH_TOKEN_REQUIRED - FORBIDDEN_RESOURCE - OPERATION_NOT_ALLOWED_FOR_PRODUCT_TYPE type: type: string enum: - INVALID_REQUEST_ERROR - AUTHORIZATION_ERROR - WEBSITE_EXPIRED - METHOD_NOT_ALLOWED - CONFLICT - TOO_MANY_REQUESTS - SERVER_ERROR - SERVICE_UNAVAILABLE AcceptsMarketing: type: object properties: acceptsMarketing: type: boolean description: Whether the contact accepts marketing email. joinedOn: type: string description: The date and time the contact was added to the marketing list.The value returned in the creation response is a near-real-time estimate; the Get Contact endpoint should be used to verify the exact persisted timestamp. format: date-time leftOn: type: string description: The date and time the contact left Marketing list format: date-time description: Marketing subscription state for the contact's email. AddressBookEntry: type: object properties: address: $ref: '#/components/schemas/ContactAddress' defaultShipping: type: boolean description: Whether this entry is the current default shipping address. When the contact has any address book entries, exactly one entry has this value set to true. id: type: string description: The address book entry's ID. readOnly: true examples: - 5f8d0d55b54764421b7156aa description: An address book entry for a contact. ExternalCreateWebhookSubscriptionRequest: required: - endpointUrl type: object properties: endpointUrl: type: string description: HTTPS URL to POST webhook notifications. examples: - https://example-extension.com/uninstall topics: type: array description: List of event topics that trigger a webhook notification. items: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' enum: - order.create - order.update - extension.uninstall - contact.create - contact.update - contact.delete - address.create - address.update - address.delete examples: - extension.uninstall ChangeListString: type: object properties: present: type: boolean value: type: array items: type: string description: 'Optional; list of event topics that trigger a webhook notification. Possible values include: extension.uninstall, order.create, order.update.' ExternalSendTestNotificationRequest: required: - topic type: object properties: topic: type: string description: 'Required; Squarespace event topic that triggers a webhook notification. Possible values include: extension.uninstall, order.create, order.update.' OrderCreatePayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/OrderCreateData' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' default: order.create enum: - order.create examples: - order.create websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 Email: type: object properties: acceptsMarketing: $ref: '#/components/schemas/AcceptsMarketing' createdOn: type: string description: The date and time when the email was created. format: date-time readOnly: true email: type: string format: email description: The email address. examples: - jane.doe@example.com description: The contact's primary email. ExternalCreateWebhookSubscriptionResponse: required: - clientId - createdOn - endpointUrl - id - secret - updatedOn - websiteId type: object properties: clientId: type: string description: Third-party client id. readOnly: true examples: - A125dfPqdKJDqPAcJQgLo3A5mwcKIq2G createdOn: type: string description: ISO 8601 UTC date and time string; represents when the webhook subscription was created. format: date-time readOnly: true examples: - '2020-04-22T22:18:00Z' endpointUrl: type: string description: HTTPS URL to POST webhook notifications. examples: - https://example-extension.com/uninstall id: type: string description: Unique Webhook Subscription id. readOnly: true examples: - 7aff04bb-90e0-4002-96c2-69d8162c8dae secret: type: string description: 'Hexadecimal value used to generate a signature for a webhook notification; field is only returned when creating a new subscription or rotating a secret. Store the secret in a safe location to verify notifications from Squarespace. See the ''Verifying notifications'' guide under Webhooks for details. ' readOnly: true examples: - F3F9B981C78E7A6187E42853F6CE2804177E98206164779423B02DEC981ACD6B topics: type: array description: List of event topics that trigger a webhook notification. items: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' enum: - order.create - order.update - extension.uninstall - contact.create - contact.update - contact.delete - address.create - address.update - address.delete examples: - extension.uninstall updatedOn: type: string description: ISO 8601 UTC date and time string; represents when the webhook subscription was last modified. format: date-time readOnly: true examples: - '2020-04-22T22:18:00Z' websiteId: type: string description: Unique Webhook Subscription id. readOnly: true examples: - 7aff04bb-90e0-4002-96c2-69d8162c8dae AddressUpdatePayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/AddressUpdateData' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' default: address.update enum: - address.update examples: - address.update websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 ChangeString: type: object properties: present: type: boolean value: type: string description: Optional; HTTPS URL to receive webhook notifications. ExtensionUninstallPayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/ExtensionUninstallData' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' enum: - extension.uninstall examples: - extension.uninstall websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 OrderUpdateData: required: - orderId - update type: object properties: orderId: type: string description: Unique order id. examples: - 5f3c39ce69e11e796f19990e update: type: string description: The type of update on the order. enum: - FULFILLED - REFUNDED - CANCELED - MARKED_PENDING - EMAIL_UPDATED examples: - FULFILLED description: The updated order details. ExternalRotateSecretResponse: type: object properties: secret: type: string description: Hexadecimal value used to generate a signature for a webhook notification; field is only returned when creating a new subscription or rotating a secret. Store the secret in a safe location to verify notifications from Squarespace. Contact: type: object properties: createdOn: type: string description: The date and time when the contact was created. format: date-time readOnly: true defaultShippingAddress: $ref: '#/components/schemas/AddressBookEntry' firstName: type: string description: The contact's first name. id: type: string description: The contact's ID. readOnly: true examples: - 64a7e3d2c8f1b95e30a14d2b lastName: type: string description: The contact's last name. locale: type: string description: The contact's locale. examples: - en-US primaryEmail: $ref: '#/components/schemas/Email' description: A contact. ContactDeleteData: required: - deletedOn - id type: object properties: deletedOn: type: string description: Deletion date and time in UTC (ISO 8601 format) of the contact. format: date-time examples: - '2024-01-28T10:44:00Z' id: type: string description: The contact's ID. examples: - 64a7e3d2c8f1b95e30a14d2b description: Identifiers and metadata for the deleted contact. ExtensionUninstallData: required: - clientId type: object properties: clientId: type: string description: Third-party client id. examples: - A125dfPqdKJDqPAcJQgLo3A5mwcKIq2G description: The extension uninstall details. ContactUpdatePayload: required: - createdOn - id - subscriptionsId - topic - websiteId type: object properties: createdOn: type: string description: Creation date and time in UTC (ISO 8601 format) of this message. format: date-time examples: - '2024-01-28T10:44:00Z' data: $ref: '#/components/schemas/Contact' id: type: string description: Unique notification id. examples: - 5c2ba184b63ed3cb411ce2b1 subscriptionsId: type: string description: Unique Webhook Subscriptions id. examples: - 5f3c2155d947844beedda991 topic: type: string description: 'Description of the event that triggered the notification. * `order.create` - always value for OrderCreatePayload.topic ref * `order.update` - always value for OrderUpdatePayload.topic * `extension.uninstall` - always value for ExtensionUninstallPayload.topic * `contact.create` - always value for ContactCreatePayload.topic * `contact.update` - always value for ContactUpdatePayload.topic * `contact.delete` - always value for ContactDeletePayload.topic * `address.create` - always value for AddressCreatePayload.topic * `address.update` - always value for AddressUpdatePayload.topic * `address.delete` - always value for AddressDeletePayload.topic ' default: contact.update enum: - contact.update examples: - contact.update websiteId: type: string description: Squarespace website id that triggered the notification. examples: - 5f3c3d55ac435e1a051f77b3 ContactAddress: required: - countryCode type: object properties: city: type: string description: Address' city examples: - Springfield countryCode: type: string description: ISO 3166 alpha-2 country code string. enum: - AF - AX - AL - DZ - AS - AD - AO - AI - AQ - AG - AR - AM - AW - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BA - BW - BV - BR - IO - BN - BG - BF - BI - BQ - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CG - CD - CK - CR - CI - CW - HR - CU - CY - CZ - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - ET - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GP - GU - GT - GG - GN - GW - GY - HT - HM - VA - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IM - IL - IT - JM - JP - JE - JO - KZ - KE - KI - XK - KP - KR - KW - KG - LA - LV - LB - LS - LR - LY - LI - LT - LU - MO - MF - MK - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - ME - MS - MA - MZ - MM - NA - NR - NP - NL - AN - NC - NZ - NI - NE - NG - NU - NF - MP - 'NO' - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PL - PT - PR - QA - RE - RO - RU - RW - BL - SH - KN - LC - PM - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SK - SI - SB - SO - SX - ZA - GS - ES - LK - SD - SR - SJ - SS - SZ - SY - SE - CH - TW - TJ - TZ - TH - TL - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - US - UM - UY - UZ - VU - VE - VN - VG - VI - WF - EH - YE - ZM - ZW examples: - US firstName: type: string description: Contact's first name examples: - John lastName: type: string description: Contact's last name examples: - Doe line1: type: string description: First line of address examples: - 100 Main St line2: type: string description: Second line of address examples: - Apt 1A phoneNumber: type: string description: Contact's phone number examples: - 215-555-4321 postalCode: type: string description: zip/postal code examples: - '10900' region: type: string description: General region (State, Province, County, etc...) examples: - IL description: Address properties for a contact. OrderCreateData: required: - orderId type: object properties: orderId: type: string description: Unique order id. examples: - 5f3c39ce69e11e796f19990e description: The created order details. securitySchemes: Authorization: in: header scheme: bearer type: http