{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/amqp_external_rule_patch",
"title": "amqp_external_rule_patch",
"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": [
"amqp/external"
],
"description": "The type of rule. In this case AMQP external (using Firehose). See the Firehose docs for further information.",
"example": "amqp/external"
},
"requestMode": {
"type": "string",
"description": "Single request mode sends each event separately to the endpoint specified by the rule. You can read more about single request mode events in the batching docs.",
"example": "single"
},
"source": {
"$ref": "#/components/schemas/rule_source_patch"
},
"target": {
"type": "object",
"additionalProperties": false,
"properties": {
"url": {
"type": "string",
"description": "The webhook URL that Ably will POST events to.",
"example": "https://example.com/webhooks"
},
"routingKey": {
"type": "string",
"description": "The AMQP routing key. The routing key is used by the AMQP exchange to route messages to a physical queue. See this Ably FAQs for details.",
"example": "message name: #{message.name}, clientId: #{message.clientId}"
},
"mandatoryRoute": {
"type": "boolean",
"description": "Reject delivery of the message if the route does not exist, otherwise fail silently.",
"example": true
},
"persistentMessages": {
"type": "boolean",
"description": "Marks the message as persistent, instructing the broker to write it to disk if it is in a durable queue.",
"example": true
},
"messageTtl": {
"type": "integer",
"description": "You can optionally override the default TTL on a queue and specify a TTL in minutes for messages to be persisted. It is unusual to change the default TTL, so if this field is left empty, the default TTL for the queue will be used."
},
"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"
}
]
},
"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": [
"ruleType"
]
}