{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/revolut/main/json-schema/revolut-synchronous-webhook-creation-schema.json", "title": "SynchronousWebhookCreation", "description": "The `SynchronousWebhook` object allows merchants to register endpoints on their backend for receiving predefined event types. Currently, only address validation events are available.\n\nIn addition, merchants can specify locations representing their online stores, enabling them to set up different webhooks for different stores.", "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-Creation", "type": "object", "properties": { "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:::" }, "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:::" }, "location_id": { "$ref": "#/$defs/Location-Id" } }, "required": [ "event_type", "url" ], "$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::: " } } }