Squarespace · Schema

Squarespace Webhook Notification

Represents the payload structure of a webhook notification sent by Squarespace when a subscribed event occurs on a merchant site. All notifications share a common envelope with a topic-specific data payload. Authenticity is verified via the Squarespace-Signature header using HMAC-SHA256.

CommerceE-CommerceMarketingPaymentsRetailWebsite BuilderWebhooks

Properties

Name Type Description
notificationId string Unique identifier for this specific notification delivery instance
websiteId string Unique identifier of the Squarespace website that generated the event
subscriptionId string Unique identifier of the webhook subscription that matched the event
topic string The event topic that triggered this notification
createdOn string ISO 8601 UTC timestamp when the notification was generated by Squarespace
data object Topic-specific event data payload. Structure varies based on the topic value.
View JSON Schema on GitHub

JSON Schema

squarespace-webhook-notification-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developers.squarespace.com/schemas/squarespace/webhook-notification.json",
  "title": "Squarespace Webhook Notification",
  "description": "Represents the payload structure of a webhook notification sent by Squarespace when a subscribed event occurs on a merchant site. All notifications share a common envelope with a topic-specific data payload. Authenticity is verified via the Squarespace-Signature header using HMAC-SHA256.",
  "type": "object",
  "required": ["notificationId", "websiteId", "subscriptionId", "topic", "createdOn", "data"],
  "properties": {
    "notificationId": {
      "type": "string",
      "description": "Unique identifier for this specific notification delivery instance"
    },
    "websiteId": {
      "type": "string",
      "description": "Unique identifier of the Squarespace website that generated the event"
    },
    "subscriptionId": {
      "type": "string",
      "description": "Unique identifier of the webhook subscription that matched the event"
    },
    "topic": {
      "type": "string",
      "description": "The event topic that triggered this notification",
      "enum": ["order.create", "order.update", "extension.uninstall"]
    },
    "createdOn": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 UTC timestamp when the notification was generated by Squarespace"
    },
    "data": {
      "description": "Topic-specific event data payload. Structure varies based on the topic value.",
      "oneOf": [
        { "$ref": "#/$defs/OrderCreateData" },
        { "$ref": "#/$defs/OrderUpdateData" },
        { "$ref": "#/$defs/ExtensionUninstallData" }
      ]
    }
  },
  "$defs": {
    "OrderCreateData": {
      "type": "object",
      "description": "Data payload for an order.create notification containing the ID of the newly created order",
      "required": ["orderId"],
      "properties": {
        "orderId": {
          "type": "string",
          "description": "Unique identifier of the newly created order. Use with the Orders API to retrieve full order details."
        }
      }
    },
    "OrderUpdateData": {
      "type": "object",
      "description": "Data payload for an order.update notification containing the updated order ID and description of the change",
      "required": ["orderId"],
      "properties": {
        "orderId": {
          "type": "string",
          "description": "Unique identifier of the order that was updated"
        },
        "orderUpdate": {
          "type": "string",
          "description": "Human-readable string describing what was updated on the order, such as fulfillment status changes"
        }
      }
    },
    "ExtensionUninstallData": {
      "type": "object",
      "description": "Data payload for an extension.uninstall notification",
      "properties": {
        "clientId": {
          "type": "string",
          "description": "The OAuth client ID of the Squarespace Extension that was uninstalled from the merchant site"
        }
      }
    },
    "WebhookSubscription": {
      "type": "object",
      "description": "A webhook subscription record configured via the Webhook Subscriptions API",
      "required": ["id", "endpointUrl", "topics"],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier for the webhook subscription"
        },
        "endpointUrl": {
          "type": "string",
          "format": "uri",
          "description": "The publicly accessible HTTPS URL where notifications are delivered"
        },
        "topics": {
          "type": "array",
          "description": "List of event topics this subscription is configured to receive",
          "minItems": 1,
          "items": {
            "type": "string",
            "enum": ["order.create", "order.update", "extension.uninstall"]
          }
        },
        "secret": {
          "type": "string",
          "description": "HMAC-SHA256 signing secret returned only at creation or secret rotation. Must be stored securely."
        },
        "createdOn": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 UTC timestamp when the subscription was created"
        },
        "updatedOn": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 UTC timestamp when the subscription was last modified"
        }
      }
    }
  }
}