{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/revolut/main/json-schema/revolut-synchronous-webhook-schema.json", "title": "SynchronousWebhook", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/revolut-other-api-openapi.yml#/components/schemas/Synchronous-Webhook", "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The ID of the synchronous webhook object." }, "signing_key": { "type": "string", "pattern": "^swsk_[a-zA-Z0-9]{32}$", "description": "A randomly generated signing key, which can be used by merchants to authenticate requests from Revolut by verifying the signature. For more information, see: [Payload Signature](https://developer.revolut.com/docs/api/merchant#authentication)." }, "url": { "type": "string", "format": "uri", "pattern": "^https:\\/{2}.+/gi", "maxLength": 2000, "description": "The valid URL of the endpoint, that uses HTTPS URL schema. Revolut sends the shipping address of the customer to this URL for validation.\n\n:::warning\nRestrictions:\n- Must be a valid URI as defined by [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986)\n- URI scheme is required and must be `https`\n- URI host is required and cannot be `localhost` or an IP address\n- Max length: `2000`\n- Reserved or invalid characters must be percent-encoded (for example, use `%20` instead of a space)\n:::" }, "event_type": { "type": "string", "enum": [ "fast_checkout.validate_address" ], "description": "Type of event this synchronous webhook is configured for.\n\n:::note\nAt the moment, synchronous webhooks only support address validation events. \n:::" }, "location_id": { "$ref": "#/$defs/Location-Id" } }, "required": [ "id", "signing_key", "url", "event_type" ], "$defs": { "Location-Id": { "type": "string", "format": "uuid", "description": "Unique ID representing the location where merchants sells products.\n\n:::info\nFor more information, see: [Locations](https://developer.revolut.com/docs/api/merchant#tag-locations).\n::: " } } }