---
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