--- openapi: 3.0.1 info: title: Control API v1 version: 1.0.32 description: | Use the Control API to manage your applications, namespaces, keys, queues, rules, and more. Detailed information on using this API can be found in the Ably Control API docs. Control API is currently in Preview. servers: - url: https://control.ably.net/v1 paths: "/accounts/{account_id}/apps": get: summary: Lists account apps description: List all Ably applications for the specified account ID. tags: - apps parameters: - name: account_id in: path required: true description: The account ID for which to retrieve the associated applications. schema: type: string security: - bearer_auth: [] responses: '200': description: List of apps for the specified account are returned content: application/json: schema: type: array items: "$ref": "#/components/schemas/app_response" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: Account not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" post: summary: Creates an app description: Creates an application with the specified properties. tags: - apps parameters: - name: account_id description: The account ID of the account in which to create the application. in: path required: true schema: type: string security: - bearer_auth: [] responses: '201': description: App created content: application/json: schema: "$ref": "#/components/schemas/app_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: Account not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid request content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: "$ref": "#/components/schemas/app_post" "/apps/{id}": patch: summary: Updates an app description: Updates the application with the specified application ID. tags: - apps parameters: - name: id description: The ID of application to be updated. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: App updated content: application/json: schema: "$ref": "#/components/schemas/app_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid resource content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: "$ref": "#/components/schemas/app_patch" delete: summary: Deletes an app description: Deletes the application with the specified application ID. tags: - apps parameters: - name: id description: The ID of the application to be deleted. in: path required: true schema: type: string security: - bearer_auth: [] responses: '204': description: App deleted content: {} '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid request content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" "/apps/{id}/pkcs12": post: summary: Updates app's APNs info from a `.p12` file description: Updates the application's Apple Push Notification service (APNs) information. tags: - apps parameters: - name: id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: App updated content: application/json: schema: "$ref": "#/components/schemas/app_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: content: multipart/form-data: schema: "$ref": "#/components/schemas/app_pkcs12" "/apps/{app_id}/keys": get: summary: Lists app keys description: Lists the API keys associated with the application ID. tags: - keys parameters: - name: app_id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Key list content: application/json: schema: type: array items: "$ref": "#/components/schemas/key_response" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" post: summary: Creates a key description: Creates an API key for the application specified. tags: - keys parameters: - name: app_id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '201': description: Key created content: application/json: schema: "$ref": "#/components/schemas/key_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid request content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: "$ref": "#/components/schemas/key_post" "/apps/{app_id}/keys/{key_id}": patch: summary: Updates a key description: Update the API key with the specified key ID, for the application with the specified application ID. tags: - keys parameters: - name: app_id description: The application ID. in: path required: true schema: type: string - name: key_id description: The API key ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Key updated content: application/json: schema: "$ref": "#/components/schemas/key_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid request content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: "$ref": "#/components/schemas/key_patch" "/apps/{app_id}/keys/{key_id}/revoke": post: summary: Revokes a key description: Revokes the API key with the specified ID, with the Application ID. This deletes the key. tags: - keys parameters: - name: app_id description: The application ID. in: path required: true schema: type: string - name: key_id description: The key ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Key revoked content: {} '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: Not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" "/apps/{app_id}/namespaces": get: summary: Lists namespaces description: List the namespaces for the specified application ID. tags: - namespaces parameters: - name: app_id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Namespace list content: application/json: schema: type: array items: "$ref": "#/components/schemas/namespace_response" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" post: summary: Creates a namespace description: Creates a namespace for the specified application ID. tags: - namespaces parameters: - name: app_id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '201': description: Namespace created content: application/json: schema: "$ref": "#/components/schemas/namespace_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid request content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: "$ref": "#/components/schemas/namespace_post" "/apps/{app_id}/namespaces/{namespace_id}": patch: summary: Updates a namespace description: Updates the namespace with the specified ID, for the application with the specified application ID. tags: - namespaces parameters: - name: app_id description: The application ID. in: path required: true schema: type: string - name: namespace_id description: The namespace ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Namespace updated content: application/json: schema: "$ref": "#/components/schemas/namespace_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: Not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: "$ref": "#/components/schemas/namespace_patch" delete: summary: Deletes a namespace description: Deletes the namespace with the specified ID, for the specified application ID. tags: - namespaces parameters: - name: app_id description: The application ID. in: path required: true schema: type: string - name: namespace_id description: The namespace ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '204': description: Namespace deleted content: {} '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: Not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" "/apps/{app_id}/queues": get: summary: Lists queues description: Lists the queues associated with the specified application ID. tags: - queues parameters: - name: app_id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Queue list content: application/json: schema: type: array items: "$ref": "#/components/schemas/queue_response" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '503': description: 503 Service unavailable content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" post: summary: Creates a queue description: Creates a queue for the application specified by application ID. The properties for the queue to be created are specified in the request body. tags: - queues parameters: - name: app_id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '201': description: Queue created content: application/json: schema: "$ref": "#/components/schemas/queue_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid request content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: "$ref": "#/components/schemas/queue" "/apps/{app_id}/queues/{queue_id}": delete: summary: Deletes a queue description: Delete the queue with the specified queue name, from the application with the specified application ID. tags: - queues parameters: - name: app_id description: The application ID. in: path required: true schema: type: string - name: queue_id description: The queue ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '204': description: Queue deleted content: {} '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '503': description: 503 Service unavailable content: application/json: schema: "$ref": "#/components/schemas/error" "/apps/{app_id}/rules": get: summary: Lists rules description: Lists the rules for the application specified by the application ID. tags: - rules parameters: - name: app_id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Rule list content: application/json: schema: type: array items: "$ref": "#/components/schemas/rule_response" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" post: summary: Creates a rule description: Creates a rule for the application with the specified application ID. tags: - rules parameters: - name: app_id description: The application ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '201': description: Rule created content: application/json: schema: "$ref": "#/components/schemas/rule_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid request content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: description: The rule properties. content: application/json: schema: "$ref": "#/components/schemas/rule_post" "/apps/{app_id}/rules/{rule_id}": get: summary: Gets a rule using a rule ID description: Returns the rule specified by the rule ID, for the application specified by application ID. tags: - rules parameters: - name: app_id description: The application ID. in: path required: true schema: type: string - name: rule_id description: The rule ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Rule content: application/json: schema: "$ref": "#/components/schemas/rule_response" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: Not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" patch: summary: Updates a Rule description: Updates the rule specified by the rule ID, for the application specified by application ID. tags: - rules parameters: - name: app_id description: The application ID. in: path required: true schema: type: string - name: rule_id description: The rule ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '200': description: Rule updated content: application/json: schema: "$ref": "#/components/schemas/rule_response" '400': description: Bad request content: application/json: schema: "$ref": "#/components/schemas/error" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '422': description: Invalid request content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" requestBody: description: Properties for the rule. content: application/json: schema: "$ref": "#/components/schemas/rule_patch" delete: summary: Deletes a rule description: Deletes the rule specified by the rule ID, for the application specified by application ID. tags: - rules parameters: - name: app_id description: The application ID. in: path required: true schema: type: string - name: rule_id description: The rule ID. in: path required: true schema: type: string security: - bearer_auth: [] responses: '204': description: Rule deleted content: {} '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '404': description: App not found content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" '504': description: Gateway timeout content: application/json: schema: "$ref": "#/components/schemas/error" "/me": get: summary: Get token details description: Retrieve information about the token the current user authenticates with. tags: - tokens security: - bearer_auth: [] responses: '200': description: Token details content: application/json: schema: "$ref": "#/components/schemas/me" '401': description: Authentication failed content: application/json: schema: "$ref": "#/components/schemas/error" '500': description: Internal server error content: application/json: schema: "$ref": "#/components/schemas/error" components: securitySchemes: bearer_auth: type: http scheme: bearer description: Control API uses bearer authentication. You need to generate an access token for use with this API. More details can be found in the Ably docs. schemas: rule_source: type: object additionalProperties: false properties: channelFilter: type: string description: This field allows you to filter your rule based on a regular expression that is matched against the complete channel name. Leave this empty if you want the rule to apply to all channels. example: ^my-channel.* type: type: string description: "Ably currently supports the following sources for all rule types, in both single and batch mode: `channel.message`, `channel.presence`, `channel.lifecycle` and `channel.occupancy`. If the source `channel.message` is selected, you receive notifications when messages are published on a channel. If the source `channel.presence` is selected, you receive notifications of presence events when clients enter, update their data, or leave channels. If the source `channel.lifecycle` is selected, you receive notifications of channel lifecycle events, such as when a channel is created (following the first client attaching to this channel) or discarded (when there are no more clients attached to the channel). If the source `channel.occupancy` is selected, you receive notifications of occupancy events, which relate to the number and type of occupants in the channel." example: channel.message required: - channelFilter - type rule_source_patch: type: object additionalProperties: false properties: channelFilter: type: string description: This field allows you to filter your rule based on a regular expression that is matched against the complete channel name. Leave this empty if you want the rule to apply to all channels. example: ^my-channel.* type: type: string description: "Ably currently supports the following sources for all rule types, in both single and batch mode: `channel.message`, `channel.presence`, `channel.lifecycle` and `channel.occupancy`. If the source `channel.message` is selected, you receive notifications when messages are published on a channel. If the source `channel.presence` is selected, you receive notifications of presence events when clients enter, update their data, or leave channels. If the source `channel.lifecycle` is selected, you receive notifications of channel lifecycle events, such as when a channel is created (following the first client attaching to this channel) or discarded (when there are no more clients attached to the channel). If the source `channel.occupancy` is selected, you receive notifications of occupancy events, which relate to the number and type of occupants in the channel." example: channel.message rule_post: oneOf: - "$ref": "#/components/schemas/http_rule_post" - "$ref": "#/components/schemas/ifttt_rule_post" - "$ref": "#/components/schemas/zapier_rule_post" - "$ref": "#/components/schemas/cloudflare_worker_rule_post" - "$ref": "#/components/schemas/azure_function_rule_post" - "$ref": "#/components/schemas/google_cloud_function_rule_post" - "$ref": "#/components/schemas/aws_lambda_rule_post" - "$ref": "#/components/schemas/aws_kinesis_rule_post" - "$ref": "#/components/schemas/aws_sqs_rule_post" - "$ref": "#/components/schemas/amqp_rule_post" - "$ref": "#/components/schemas/amqp_external_rule_post" - "$ref": "#/components/schemas/kafka_rule_post" - "$ref": "#/components/schemas/pulsar_rule_post" - "$ref": "#/components/schemas/ingress_postgres_outbox_rule_post" discriminator: propertyName: ruleType mapping: http: "#/components/schemas/http_rule_post" http/ifttt: "#/components/schemas/ifttt_rule_post" http/zapier: "#/components/schemas/zapier_rule_post" http/cloudflare-worker: "#/components/schemas/cloudflare_worker_rule_post" http/azure-function: "#/components/schemas/azure_function_rule_post" http/google-cloud-function: "#/components/schemas/google_cloud_function_rule_post" aws/lambda: "#/components/schemas/aws_lambda_rule_post" aws/kinesis: "#/components/schemas/aws_kinesis_rule_post" aws/sqs: "#/components/schemas/aws_sqs_rule_post" amqp: "#/components/schemas/amqp_rule_post" amqp/external: "#/components/schemas/amqp_external_rule_post" kafka: "#/components/schemas/kafka_rule_post" pulsar: "#/components/schemas/pulsar_rule_post" ingress-postgres-outbox: "#/components/schemas/ingress_postgres_outbox_rule_post" rule_patch: oneOf: - "$ref": "#/components/schemas/http_rule_patch" - "$ref": "#/components/schemas/ifttt_rule_patch" - "$ref": "#/components/schemas/zapier_rule_patch" - "$ref": "#/components/schemas/cloudflare_worker_rule_patch" - "$ref": "#/components/schemas/azure_function_rule_patch" - "$ref": "#/components/schemas/google_cloud_function_rule_patch" - "$ref": "#/components/schemas/aws_lambda_rule_patch" - "$ref": "#/components/schemas/aws_kinesis_rule_patch" - "$ref": "#/components/schemas/aws_sqs_rule_patch" - "$ref": "#/components/schemas/amqp_rule_patch" - "$ref": "#/components/schemas/amqp_external_rule_patch" - "$ref": "#/components/schemas/kafka_rule_patch" - "$ref": "#/components/schemas/pulsar_rule_patch" - "$ref": "#/components/schemas/ingress_postgres_outbox_rule_patch" discriminator: propertyName: ruleType mapping: http: "#/components/schemas/http_rule_patch" http/ifttt: "#/components/schemas/ifttt_rule_patch" http/zapier: "#/components/schemas/zapier_rule_patch" http/cloudflare-worker: "#/components/schemas/cloudflare_worker_rule_patch" http/azure-function: "#/components/schemas/azure_function_rule_patch" http/google-cloud-function: "#/components/schemas/google_cloud_function_rule_patch" aws/lambda: "#/components/schemas/aws_lambda_rule_patch" aws/kinesis: "#/components/schemas/aws_kinesis_rule_patch" aws/sqs: "#/components/schemas/aws_sqs_rule_patch" amqp: "#/components/schemas/amqp_rule_patch" amqp/external: "#/components/schemas/amqp_external_rule_patch" kafka: "#/components/schemas/kafka_rule_patch" pulsar: "#/components/schemas/pulsar_rule_patch" ingress-postgres-outbox: "#/components/schemas/ingress_postgres_outbox_rule_patch" rule_response: oneOf: - "$ref": "#/components/schemas/http_rule_response" - "$ref": "#/components/schemas/ifttt_rule_response" - "$ref": "#/components/schemas/zapier_rule_response" - "$ref": "#/components/schemas/cloudflare_worker_rule_response" - "$ref": "#/components/schemas/azure_function_rule_response" - "$ref": "#/components/schemas/google_cloud_function_rule_response" - "$ref": "#/components/schemas/aws_lambda_rule_response" - "$ref": "#/components/schemas/aws_kinesis_rule_response" - "$ref": "#/components/schemas/aws_sqs_rule_response" - "$ref": "#/components/schemas/amqp_rule_response" - "$ref": "#/components/schemas/amqp_external_rule_response" - "$ref": "#/components/schemas/kafka_rule_response" - "$ref": "#/components/schemas/pulsar_rule_response" - "$ref": "#/components/schemas/ingress_postgres_outbox_rule_response" - "$ref": "#/components/schemas/unsupported_rule_response" discriminator: propertyName: ruleType mapping: http: "#/components/schemas/http_rule_response" http/ifttt: "#/components/schemas/ifttt_rule_response" http/zapier: "#/components/schemas/zapier_rule_response" http/cloudflare-worker: "#/components/schemas/cloudflare_worker_rule_response" http/azure-function: "#/components/schemas/azure_function_rule_response" http/google-cloud-function: "#/components/schemas/google_cloud_function_rule_response" aws/lambda: "#/components/schemas/aws_lambda_rule_response" aws/kinesis: "#/components/schemas/aws_kinesis_rule_response" aws/sqs: "#/components/schemas/aws_sqs_rule_response" amqp: "#/components/schemas/amqp_rule_response" amqp/external: "#/components/schemas/amqp_external_rule_response" kafka: "#/components/schemas/kafka_rule_response" pulsar: "#/components/schemas/pulsar_rule_response" ingress-postgres-outbox: "#/components/schemas/ingress_postgres_outbox_rule_response" unsupported: "#/components/schemas/unsupported_rule_response" 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 http_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: - 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_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 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: - ruleType http_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the Ably webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true 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 webhooks 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 ifttt_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/ifttt description: The type of rule. In this case IFTTT. See the Ably integrations docs for further information. example: http/ifttt 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" target: type: object additionalProperties: false properties: webhookKey: type: string description: The key in the Webhook Service Documentation page of your IFTTT account. example: aBcd12Ef98-Z1ab3yTe-EXAMPLE eventName: type: string description: The Event name is used to identify the IFTTT applet that will receive the Event, make sure the name matches the name of the IFTTT applet. example: MyAppletName required: - webhookKey - eventName required: - ruleType - requestMode - source - target ifttt_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: - http/ifttt description: The type of rule. In this case IFTTT. See the Ably integrations docs for further information. example: http/ifttt 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: webhookKey: type: string description: The key in the Webhook Service Documentation page of your IFTTT account. example: aBcd12Ef98-Z1ab3yTe-EXAMPLE eventName: type: string description: The Event name is used to identify the IFTTT applet that will receive the Event, make sure the name matches the name of the IFTTT applet. example: MyAppletName required: - ruleType ifttt_rule_response: 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/ifttt description: The type of rule. In this case IFTTT. See the Ably integrations docs for further information. example: http/ifttt 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" target: type: object additionalProperties: false properties: webhookKey: type: string description: The key in the Webhook Service Documentation page of your IFTTT account. example: aBcd12Ef98-Z1ab3yTe-EXAMPLE eventName: type: string description: The Event name is used to identify the IFTTT applet that will receive the Event, make sure the name matches the name of the IFTTT applet. example: MyAppletName required: - webhookKey - eventName id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true required: - ruleType - requestMode - source - target zapier_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/zapier description: The type of rule. In this case Zapier. See the Ably integrations docs for further information. example: http/zapier 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 webhooks security docs for more information. example: bw66AB required: - url required: - ruleType - requestMode - source - target zapier_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: - http/zapier description: The type of rule. In this case Zapier. See the Ably integrations docs for further information. example: http/zapier 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_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 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 webhooks security docs for more information. example: bw66AB required: - ruleType zapier_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string enum: - http/zapier description: The type of rule. In this case Zapier. See the Ably integrations docs for further information. example: http/zapier 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 webhooks security docs for more information. example: bw66AB required: - url required: - ruleType - requestMode - source - target cloudflare_worker_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/cloudflare-worker description: The type of rule. In this case Cloudflare Worker. See the Ably integrations docs for further information. example: http/cloudflare-worker 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 webhooks security docs for more information. example: bw66AB required: - url required: - ruleType - requestMode - source - target cloudflare_worker_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: - http/cloudflare-worker description: The type of rule. In this case Cloudflare Worker. See the Ably integrations docs for further information. example: http/cloudflare-worker 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_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 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 webhooks security docs for more information. example: bw66AB required: - ruleType cloudflare_worker_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string enum: - http/cloudflare-worker description: The type of rule. In this case Cloudflare Worker. See the Ably integrations docs for further information. example: http/cloudflare-worker 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 webhooks security docs for more information. example: bw66AB required: - url required: - ruleType - requestMode - source - target azure_function_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/azure-function description: The type of rule. In this case Microsoft Azure Function. See the Ably integrations docs for further information. example: http/azure-function 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: azureAppId: type: string description: The Microsoft Azure Application ID. You can find your Microsoft Azure Application ID as shown in this article. example: d1e9f419-c438-6032b32df979 azureFunctionName: type: string description: The name of your Microsoft Azure Function. example: myFunctionName 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 webhooks 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 text-based encoding. example: json required: - azureAppId - azureFunctionName required: - ruleType - requestMode - source - target azure_function_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: - http/azure-function description: The type of rule. In this case Microsoft Azure Function. See the Ably integrations docs for further information. example: http/azure-function 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_patch" target: type: object additionalProperties: false properties: azureAppId: type: string description: The Microsoft Azure Application ID. You can find your Microsoft Azure Application ID as shown in this article. example: d1e9f419-c438-6032b32df979 azureFunctionName: type: string description: The name of your Microsoft Azure Function. example: myFunctionName 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 webhooks 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 text-based encoding. example: json required: - ruleType azure_function_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string enum: - http/azure-function description: The type of rule. In this case Microsoft Azure Function. See the Ably integrations docs for further information. example: http/azure-function 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: azureAppId: type: string description: The Microsoft Azure Application ID. You can find your Microsoft Azure Application ID as shown in this article. example: d1e9f419-c438-6032b32df979 azureFunctionName: type: string description: The name of your Microsoft Azure Function. example: myFunctionName 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 text-based encoding. example: json required: - azureAppId - azureFunctionName required: - ruleType - requestMode - source - target google_cloud_function_rule_post: type: object additionalProperties: false properties: ruleType: type: string enum: - http/google-cloud-function description: The type of rule. In this case Google Cloud Function. See the Ably integrations docs for further information. example: http/google-cloud-function 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: region: type: string description: The region in which your Google Cloud Function is hosted. See the Google documentation for more details. example: us-west1 projectId: type: string description: The project ID for your Google Cloud Project that was generated when you created your project. example: my-sample-project-191923 functionName: type: string description: The name of your Google Cloud Function. example: myFunctionName 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 webhooks 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 text-based encoding. example: json required: - region - projectId - functionName required: - ruleType - requestMode - source - target google_cloud_function_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: - http/google-cloud-function description: The type of rule. In this case Google Cloud Function. See the Ably integrations docs for further information. example: http/google-cloud-function 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_patch" target: type: object additionalProperties: false properties: region: type: string description: The region in which your Google Cloud Function is hosted. See the Google documentation for more details. example: us-west1 projectId: type: string description: The project ID for your Google Cloud Project that was generated when you created your project. example: my-sample-project-191923 functionName: type: string description: The name of your Google Cloud Function. example: myFunctionName 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 Ably webhook security docs for more information. example: bw66AB enveloped: type: boolean nullable: true description: Delivered mssages 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 text-based encoding. example: json required: - ruleType google_cloud_function_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the Ably webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string enum: - http/google-cloud-function description: The type of rule. In this case Google Cloud Function. See the Ably integrations docs for further information. example: http/google-cloud-function 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: region: type: string description: The region in which your Google Cloud Function is hosted. See the Google documentation for more details. example: us-west1 projectId: type: string description: The project ID for your Google Cloud Project that was generated when you created your project. example: my-sample-project-191923 functionName: type: string description: The name of your Google Cloud Function. example: myFunctionName 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 text-based encoding. example: json required: - region - projectId - functionName required: - ruleType - requestMode - source - target aws_access_keys: type: object additionalProperties: false properties: authenticationMode: type: string enum: - credentials description: Authentication method is using AWS credentials (AWS key ID and secret key). example: credentials accessKeyId: type: string description: The AWS key ID for the AWS IAM user. See the Ably AWS authentication docs for details. example: AKIAIOSFODNN7EXAMPLE secretAccessKey: type: string description: The AWS secret key for the AWS IAM user. See the Ably AWS authentication docs for details. example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY required: - accessKeyId - secretAccessKey aws_access_keys_response: type: object additionalProperties: false properties: authenticationMode: type: string enum: - credentials description: Authentication method is using AWS credentials (AWS key ID and secret key). example: credentials accessKeyId: type: string description: The AWS key ID for the AWS IAM user. See the Ably AWS authentication docs for details. example: AKIAIOSFODNN7EXAMPLE aws_assume_role: type: object additionalProperties: false properties: authenticationMode: type: string enum: - assumeRole description: Authentication method is using the ARN of an assumable role. See the Ably AWS authentication docs for details. example: assumeRole assumeRoleArn: type: string description: If you are using the "ARN of an assumable role" authentication method, this is your Assume Role ARN. See the Ably AWS authentication docs for details. example: 'arn:aws:iam::123456789012:user/Development/product_1234/*' required: - assumeRoleArn aws_lambda_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: - aws/lambda description: The type of rule. In this case AWS Lambda. See the Ably integrations docs for further information. example: aws/lambda 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" target: type: object additionalProperties: false properties: region: type: string description: The region is which your AWS Lambda Function is hosted. See the AWS documentation for more detail. example: us-west-1 functionName: type: string description: The name of your AWS Lambda Function. example: myFunctionName authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys" assumeRole: "#/components/schemas/aws_assume_role" 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 required: - region - functionName - authentication required: - ruleType - requestMode - source - target aws_lambda_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: - aws/lambda description: The type of rule. In this case AWS Lambda. See the Ably integrations docs for further information. example: aws/lambda 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: region: type: string description: The region is which your AWS Lambda Function is hosted. See the AWS documentation for more detail. example: us-west-1 functionName: type: string description: The name of your AWS Lambda Function. example: myFunctionName authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys" assumeRole: "#/components/schemas/aws_assume_role" 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 required: - region - functionName - authentication required: - ruleType aws_lambda_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string enum: - aws/lambda description: The type of rule. In this case AWS Lambda. See the Ably integrations docs for further information. example: aws/lambda 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" target: type: object additionalProperties: false properties: region: type: string description: The region is which your AWS Lambda Function is hosted. See the AWS documentation for more detail. example: us-west-1 functionName: type: string description: The name of your AWS Lambda Function. example: myFunctionName authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys_response" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys_response" assumeRole: "#/components/schemas/aws_assume_role" 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 text-based encoding. example: json required: - region - functionName - authentication required: - ruleType - requestMode - source - target aws_kinesis_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: - aws/kinesis description: The type of rule. In this case AWS Kinesis. See the Ably integrations docs for further information. example: aws/kinesis 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" target: type: object additionalProperties: false properties: region: type: string description: The region is which AWS Kinesis is hosted. See the AWS documentation for more detail. example: us-west-1 streamName: type: string description: The name of your AWS Kinesis Stream. example: myStreamName partitionKey: type: string description: The AWS Kinesis partition key. The partition key is used by Kinesis to route messages to one of the stream shards. See this Ably FAQs for details. example: 'message name: #{message.name}, clientId: #{message.clientId}' authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys" assumeRole: "#/components/schemas/aws_assume_role" 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 text-based encoding. example: json required: - region - streamName - partitionKey - authentication - format required: - ruleType - requestMode - source - target aws_kinesis_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: - aws/kinesis description: The type of rule. In this case AWS Kinesis. See the Ably integrations docs for further information. example: aws/kinesis 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: region: type: string description: The region is which AWS Kinesis is hosted. See the AWS documentation for more detail. example: us-west-1 streamName: type: string description: The name of your AWS Kinesis Stream. example: myStreamName partitionKey: type: string description: The AWS Kinesis partition key. The partition key is used by Kinesis to route messages to one of the stream shards. See this Ably FAQs for details. example: 'message name: #{message.name}, clientId: #{message.clientId}' authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys" assumeRole: "#/components/schemas/aws_assume_role" 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 text-based encoding. example: json required: - ruleType aws_kinesis_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string enum: - aws/kinesis description: The type of rule. In this case AWS Kinesis. See the Ably integrations docs for further information. example: aws/kinesis 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" target: type: object additionalProperties: false properties: region: type: string description: The region is which AWS Kinesis is hosted. See the AWS documentation for more detail. example: us-west-1 streamName: type: string description: The name of your AWS Kinesis Stream. example: myStreamName partitionKey: type: string description: The AWS Kinesis partition key. The partition key is used by Kinesis to route messages to one of the stream shards. See this Ably FAQs for details. example: 'message name: #{message.name}, clientId: #{message.clientId}' authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys_response" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys_response" assumeRole: "#/components/schemas/aws_assume_role" 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 text-based encoding. example: json required: - region - streamName - partitionKey - authentication - format required: - ruleType - requestMode - source - target aws_sqs_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: - aws/sqs description: The type of rule. In this case AWS SQS. See the Ably integrations docs for further information. example: aws/sqs 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" target: type: object additionalProperties: false properties: region: type: string description: The region is which AWS SQS is hosted. See the AWS documentation for more detail. example: us-west-1 awsAccountId: type: string description: Your AWS account ID. example: '123456789012' queueName: type: string description: The AWS SQS queue name. example: MyQueue authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys" assumeRole: "#/components/schemas/aws_assume_role" 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 text-based encoding. example: json required: - region - awsAccountId - queueName - authentication required: - ruleType - requestMode - source - target aws_sqs_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: - aws/sqs description: The type of rule. In this case AWS SQS. See the Ably integrations docs for further information. example: aws/sqs 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: region: type: string description: The region is which AWS SQS is hosted. See the AWS documentation for more detail. example: us-west-1 awsAccountId: type: string description: Your AWS account ID. example: '123456789012' queueName: type: string description: The AWS SQS queue name. example: MyQueue authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys" assumeRole: "#/components/schemas/aws_assume_role" 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 text-based encoding. example: json required: - ruleType aws_sqs_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string enum: - aws/sqs description: The type of rule. In this case AWS SQS. See the Ably integrations docs for further information. example: aws/sqs 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" target: type: object additionalProperties: false properties: region: type: string description: The region is which AWS SQS is hosted. See the AWS documentation for more detail. example: us-west-1 awsAccountId: type: string description: Your AWS account ID. example: '123456789012' queueName: type: string description: The AWS SQS queue name. example: MyQueue authentication: oneOf: - "$ref": "#/components/schemas/aws_access_keys_response" - "$ref": "#/components/schemas/aws_assume_role" discriminator: propertyName: authenticationMode mapping: credentials: "#/components/schemas/aws_access_keys_response" assumeRole: "#/components/schemas/aws_assume_role" 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 text-based encoding. example: json required: - region - awsAccountId - queueName - authentication required: - ruleType - requestMode - source - target amqp_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: - amqp description: The type of rule. In this case AMQP. See the Ably integrations docs for further information. example: amqp 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" target: type: object additionalProperties: false properties: queueId: type: string 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: - queueId required: - ruleType - requestMode - source - target amqp_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 description: The type of rule. In this case AMQP. See the Ably integrations docs for further information. example: amqp 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: queueId: type: string 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 amqp_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string enum: - amqp description: The type of rule. In this case AMQP. See the Ably integrations docs for further information. example: amqp 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" target: type: object additionalProperties: false properties: queueId: type: string 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: - queueId required: - ruleType - requestMode - source - target 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 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" 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: - url - routingKey - mandatoryRoute - persistentMessages required: - ruleType - requestMode - source - target 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 amqp_external_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true 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" 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. example: 60 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 kafka_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 description: The type of rule. In this case Kafka (using Firehose). See the Firehose docs for further information. enum: - kafka 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: routingKey: type: string description: The Kafka partition key. This is used to determine which partition a message should be routed to, where a topic has been partitioned. `routingKey` should be in the format `topic:key` where `topic` is the topic to publish to, and `key` is the value to use as the message key. example: 'partitionKey' brokers: type: array description: This is an array of brokers that host your Kafka partitions. Each broker is specified using the format `host`, `host:port` or `ip:port`. example: ['kafka.ci.ably.io:19092', 'kafka.ci.ably.io:19093'] items: type: string example: 'kafka.ci.ably.io:19092' auth: type: object description: The Kafka authentication mechanism. additionalProperties: false properties: sasl: type: object description: SASL(Simple Authentication Security Layer) / SCRAM (Salted Challenge Response Authentication Mechanism) uses usernames and passwords stored in ZooKeeper. Credentials are created during installation. See documentation on configuring SCRAM. additionalProperties: false properties: mechanism: type: string description: The hash type to use. SCRAM supports either SHA-256 or SHA-512 hash functions. example: 'scram-sha-256' enum: - 'plain' - 'scram-sha-256' - 'scram-sha-512' username: type: string description: Kafka login credential. example: 'username' password: type: string description: Kafka login credential. example: 'password' 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: - routingKey - brokers - auth required: - ruleType - requestMode - source - target kafka_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 description: The type of rule. In this case Kafka (using Firehose). See the Firehose docs for further information. enum: - kafka 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_patch" target: type: object additionalProperties: false properties: routingKey: type: string description: The Kafka partition key. This is used to determine which partition a message should be routed to, where a topic has been partitioned. `routingKey` should be in the format `topic:key` where `topic` is the topic to publish to, and `key` is the value to use as the message key. example: 'partitionKey' brokers: type: array description: This is an array of brokers that host your Kafka partitions. Each broker is specified using the format `host`, `host:port` or `ip:port`. example: ['kafka.ci.ably.io:19092', 'kafka.ci.ably.io:19093'] items: type: string example: 'kafka.ci.ably.io:19092' auth: type: object description: The Kafka authentication mechanism. additionalProperties: false properties: sasl: type: object description: SASL(Simple Authentication Security Layer) / SCRAM (Salted Challenge Response Authentication Mechanism) uses usernames and passwords stored in ZooKeeper. Credentials are created during installation. See documentation on configuring SCRAM. additionalProperties: false properties: mechanism: type: string description: The hash type to use. SCRAM supports either SHA-256 or SHA-512 hash functions. example: 'scram-sha-256' enum: - 'plain' - 'scram-sha-256' - 'scram-sha-512' username: type: string description: Kafka login credential. example: 'username' password: type: string description: Kafka login credential. example: 'password' 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 kafka_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string description: The type of rule. In this case Kafka (using Firehose). See the Firehose docs for further information. enum: - kafka 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: routingKey: type: string description: The Kafka partition key. This is used to determine which partition a message should be routed to, where a topic has been partitioned. `routingKey` should be in the format `topic:key` where `topic` is the topic to publish to, and `key` is the value to use as the message key. example: 'partitionKey' brokers: type: array description: This is an array of brokers that host your Kafka partitions. Each broker is specified using the format `host`, `host:port` or `ip:port`. example: ['kafka.ci.ably.io:19092', 'kafka.ci.ably.io:19093'] items: type: string example: 'kafka.ci.ably.io:19092' auth: type: object description: The Kafka authentication mechanism. additionalProperties: false properties: sasl: type: object description: SASL (Simple Authentication Security Layer) / SCRAM (Salted Challenge Response Authentication Mechanism) uses usernames and passwords stored in ZooKeeper. Credentials are created during installation. See documentation on configuring SCRAM. additionalProperties: false properties: mechanism: type: string description: The hash type to use. SCRAM supports either SHA-256 or SHA-512 hash functions. example: 'scram-sha-256' enum: - 'plain' - 'scram-sha-256' - 'scram-sha-512' username: type: string description: Kafka login credential. example: 'username' password: type: string description: Kafka login credential. example: 'password' 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: - routingKey - brokers - auth required: - ruleType - requestMode - source - target pulsar_token_auth: type: object additionalProperties: false properties: authenticationMode: type: string description: Authentication mode, in this case JSON Web Token (JWT). enum: - token example: token token: type: string description: The JWT string. example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' required: - token - authenticationMode pulsar_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 description: The type of rule. In this case Pulsar (using Firehose). See the Firehose docs for further information. enum: - pulsar 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: routingKey: type: string description: The optional routing key (partition key) used to publish messages. Supports interpolation as described in the Ably FAQs. example: 'test-key' topic: type: string description: 'A Pulsar topic. This is a named channel for transmission of messages between producers and consumers. The topic has the form: `{persistent|non-persistent}://tenant/namespace/topic`' example: 'persistent://my-tenant/my-namespace/my-topic' serviceUrl: type: string description: The URL of the Pulsar cluster in the form `pulsar://host:port` or `pulsar+ssl://host:port`. example: 'pulsar://pulsar.us-west.example.com:6650/' tlsTrustCerts: type: array description: All connections to a Pulsar endpoint require TLS. The `tlsTrustCerts` option allows you to configure different or additional trust anchors for those TLS connections. This enables server verification. You can specify an optional list of trusted CA certificates to use to verify the TLS certificate presented by the Pulsar cluster. Each certificate should be encoded in PEM format. items: type: string example: "-----BEGIN CERTIFICATE----- MIIFiTCCA3GgAwIBAgIUYO1Lomxzj7VRawWwEFiQht9OLpUwDQYJKoZIhvcNAQEL BQAwTDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE1pY2hpZ2FuMQ8wDQYDVQQHDAZX ...snip... TOfReTlUQzgpXRW5h3n2LVXbXQhPGcVitb88Cm2R8cxQwgB1VncM8yvmKhREo2tz 7Y+sUx6eIl4dlNl9kVrH1TD3EwwtGsjUNlFSZhg= -----END CERTIFICATE-----" nullable: true authentication: type: object description: Pulsar supports authenticating clients using security tokens that are based on JSON Web Tokens. oneOf: - "$ref": "#/components/schemas/pulsar_token_auth" discriminator: propertyName: authenticationMode mapping: token: "#/components/schemas/pulsar_token_auth" 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: - topic - authentication - serviceUrl required: - ruleType - requestMode - source - target pulsar_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 description: The type of rule. In this case Pulsar (using Firehose). See the Firehose docs for further information. enum: - pulsar 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_patch" target: type: object additionalProperties: false properties: routingKey: type: string description: The optional routing key (partition key) used to publish messages. Supports interpolation as described in the Ably FAQs. example: 'test-key' topic: type: string description: 'A Pulsar topic. This is a named channel for transmission of messages between producers and consumers. The topic has the form: `{persistent|non-persistent}://tenant/namespace/topic`' example: 'persistent://my-tenant/my-namespace/my-topic' serviceUrl: type: string description: The URL of the Pulsar cluster in the form `pulsar://host:port` or `pulsar+ssl://host:port`. example: 'pulsar://pulsar.us-west.example.com:6650/' tlsTrustCerts: type: array description: All connections to a Pulsar endpoint require TLS. The `tlsTrustCerts` option allows you to configure different or additional trust anchors for those TLS connections. This enables server verification. You can specify an optional list of trusted CA certificates to use to verify the TLS certificate presented by the Pulsar cluster. Each certificate should be encoded in PEM format. items: type: string example: "-----BEGIN CERTIFICATE----- MIIFiTCCA3GgAwIBAgIUYO1Lomxzj7VRawWwEFiQht9OLpUwDQYJKoZIhvcNAQEL BQAwTDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE1pY2hpZ2FuMQ8wDQYDVQQHDAZX ...snip... TOfReTlUQzgpXRW5h3n2LVXbXQhPGcVitb88Cm2R8cxQwgB1VncM8yvmKhREo2tz 7Y+sUx6eIl4dlNl9kVrH1TD3EwwtGsjUNlFSZhg= -----END CERTIFICATE-----" nullable: true authentication: type: object description: Pulsar supports authenticating clients using security tokens that are based on JSON Web Tokens. oneOf: - "$ref": "#/components/schemas/pulsar_token_auth" discriminator: propertyName: authenticationMode mapping: token: "#/components/schemas/pulsar_token_auth" 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 pulsar_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string description: The type of rule. In this case Pulsar (using Firehose). See the Firehose docs for further information. enum: - pulsar 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: routingKey: type: string description: The optional routing key (partition key) used to publish messages. Supports interpolation as described in the Ably FAQs. example: 'test-key' topic: type: string description: 'A Pulsar topic. This is a named channel for transmission of messages between producers and consumers. The topic has the form: `{persistent|non-persistent}://tenant/namespace/topic`' example: 'persistent://my-tenant/my-namespace/my-topic' serviceUrl: type: string description: The URL of the Pulsar cluster in the form `pulsar://host:port` or `pulsar+ssl://host:port`. example: 'pulsar://pulsar.us-west.example.com:6650/' tlsTrustCerts: type: array description: All connections to a Pulsar endpoint require TLS. The `tlsTrustCerts` option allows you to configure different or additional trust anchors for those TLS connections. This enables server verification. You can specify an optional list of trusted CA certificates to use to verify the TLS certificate presented by the Pulsar cluster. Each certificate should be encoded in PEM format. items: type: string example: "-----BEGIN CERTIFICATE----- MIIFiTCCA3GgAwIBAgIUYO1Lomxzj7VRawWwEFiQht9OLpUwDQYJKoZIhvcNAQEL BQAwTDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE1pY2hpZ2FuMQ8wDQYDVQQHDAZX ...snip... TOfReTlUQzgpXRW5h3n2LVXbXQhPGcVitb88Cm2R8cxQwgB1VncM8yvmKhREo2tz 7Y+sUx6eIl4dlNl9kVrH1TD3EwwtGsjUNlFSZhg= -----END CERTIFICATE-----" nullable: true authentication: type: object description: Pulsar supports authenticating clients using security tokens that are based on JSON Web Tokens. oneOf: - "$ref": "#/components/schemas/pulsar_token_auth" discriminator: propertyName: authenticationMode mapping: token: "#/components/schemas/pulsar_token_auth" 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 - requestMode - source - target ingress_postgres_outbox_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 description: The type of rule. In this case Postgres. See the Ably integrations docs for further information. enum: - ingress-postgres-outbox target: type: object additionalProperties: false properties: url: type: string description: Postgres database connection URL. example: postgres://user:password@example.com:5432/your-database-name outboxTableSchema: type: string description: Schema for the outbox table in your database which allows for the reliable publication of an ordered sequence of change event messages over Ably. example: public outboxTableName: type: string description: Table name for the outbox table. example: outbox nodesTableSchema: type: string description: Schema for the outbox table in your database to allow for operation as a cluster to provide fault tolerance. example: public nodesTableName: type: string description: Table name for the outbox table. example: nodes sslMode: type: string description: Determines the level of protection provided by the SSL connection. example: prefer enum: - prefer - require - verify-ca - verify-full sslRootCert: type: string description: Specifies the SSL certificate authority (CA) certificate(s). Required if sslMode is either `verify-ca` or `verify-full`. example: "-----BEGIN CERTIFICATE----- MIIFiTCCA3GgAwIBAgIUYO1Lomxzj7VRawWwEFiQht9OLpUwDQYJKoZIhvcNAQEL BQAwTDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE1pY2hpZ2FuMQ8wDQYDVQQHDAZX ...snip... TOfReTlUQzgpXRW5h3n2LVXbXQhPGcVitb88Cm2R8cxQwgB1VncM8yvmKhREo2tz 7Y+sUx6eIl4dlNl9kVrH1TD3EwwtGsjUNlFSZhg= -----END CERTIFICATE-----" nullable: true required: - url - outboxTableSchema - outboxTableName - nodesTableSchema - nodesTableName - sslMode required: - ruleType - target ingress_postgres_outbox_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 description: The type of rule. In this case Postgres. See the Ably integrations docs for further information. enum: - ingress-postgres-outbox target: type: object additionalProperties: false properties: url: type: string description: Postgres database connection URL. example: postgres://user:password@example.com:5432/your-database-name outboxTableSchema: type: string description: Schema for the outbox table in your database which allows for the reliable publication of an ordered sequence of change event messages over Ably. example: public outboxTableName: type: string description: Table name for the outbox table. example: outbox nodesTableSchema: type: string description: Schema for the outbox table in your database to allow for operation as a cluster to provide fault tolerance. example: public nodesTableName: type: string description: Table name for the outbox table. example: nodes sslMode: type: string description: Determines the level of protection provided by the SSL connection. example: prefer enum: - prefer - require - verify-ca - verify-full sslRootCert: type: string description: Specifies the SSL certificate authority (CA) certificate(s). Required if sslMode is either `verify-ca` or `verify-full`. example: "-----BEGIN CERTIFICATE----- MIIFiTCCA3GgAwIBAgIUYO1Lomxzj7VRawWwEFiQht9OLpUwDQYJKoZIhvcNAQEL BQAwTDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE1pY2hpZ2FuMQ8wDQYDVQQHDAZX ...snip... TOfReTlUQzgpXRW5h3n2LVXbXQhPGcVitb88Cm2R8cxQwgB1VncM8yvmKhREo2tz 7Y+sUx6eIl4dlNl9kVrH1TD3EwwtGsjUNlFSZhg= -----END CERTIFICATE-----" nullable: true required: - url - outboxTableSchema - outboxTableName - nodesTableSchema - nodesTableName - sslMode required: - ruleType - target ingress_postgres_outbox_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the Ably webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1602844091815 _links: type: object nullable: true ruleType: type: string description: The type of rule. See the Ably integrations docs for further information. enum: - ingress-postgres-outbox target: type: object additionalProperties: false properties: url: type: string description: Postgres database connection URL. example: postgres://user:password@example.com:5432/your-database-name outboxTableSchema: type: string description: Schema for the outbox table in your database which allows for the reliable publication of an ordered sequence of change event messages over Ably. example: public outboxTableName: type: string description: Table name for the outbox table. example: outbox nodesTableSchema: type: string description: Schema for the nodes table, which is used to store available nodes. The nodes are used to automatically redistribute work in the event of failures. example: public nodesTableName: type: string description: Table name for the nodes table. example: nodes sslMode: type: string description: Determines the level of protection provided by the SSL connection. example: prefer enum: - prefer - require - verify-ca - verify-full sslRootCert: type: string description: Specifies the SSL certificate authority (CA) certificate(s). Required if sslMode is either `verify-ca` or `verify-full`. example: "-----BEGIN CERTIFICATE----- MIIFiTCCA3GgAwIBAgIUYO1Lomxzj7VRawWwEFiQht9OLpUwDQYJKoZIhvcNAQEL BQAwTDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE1pY2hpZ2FuMQ8wDQYDVQQHDAZX ...snip... TOfReTlUQzgpXRW5h3n2LVXbXQhPGcVitb88Cm2R8cxQwgB1VncM8yvmKhREo2tz 7Y+sUx6eIl4dlNl9kVrH1TD3EwwtGsjUNlFSZhg= -----END CERTIFICATE-----" nullable: true required: - ruleType - target unsupported_rule_response: type: object additionalProperties: false properties: id: type: string description: The rule ID. example: 83IzAB appId: type: string description: The Ably application ID. example: 28GY6a version: type: string description: API version. Events and the format of their payloads are versioned. Please see the webhooks docs. example: '1.2' status: type: string description: The status of the rule. Rules can be enabled or disabled. example: enabled created: type: number description: Unix timestamp representing the date and time of creation of the rule. example: 1602844091815 modified: type: number description: Unix timestamp representing the date and time of last modification of the rule. example: 1614679682091 _links: type: object nullable: true ruleType: type: string description: This rule type is currently unsupported. enum: - unsupported example: unsupported 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 required: - url required: - ruleType - requestMode - source - target queue: type: object additionalProperties: false properties: name: type: string description: A friendly name for your queue. example: My queue ttl: type: integer description: TTL in minutes. example: 60 maxLength: type: integer description: Message limit in number of messages. example: 10000 region: type: string description: The data center region. US East (Virginia) or EU West (Ireland). Values are `us-east-1-a` or `eu-west-1-a`. example: us-east-1-a required: - name - ttl - maxLength - region queue_response: type: object additionalProperties: false properties: id: type: string description: The ID of the Ably queue example: 28AB6w:us-east-1-a:My queue appId: type: string description: The Ably application ID. example: 28AB6w name: type: string description: The friendly name of the queue. example: My queue region: type: string description: The data center region for the queue. example: eu-west-1-a amqp: type: object additionalProperties: false properties: uri: type: string description: URI for the AMQP queue interface. example: amqps://us-east-1-a-queue.ably.io:5671/shared queueName: type: string description: Name of the Ably queue. example: 28AB6w:My queue stomp: type: object additionalProperties: false properties: uri: type: string description: URI for the STOMP queue interface. example: stomp://us-east-1-a-queue.ably.io:61614 host: type: string description: The host type for the queue. example: shared destination: type: string description: Destination queue. example: /amqp/queue/28AB6w:My queue state: type: string description: The current state of the queue. example: Running messages: type: object additionalProperties: false description: Details of messages in the queue. properties: ready: type: integer nullable: true description: The number of ready messages in the queue. example: 0 unacknowledged: type: integer nullable: true description: The number of unacknowledged messages in the queue. example: 0 total: type: integer nullable: true description: The total number of messages in the queue. example: 0 stats: type: object additionalProperties: false properties: publishRate: type: number nullable: true description: The rate at which messages are published to the queue. Rate is messages per minute. deliveryRate: type: number nullable: true description: The rate at which messages are delivered from the queue. Rate is messages per minute. acknowledgementRate: type: number nullable: true description: The rate at which messages are acknowledged. Rate is messages per minute. ttl: type: integer description: TTL in minutes. example: 60 maxLength: type: integer description: Message limit in number of messages. example: 10000 deadletter: type: boolean description: A boolean that indicates whether this is a dead letter queue or not. example: false deadletterId: type: string description: The ID of the dead letter queue. nullable: true example: 28AB6w:us-east-1-a:deadletter namespace_post: type: object additionalProperties: false properties: id: type: string description: The namespace or channel name that the channel rule will apply to. For example, if you specify `namespace` the namespace will be set to `namespace` and will match with channels `namespace:*` and `namespace`. example: namespace authenticated: type: boolean default: false description: If `true`, clients will not be permitted to use (including to attach, publish, or subscribe) any channels within this namespace unless they are identified, that is, authenticated using a client ID. See the documentation for identified clients for more details. example: false persisted: type: boolean default: false description: If `true`, all messages on a channel will be stored for 24 hours. You can access stored messages via the History API. Please note that for each message stored, an additional message is deducted from your monthly allocation. example: false persistLast: type: boolean default: false description: If `true`, the last message published on a channel will be stored for 365 days. You can access the stored message only by using the channel rewind mechanism and attaching with rewind=1. Please note that for each message stored, an additional message is deducted from your monthly allocation. example: false pushEnabled: type: boolean default: false description: If `true`, publishing messages with a push payload in the extras field is permitted and can trigger the delivery of a native push notification to registered devices for the channel. example: false tlsOnly: type: boolean default: false description: If `true`, only clients that are connected using TLS will be permitted to subscribe to any channels within this namespace. example: false exposeTimeserial: type: boolean default: false description: If `true`, messages received on a channel will contain a unique `timeserial` that can be referenced by later messages for use with message interactions. required: - id namespace_patch: type: object additionalProperties: false properties: authenticated: type: boolean default: false description: If `true`, clients will not be permitted to use (including to attach, publish, or subscribe) any channels within this namespace unless they are identified, that is, authenticated using a client ID. See the documentation for identified clients for more details. example: false persisted: type: boolean default: false description: If `true`, all messages on a channel will be stored for 24 hours. You can access stored messages via the History API. Please note that for each message stored, an additional message is deducted from your monthly allocation. example: false persistLast: type: boolean default: false description: If `true`, the last message published on a channel will be stored for 365 days. You can access the stored message only by using the channel rewind mechanism and attaching with rewind=1. Please note that for each message stored, an additional message is deducted from your monthly allocation. example: false pushEnabled: type: boolean default: false description: If `true`, publishing messages with a push payload in the extras field is permitted and can trigger the delivery of a native push notification to registered devices for the channel. example: false tlsOnly: type: boolean default: false description: If `true`, only clients that are connected using TLS will be permitted to subscribe to any channels within this namespace. example: false exposeTimeserial: type: boolean description: If `true`, messages received on a channel will contain a unique `timeserial` that can be referenced by later messages for use with message interactions. namespace_response: type: object additionalProperties: false properties: authenticated: type: boolean default: false description: If `true`, clients will not be permitted to use (including to attach, publish, or subscribe) any channels within this namespace unless they are identified, that is, authenticated using a client ID. See the documentation for identified clients for more details. example: false created: type: integer description: Unix timestamp representing the date and time of creation of the namespace. example: 1602844091815 modified: type: integer description: Unix timestamp representing the date and time of last modification of the namespace. example: 1614679682091 id: type: string description: The namespace or channel name that the channel rule will apply to. For example, if you specify `namespace` the namespace will be set to `namespace` and will match with channels `namespace:*` and `namespace`. example: namespace persisted: type: boolean default: false description: If `true`, all messages on a channel will be stored for 24 hours. You can access stored messages via the History API. Please note that for each message stored, an additional message is deducted from your monthly allocation. example: false persistLast: type: boolean default: false description: If `true`, the last message published on a channel will be stored for 365 days. You can access the stored message only by using the channel rewind mechanism and attaching with rewind=1. Please note that for each message stored, an additional message is deducted from your monthly allocation. example: false pushEnabled: type: boolean default: false description: If `true`, publishing messages with a push payload in the extras field is permitted and can trigger the delivery of a native push notification to registered devices for the channel. example: false tlsOnly: type: boolean default: false description: If `true`, only clients that are connected using TLS will be permitted to subscribe to any channels within this namespace. example: false exposeTimeserial: type: boolean description: If `true`, messages received on a channel will contain a unique `timeserial` that can be referenced by later messages for use with message interactions. app_post: type: object additionalProperties: false properties: name: type: string description: The name of the application for your reference only. example: My App status: type: string description: The status of the application. Can be `enabled` or `disabled`. Enabled means available to accept inbound connections and all services are available. example: enabled deprecated: true tlsOnly: type: boolean nullable: true description: Enforce TLS for all connections. example: true fcmKey: description: The Firebase Cloud Messaging key. type: string nullable: true example: 'AABBQ1KyxCE:APA91bCCYs7r_Q-sqW8HMP_hV4t3vMYx...cJ8344-MhGWODZEuAmg_J4MUJcVQEyDn...I' fcmServiceAccount: type: string nullable: true description: Used to specify the Firebase Cloud Messaging(FCM) service account credentials used for authentication and enabling communication with FCM to send push notifications to devices. example: "service_account" fcmProjectId: type: string nullable: true description: The unique identifier for the Firebase Cloud Messaging(FCM) project. This ID is used to specify the Firebase project when configuring FCM or other Firebase services. example: "notional-armor-405018" apnsCertificate: type: string nullable: true description: The Apple Push Notification service certificate. example: '-----BEGIN CERTIFICATE-----MIIFaDCC...EXAMPLE...3Dc=-----END CERTIFICATE-----' apnsPrivateKey: type: string nullable: true description: The Apple Push Notification service private key. example: '-----BEGIN PRIVATE KEY-----ABCFaDCC...EXAMPLE...3Dc=-----END PRIVATE KEY-----' apnsUseSandboxEndpoint: type: boolean nullable: true description: Use the Apple Push Notification service sandbox endpoint. example: false required: - name app_patch: type: object additionalProperties: false properties: name: type: string description: The name of the application for your reference only. example: My App status: type: string description: The status of the application. Can be `enabled` or `disabled`. Enabled means available to accept inbound connections and all services are available. example: enabled tlsOnly: type: boolean nullable: true description: Enforce TLS for all connections. example: true fcmKey: description: The Firebase Cloud Messaging key. type: string nullable: true example: 'AABBQ1KyxCE:APA91bCCYs7r_Q-sqW8HMP_hV4t3vMYx...cJ8344-MhGWODZEuAmg_J4MUJcVQEyDn...I' fcmServiceAccount: type: string nullable: true description: Used to specify the Firebase Cloud Messaging(FCM) service account credentials used for authentication and enabling communication with FCM to send push notifications to devices. example: "service_account" fcmProjectId: type: string nullable: true description: The unique identifier for the Firebase Cloud Messaging(FCM) project. This ID is used to specify the Firebase project when configuring FCM or other Firebase services. example: "notional-armor-405018" apnsCertificate: type: string nullable: true description: The Apple Push Notification service certificate. example: '-----BEGIN CERTIFICATE-----MIIFaDCC...EXAMPLE...3Dc=-----END CERTIFICATE-----' apnsPrivateKey: type: string nullable: true description: The Apple Push Notification service private key. example: '-----BEGIN PRIVATE KEY-----ABCFaDCC...EXAMPLE...3Dc=-----END PRIVATE KEY-----' apnsUseSandboxEndpoint: type: boolean nullable: true description: Use the Apple Push Notification service sandbox endpoint. example: false app_pkcs12: type: object additionalProperties: false properties: p12File: type: string format: binary description: The `.p12` file containing the app's APNs information. example: example.p12 p12Pass: type: string description: The password for the corresponding `.p12` file. example: secret required: - p12File - p12Pass app_response: type: object additionalProperties: false properties: accountId: type: string description: The ID of your Ably account. example: WgRpOB id: type: string description: The application ID. example: 28AB6x name: type: string description: The application name. example: Default status: type: string description: The status of the application. Can be `enabled` or `disabled`. Enabled means available to accept inbound connections and all services are available. example: enabled tlsOnly: type: boolean nullable: true description: Enforce TLS for all connections. This setting overrides any channel setting. example: true apnsUseSandboxEndpoint: type: boolean nullable: true description: Use the Apple Push Notification service sandbox endpoint. example: false _links: type: object nullable: true description: A link self-referencing the app that has been created. key_post: type: object additionalProperties: false properties: name: description: The name for your API key. This is a friendly name for your reference. type: string example: 'My key name' capability: description: These are the capability operations described in the capabilities docs. type: object additionalProperties: type: array description: An array of strings setting the capability operations for the resource. items: type: string example: name: My key name capability: channel1: - publish - subscribe channel2: - history required: - name - capability key_patch: type: object additionalProperties: false properties: name: description: The name for your API key. This is a friendly name for your reference. type: string example: 'My key name' capability: description: These are the capability operations described in the Ably capabilities docs. type: object additionalProperties: type: array description: An array of strings setting the capability operations for the resource. items: type: string example: name: My key name capability: channel1: - publish - subscribe channel2: - history key_response: type: object additionalProperties: false properties: appId: description: The Ably application ID which this key is associated with. type: string example: 28GY6a id: description: The key ID. type: string example: G8dabc name: description: The name for your API key. This is a friendly name for your reference. type: string example: 'My key name' status: description: The status of the key. `0` is enabled, `1` is revoked. type: integer key: description: The complete API key including API secret. type: string capability: description: The capabilities that this key has. More information on capabilities can be found in the Ably capabilities docs. type: object additionalProperties: type: array description: An array of strings setting the capability operations for the resource. items: type: string example: channel1: - publish - subscribe channel2: - history created: type: integer description: Unix timestamp representing the date and time of creation of the key. example: 1602844091815 modified: type: integer description: Unix timestamp representing the date and time of the last modification of the key. example: 1614679682091 me: type: object additionalProperties: false properties: token: type: object additionalProperties: false properties: id: type: integer description: The token ID. example: 12345 name: type: string description: The friendly name for the token. example: My Token capabilities: type: array description: An array containing the access capabilities associated with the access token. example: ["write:namespace", "read:namespace", "write:queue", "read:queue", "write:rule", "read:rule", "write:key", "read:key", "write:app", "read:app"] items: type: string required: - id - name - capabilities user: type: object additionalProperties: false properties: id: type: integer description: The user ID associated with the account. example: 12345 email: type: string description: Email address of the user associated with the account. example: user@example.com required: - id - email account: type: object additionalProperties: false properties: id: type: string description: The account ID. example: VpWaOA name: type: string description: The name of the account. example: Free account required: - id - name error: type: object additionalProperties: false properties: message: type: string description: The error message. code: type: integer description: The HTTP status code returned. statusCode: type: integer description: The Ably error code. href: type: string description: The URL to documentation about the error code. details: type: object nullable: true description: Any additional details about the error message. required: - message - code - statusCode - href