{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/http_rule_post", "title": "http_rule_post", "type": "object", "additionalProperties": false, "properties": { "status": { "type": "string", "description": "The status of the rule. Rules can be enabled or disabled.", "example": "enabled" }, "ruleType": { "type": "string", "enum": [ "http" ], "description": "The type of rule. See the Ably integrations docs for further information.", "example": "http" }, "requestMode": { "type": "string", "description": "This is Single Request mode or Batch Request mode. Single Request mode sends each event separately to the endpoint specified by the rule. Batch Request mode rolls up multiple events into the same request. You can read more about the difference between single and batched events in the Ably batching docs.", "example": "single" }, "source": { "$ref": "#/components/schemas/rule_source" }, "target": { "type": "object", "additionalProperties": false, "properties": { "url": { "type": "string", "description": "The webhook URL that Ably will POST events to.", "example": "https://example.com/webhooks" }, "headers": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the header.", "example": "User-Agent" }, "value": { "type": "string", "description": "The value of the header.", "example": "user-agent-string" } } }, "description": "If you have additional information to send, you'll need to include the relevant headers.", "example": [ { "name": "User-Agent", "value": "user-agent-string" }, { "name": "headerName", "value": "headerValue" } ] }, "signingKeyId": { "type": "string", "nullable": true, "description": "The signing key ID for use in `batch` mode. Ably will optionally sign the payload using an API key ensuring your servers can validate the payload using the private API key. See the webhook security docs for more information.", "example": "bw66AB" }, "enveloped": { "type": "boolean", "nullable": true, "description": "Delivered messages are wrapped in an Ably envelope by default that contains metadata about the message and its payload. The form of the envelope depends on whether it is part of a Webhook/Function or a Queue/Firehose rule. For everything besides Webhooks, you can ensure you only get the raw payload by unchecking \"Enveloped\" when setting up the rule.", "example": true }, "format": { "type": "string", "description": "JSON provides a simpler text-based encoding, whereas MsgPack provides a more efficient binary encoding.", "example": "json" } }, "required": [ "url", "format" ] } }, "required": [ "ruleType", "requestMode", "source", "target" ] }