v3ApplicationPubSub
JSON Schema for v3ApplicationPubSub, extracted from The Things Stack v3.36 api.swagger.json
LoRaWANIoTInternet Of ThingsOpen SourceNetwork ServerLPWANTelemetrySensorsGatewaysConnectivityApache 2.0
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://api-evangelist.github.io/the-things-network/json-schema/the-things-stack-application-pubsub-schema.json",
"title": "v3ApplicationPubSub",
"description": "JSON Schema for v3ApplicationPubSub, extracted from The Things Stack v3.36 api.swagger.json",
"definitions": {
"v3ApplicationPubSub": {
"type": "object",
"properties": {
"ids": {
"$ref": "#/definitions/v3ApplicationPubSubIdentifiers"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"format": {
"type": "string",
"description": "The format to use for the body.\nSupported values depend on the Application Server configuration."
},
"nats": {
"$ref": "#/definitions/ApplicationPubSubNATSProvider"
},
"mqtt": {
"$ref": "#/definitions/ApplicationPubSubMQTTProvider"
},
"aws_iot": {
"$ref": "#/definitions/ApplicationPubSubAWSIoTProvider"
},
"base_topic": {
"type": "string",
"description": "Base topic name to which the messages topic is appended."
},
"downlink_push": {
"$ref": "#/definitions/v3ApplicationPubSubMessage",
"description": "The topic to which the Application Server subscribes for downlink queue push operations."
},
"downlink_replace": {
"$ref": "#/definitions/v3ApplicationPubSubMessage",
"description": "The topic to which the Application Server subscribes for downlink queue replace operations."
},
"uplink_message": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"uplink_normalized": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"join_accept": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"downlink_ack": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"downlink_nack": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"downlink_sent": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"downlink_failed": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"downlink_queued": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"downlink_queue_invalidated": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"location_solved": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
},
"service_data": {
"$ref": "#/definitions/v3ApplicationPubSubMessage"
}
}
},
"v3ApplicationPubSubIdentifiers": {
"type": "object",
"properties": {
"application_ids": {
"$ref": "#/definitions/v3ApplicationIdentifiers"
},
"pub_sub_id": {
"type": "string"
}
}
},
"v3ApplicationIdentifiers": {
"type": "object",
"properties": {
"application_id": {
"type": "string"
}
}
},
"v3ApplicationPubSubMessage": {
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic on which the Application Server publishes or receives the messages."
}
}
},
"ApplicationPubSubNATSProvider": {
"type": "object",
"properties": {
"server_url": {
"type": "string",
"description": "The server connection URL."
}
},
"description": "The NATS provider settings."
},
"ApplicationPubSubAWSIoTProvider": {
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "The AWS region."
},
"access_key": {
"$ref": "#/definitions/AWSIoTProviderAccessKey",
"description": "If set, the integration will use an AWS access key."
},
"assume_role": {
"$ref": "#/definitions/AWSIoTProviderAssumeRole",
"description": "If set, the integration will assume the given role during operation."
},
"endpoint_address": {
"type": "string",
"description": "The endpoint address to connect to. If the endpoint address is left empty,\nthe integration will try to discover it."
},
"default": {
"$ref": "#/definitions/AWSIoTProviderDefaultIntegration",
"description": "Enable the default integration. This overrides custom base topic and message topics of the pub/sub integration."
}
}
},
"AWSIoTProviderDefaultIntegration": {
"type": "object",
"properties": {
"stack_name": {
"type": "string",
"description": "The stack name that is associated with the CloudFormation deployment of The Things Stack Enterprise integration."
}
}
},
"AWSIoTProviderAccessKey": {
"type": "object",
"properties": {
"access_key_id": {
"type": "string"
},
"secret_access_key": {
"type": "string"
},
"session_token": {
"type": "string"
}
}
},
"AWSIoTProviderAssumeRole": {
"type": "object",
"properties": {
"arn": {
"type": "string"
},
"external_id": {
"type": "string"
},
"session_duration": {
"type": "string"
}
}
},
"ApplicationPubSubMQTTProvider": {
"type": "object",
"properties": {
"server_url": {
"type": "string"
},
"client_id": {
"type": "string"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"subscribe_qos": {
"$ref": "#/definitions/MQTTProviderQoS"
},
"publish_qos": {
"$ref": "#/definitions/MQTTProviderQoS"
},
"use_tls": {
"type": "boolean"
},
"tls_ca": {
"type": "string",
"format": "byte",
"description": "The server Root CA certificate. PEM formatted."
},
"tls_client_cert": {
"type": "string",
"format": "byte",
"description": "The client certificate. PEM formatted."
},
"tls_client_key": {
"type": "string",
"format": "byte",
"description": "The client private key. PEM formatted."
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to use on MQTT-over-Websocket connections."
}
},
"description": "The MQTT provider settings."
},
"MQTTProviderQoS": {
"type": "string",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"default": "AT_MOST_ONCE"
}
},
"$ref": "#/definitions/v3ApplicationPubSub"
}