Ably · Schema

amqp_external_rule_post

Real-TimeWebSocketsPub-SubMessagingStreamingPush NotificationsChatLiveSync

Properties

Name Type Description
ruleType string The type of rule. In this case AMQP external (using Firehose). See the Firehose docs for further information.
requestMode string 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 source object
target object
View JSON Schema on GitHub

JSON Schema

ably-amqp-external-rule-post-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/amqp_external_rule_post",
  "title": "amqp_external_rule_post",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "ruleType": {
      "type": "string",
      "enum": [
        "amqp/external"
      ],
      "description": "The type of rule. In this case AMQP external (using Firehose). See the <a href=\"https://ably.com/docs/general/firehose\">Firehose docs</a> 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 <a href=\"https://ably.com/docs/general/webhooks#batching\">batching docs</a>.",
      "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"
        },
        "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 <a href=\"https://faqs.ably.com/what-is-the-format-of-the-routingkey-for-an-amqp-or-kinesis-reactor-rule\">Ably FAQs</a> 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": [
        "url",
        "routingKey",
        "mandatoryRoute",
        "persistentMessages"
      ]
    }
  },
  "required": [
    "ruleType",
    "requestMode",
    "source",
    "target"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/ably-amqp-external-rule-post"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.