Skip to content

Instantly share code, notes, and snippets.

@robshep
Last active February 22, 2022 22:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robshep/024d3ef59b4eac7fc97504a4f5bbaa14 to your computer and use it in GitHub Desktop.
Save robshep/024d3ef59b4eac7fc97504a4f5bbaa14 to your computer and use it in GitHub Desktop.
{
"swagger": "2.0",
"basePath": "",
"info": {
"title": "ChirpStack Application Server REST API",
"version": "1.0.0",
"description": "\nFor more information about the usage of the ChirpStack Application Server (REST) API, see\n[https://www.chirpstack.io/application-server/api/](https://www.chirpstack.io/application-server/api/).\n"
},
"schemes": null,
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"securityDefinitions": { "APIKeyHeader": { "type": "apiKey", "in": "header", "name": "Grpc-Metadata-Authorization" }},
"paths": {
"/api/applications": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of applications to return in the result-test.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "ID of the organization to filter on.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
},
{
"description": "Search on name (optional).",
"in": "query",
"name": "search",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListApplicationResponse"
}
}
},
"summary": "List lists the available applications.",
"tags": [
"ApplicationService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateApplicationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateApplicationResponse"
}
}
},
"summary": "Create creates the given application.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "Application ID.\nThis will be automatically assigned on create.",
"format": "int64",
"in": "path",
"name": "application.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateApplicationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update updates the given application.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations": {
"get": {
"operationId": "ListIntegrations",
"parameters": [
{
"description": "The id of the application.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListIntegrationResponse"
}
}
},
"summary": "ListIntegrations lists all configured integrations.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/aws-sns": {
"delete": {
"operationId": "DeleteAWSSNSIntegration",
"parameters": [
{
"description": "The id of the application.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteAWSSNSIntegration deletes the AWS SNS application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetAWSSNSIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetAWSSNSIntegrationResponse"
}
}
},
"summary": "GetAWSSNSIntegration returns the AWS SNS application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/azure-service-bus": {
"delete": {
"operationId": "DeleteAzureServiceBusIntegration",
"parameters": [
{
"description": "The id of the application.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteAzureServiceBusIntegration deletes the Azure Service-Bus application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetAzureServiceBusIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetAzureServiceBusIntegrationResponse"
}
}
},
"summary": "GetAzureServiceBusIntegration returns the Azure Service-Bus application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/gcp-pub-sub": {
"delete": {
"operationId": "DeleteGCPPubSubIntegration",
"parameters": [
{
"description": "The id of the application.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteGCPPubSubIntegration deletes the GCP PubSub application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetGCPPubSubIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetGCPPubSubIntegrationResponse"
}
}
},
"summary": "GetGCPPubSubIntegration returns the GCP PubSub application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/http": {
"delete": {
"operationId": "DeleteHTTPIntegration",
"parameters": [
{
"description": "The id of the application.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteIntegration deletes the HTTP application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetHTTPIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetHTTPIntegrationResponse"
}
}
},
"summary": "GetHTTPIntegration returns the HTTP application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/influxdb": {
"delete": {
"operationId": "DeleteInfluxDBIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteInfluxDBIntegration deletes the InfluxDB application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetInfluxDBIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetInfluxDBIntegrationResponse"
}
}
},
"summary": "GetInfluxDBIntegration returns the InfluxDB application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/loracloud": {
"delete": {
"operationId": "DeleteLoRaCloudIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteLoRaCloudIntegration deletes the LoRaCloud application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetLoRaCloudIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetLoRaCloudIntegrationResponse"
}
}
},
"summary": "GetLoRaCloudIntegration returns the LoRaCloud application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/mqtt/certificate": {
"post": {
"operationId": "GenerateMQTTIntegrationClientCertificate",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGenerateMQTTIntegrationClientCertificateResponse"
}
}
},
"summary": "GenerateMQTTIntegrationClientCertificate generates an application ID specific TLS certificate\nto connect to the MQTT broker.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/mydevices": {
"delete": {
"operationId": "DeleteMyDevicesIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteMyDevicesIntegration deletes the MyDevices application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetMyDevicesIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetMyDevicesIntegrationResponse"
}
}
},
"summary": "GetMyDevicesIntegration returns the MyDevices application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/pilot-things": {
"delete": {
"operationId": "DeletePilotThingsIntegration",
"parameters": [
{
"description": "The id of the application.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeletePilotThingsIntegration deletes the Pilot Things application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetPilotThingsIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetPilotThingsIntegrationResponse"
}
}
},
"summary": "GetPilotThingsIntegration returns the Pilot Things application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{application_id}/integrations/thingsboard": {
"delete": {
"operationId": "DeleteThingsBoardIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteThingsBoardIntegration deletes the ThingsBoard application-integration.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "GetThingsBoardIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "application_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetThingsBoardIntegrationResponse"
}
}
},
"summary": "GetThingsBoardIntegration returns the ThingsBoard application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete deletes the given application.",
"tags": [
"ApplicationService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetApplicationResponse"
}
}
},
"summary": "Get returns the requested application.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/aws-sns": {
"post": {
"operationId": "CreateAWSSNSIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateAWSSNSIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateAWSSNSIntegration creates a AWS SNS application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdateAWSSNSIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateAWSSNSIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateAWSSNSIntegration updates the AWS SNS application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/azure-service-bus": {
"post": {
"operationId": "CreateAzureServiceBusIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateAzureServiceBusIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateAzureServiceBusIntegration creates an Azure Service-Bus application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdateAzureServiceBusIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateAzureServiceBusIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateAzureServiceBusIntegration updates the Azure Service-Bus application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/gcp-pub-sub": {
"post": {
"operationId": "CreateGCPPubSubIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateGCPPubSubIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateGCPPubSubIntegration creates a GCP PubSub application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdateGCPPubSubIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateGCPPubSubIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateGCPPubSubIntegration updates the GCP PubSub application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/http": {
"post": {
"operationId": "CreateHTTPIntegration",
"parameters": [
{
"description": "The id of the application.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateHTTPIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateHTTPIntegration creates a HTTP application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdateHTTPIntegration",
"parameters": [
{
"description": "The id of the application.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateHTTPIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateHTTPIntegration updates the HTTP application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/influxdb": {
"post": {
"operationId": "CreateInfluxDBIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateInfluxDBIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateInfluxDBIntegration create an InfluxDB application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdateInfluxDBIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateInfluxDBIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateInfluxDBIntegration updates the InfluxDB application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/loracloud": {
"post": {
"operationId": "CreateLoRaCloudIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateLoRaCloudIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateLoRaCloudIntegration creates A LoRaCloud application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdateLoRaCloudIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateLoRaCloudIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateLoRaCloudIntegration updates the LoRaCloud application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/mydevices": {
"post": {
"operationId": "CreateMyDevicesIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateMyDevicesIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateMyDevicesIntegration creates a MyDevices application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdateMyDevicesIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateMyDevicesIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateMyDevicesIntegration updates the MyDevices application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/pilot-things": {
"post": {
"operationId": "CreatePilotThingsIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreatePilotThingsIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreatePilotThingsIntegration creates an Pilot Things application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdatePilotThingsIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdatePilotThingsIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdatePilotThingsIntegration updates the Pilot Things application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/applications/{integration.application_id}/integrations/thingsboard": {
"post": {
"operationId": "CreateThingsBoardIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateThingsBoardIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateThingsBoardIntegration creates a ThingsBoard application-integration.",
"tags": [
"ApplicationService"
]
},
"put": {
"operationId": "UpdateThingsBoardIntegration",
"parameters": [
{
"description": "Application ID.",
"format": "int64",
"in": "path",
"name": "integration.application_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateThingsBoardIntegrationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateThingsBoardIntegration updates the ThingsBoard application-integration.",
"tags": [
"ApplicationService"
]
}
},
"/api/device-profiles": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of items to return.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "Organization id to filter on.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
},
{
"description": "Application id to filter on.",
"format": "int64",
"in": "query",
"name": "applicationID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListDeviceProfileResponse"
}
}
},
"summary": "List lists the available device-profiles.",
"tags": [
"DeviceProfileService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateDeviceProfileRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateDeviceProfileResponse"
}
}
},
"summary": "Create creates the given device-profile.",
"tags": [
"DeviceProfileService"
]
}
},
"/api/device-profiles/{device_profile.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "Device-profile ID (UUID string).",
"in": "path",
"name": "device_profile.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateDeviceProfileRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update updates the given device-profile.",
"tags": [
"DeviceProfileService"
]
}
},
"/api/device-profiles/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "Device-profile ID (UUID string).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete deletes the device-profile matching the given id.",
"tags": [
"DeviceProfileService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "Device-profile ID (UUID string).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetDeviceProfileResponse"
}
}
},
"summary": "Get returns the device-profile matching the given id.",
"tags": [
"DeviceProfileService"
]
}
},
"/api/devices": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of devices to return in the result-set.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "Application ID to filter on.",
"format": "int64",
"in": "query",
"name": "applicationID",
"required": false,
"type": "string"
},
{
"description": "Search on name or DevEUI.",
"in": "query",
"name": "search",
"required": false,
"type": "string"
},
{
"description": "Multicast-group ID to filter on (string formatted UUID).",
"in": "query",
"name": "multicastGroupID",
"required": false,
"type": "string"
},
{
"description": "Service-profile ID to filter on (string formatted UUID).",
"in": "query",
"name": "serviceProfileID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListDeviceResponse"
}
}
},
"summary": "List returns the available devices.",
"tags": [
"DeviceService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateDeviceRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Create creates the given device.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{dev_eui}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete deletes the device matching the given DevEUI.",
"tags": [
"DeviceService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetDeviceResponse"
}
}
},
"summary": "Get returns the device matching the given DevEUI.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{dev_eui}/activation": {
"delete": {
"operationId": "Deactivate",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Deactivate de-activates the device.",
"tags": [
"DeviceService"
]
},
"get": {
"operationId": "GetActivation",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetDeviceActivationResponse"
}
}
},
"summary": "GetActivation returns the current activation details of the device (OTAA and ABP).",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{dev_eui}/events": {
"get": {
"operationId": "StreamEventLogs",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.(streaming responses)",
"schema": {
"$ref": "#/x-stream-definitions/apiStreamDeviceEventLogsResponse"
}
}
},
"summary": "StreamEventLogs stream the device events (uplink payloads, ACKs, joins, errors).\n * This endpoint is intended for debugging only.\n * This endpoint does not work from a web-browser.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{dev_eui}/frames": {
"get": {
"operationId": "StreamFrameLogs",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.(streaming responses)",
"schema": {
"$ref": "#/x-stream-definitions/apiStreamDeviceFrameLogsResponse"
}
}
},
"summary": "StreamFrameLogs streams the uplink and downlink frame-logs for the given DevEUI.\n * These are the raw LoRaWAN frames and this endpoint is intended for debugging only.\n * This endpoint does not work from a web-browser.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{dev_eui}/fuota-deployments": {
"post": {
"operationId": "CreateForDevice",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateFUOTADeploymentForDeviceRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateFUOTADeploymentForDeviceResponse"
}
}
},
"summary": "CreateForDevice creates a deployment for the given DevEUI.",
"tags": [
"FUOTADeploymentService"
]
}
},
"/api/devices/{dev_eui}/getRandomDevAddr": {
"post": {
"operationId": "GetRandomDevAddr",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetRandomDevAddrResponse"
}
}
},
"summary": "GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{dev_eui}/keys": {
"delete": {
"operationId": "DeleteKeys",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteKeys deletes the device-keys for the given DevEUI.",
"tags": [
"DeviceService"
]
},
"get": {
"operationId": "GetKeys",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetDeviceKeysResponse"
}
}
},
"summary": "GetKeys returns the device-keys for the given DevEUI.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{dev_eui}/queue": {
"delete": {
"operationId": "Flush",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Flush flushes the downlink device-queue.",
"tags": [
"DeviceQueueService"
]
},
"get": {
"operationId": "List",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
},
{
"description": "Return only the count, not the result-set.",
"format": "boolean",
"in": "query",
"name": "countOnly",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListDeviceQueueItemsResponse"
}
}
},
"summary": "List lists the items in the device-queue.",
"tags": [
"DeviceQueueService"
]
}
},
"/api/devices/{dev_eui}/stats": {
"get": {
"operationId": "GetStats",
"parameters": [
{
"description": "DevEUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
},
{
"description": "Aggregation interval. One of \"second\", \"minute\", \"hour\", \"day\", \"week\",\n\"month\", \"quarter\", \"year\". Case insensitive.",
"in": "query",
"name": "interval",
"required": false,
"type": "string"
},
{
"description": "Timestamp to start from.",
"format": "date-time",
"in": "query",
"name": "startTimestamp",
"required": false,
"type": "string"
},
{
"description": "Timestamp until to get from.",
"format": "date-time",
"in": "query",
"name": "endTimestamp",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetDeviceStatsResponse"
}
}
},
"summary": "GetStats returns the device stats.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{device.dev_eui}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "device.dev_eui",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateDeviceRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update updates the device matching the given DevEUI.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{device_activation.dev_eui}/activate": {
"post": {
"operationId": "Activate",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "device_activation.dev_eui",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiActivateDeviceRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations).",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{device_keys.dev_eui}/keys": {
"post": {
"operationId": "CreateKeys",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "device_keys.dev_eui",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateDeviceKeysRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "CreateKeys creates the given device-keys.",
"tags": [
"DeviceService"
]
},
"put": {
"operationId": "UpdateKeys",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "device_keys.dev_eui",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateDeviceKeysRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdateKeys updates the device-keys.",
"tags": [
"DeviceService"
]
}
},
"/api/devices/{device_queue_item.dev_eui}/queue": {
"post": {
"operationId": "Enqueue",
"parameters": [
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "device_queue_item.dev_eui",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiEnqueueDeviceQueueItemRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiEnqueueDeviceQueueItemResponse"
}
}
},
"summary": "Enqueue adds the given item to the device-queue.",
"tags": [
"DeviceQueueService"
]
}
},
"/api/fuota-deployments": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of deployments to return in the result-set.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "Application ID to filter on (optional).",
"format": "int64",
"in": "query",
"name": "applicationID",
"required": false,
"type": "string"
},
{
"description": "Device EUI (HEX encoded) (optional).",
"in": "query",
"name": "devEUI",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListFUOTADeploymentResponse"
}
}
},
"summary": "List lists the fuota deployments.",
"tags": [
"FUOTADeploymentService"
]
}
},
"/api/fuota-deployments/{fuota_deployment_id}/devices": {
"get": {
"operationId": "ListDeploymentDevices",
"parameters": [
{
"description": "ID of the deployment (string formatted UUID).\nThis value will be automatically assigned on create.",
"in": "path",
"name": "fuota_deployment_id",
"required": true,
"type": "string"
},
{
"description": "Max number of items to return.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListFUOTADeploymentDevicesResponse"
}
}
},
"summary": "ListDeploymentDevices lists the devices (and status) for the given fuota deployment ID.",
"tags": [
"FUOTADeploymentService"
]
}
},
"/api/fuota-deployments/{fuota_deployment_id}/devices/{dev_eui}": {
"get": {
"operationId": "GetDeploymentDevice",
"parameters": [
{
"description": "ID of the deployment (string formatted UUID).\nThis value will be automatically assigned on create.",
"in": "path",
"name": "fuota_deployment_id",
"required": true,
"type": "string"
},
{
"description": "Device EUI (HEX encoded).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetFUOTADeploymentDeviceResponse"
}
}
},
"summary": "GetDeploymentDevice returns the deployment device.",
"tags": [
"FUOTADeploymentService"
]
}
},
"/api/fuota-deployments/{id}": {
"get": {
"operationId": "Get",
"parameters": [
{
"description": "ID of the deployment (string formatted UUID).\nThis value will be automatically assigned on create.",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetFUOTADeploymentResponse"
}
}
},
"summary": "Get returns the fuota deployment for the given id.",
"tags": [
"FUOTADeploymentService"
]
}
},
"/api/gateway-profiles": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of items to return.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "Network-server ID to filter on (optional).",
"format": "int64",
"in": "query",
"name": "networkServerID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListGatewayProfilesResponse"
}
}
},
"summary": "List returns the existing gateway-profiles.",
"tags": [
"GatewayProfileService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateGatewayProfileRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateGatewayProfileResponse"
}
}
},
"summary": "Create creates the given gateway-profile.",
"tags": [
"GatewayProfileService"
]
}
},
"/api/gateway-profiles/{gateway_profile.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "Gateway-profile ID (UUID string).",
"in": "path",
"name": "gateway_profile.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateGatewayProfileRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update updates the given gateway-profile.",
"tags": [
"GatewayProfileService"
]
}
},
"/api/gateway-profiles/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "Gateway-profile id (UUID string).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete deletes the gateway-profile matching the given id.",
"tags": [
"GatewayProfileService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "Gateway-profile ID (UUID string).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetGatewayProfileResponse"
}
}
},
"summary": "Get returns the gateway-profile matching the given id.",
"tags": [
"GatewayProfileService"
]
}
},
"/api/gateways": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of nodes to return in the result-set.",
"format": "int32",
"in": "query",
"name": "limit",
"required": false,
"type": "integer"
},
{
"description": "Offset of the result-set (for pagination).",
"format": "int32",
"in": "query",
"name": "offset",
"required": false,
"type": "integer"
},
{
"description": "ID of the organization for which to filter on, when left blank the\nresponse will return all gateways to which the user has access to.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
},
{
"description": "Search on name or gateway MAC (optional).",
"in": "query",
"name": "search",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListGatewayResponse"
}
}
},
"summary": "List lists the gateways.",
"tags": [
"GatewayService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateGatewayRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Create creates the given gateway.",
"tags": [
"GatewayService"
]
}
},
"/api/gateways/{gateway.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "Gateway ID (HEX encoded).",
"in": "path",
"name": "gateway.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateGatewayRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update updates the gateway matching the given mac address.",
"tags": [
"GatewayService"
]
}
},
"/api/gateways/{gateway_id}/frames": {
"get": {
"operationId": "StreamFrameLogs",
"parameters": [
{
"description": "Gateway ID (HEX encoded).",
"in": "path",
"name": "gateway_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.(streaming responses)",
"schema": {
"$ref": "#/x-stream-definitions/apiStreamGatewayFrameLogsResponse"
}
}
},
"summary": "StreamFrameLogs streams the uplink and downlink frame-logs for the given gateway ID.\nNotes:\n * These are the raw LoRaWAN frames and this endpoint is intended for debugging only.\n * This endpoint does not work from a web-browser.",
"tags": [
"GatewayService"
]
}
},
"/api/gateways/{gateway_id}/generate-certificate": {
"post": {
"operationId": "GenerateGatewayClientCertificate",
"parameters": [
{
"description": "Gateway ID (HEX encoded).",
"in": "path",
"name": "gateway_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGenerateGatewayClientCertificateResponse"
}
}
},
"summary": "GenerateGatewayClientCertificate returns TLS certificate gateway authentication / authorization.\nThis endpoint can ony be used when ChirpStack Network Server is configured with a gateway\nCA certificate and key, which is used for signing the TLS certificate. The returned TLS\ncertificate will have the Gateway ID as Common Name.",
"tags": [
"GatewayService"
]
}
},
"/api/gateways/{gateway_id}/pings/last": {
"get": {
"operationId": "GetLastPing",
"parameters": [
{
"description": "Gateway ID (HEX encoded).",
"in": "path",
"name": "gateway_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetLastPingResponse"
}
}
},
"summary": "GetLastPing returns the last emitted ping and gateways receiving this ping.",
"tags": [
"GatewayService"
]
}
},
"/api/gateways/{gateway_id}/stats": {
"get": {
"operationId": "GetStats",
"parameters": [
{
"description": "Gateway ID (HEX encoded).",
"in": "path",
"name": "gateway_id",
"required": true,
"type": "string"
},
{
"description": "Aggregation interval. One of \"second\", \"minute\", \"hour\", \"day\", \"week\",\n\"month\", \"quarter\", \"year\". Case insensitive.",
"in": "query",
"name": "interval",
"required": false,
"type": "string"
},
{
"description": "Timestamp to start from.",
"format": "date-time",
"in": "query",
"name": "startTimestamp",
"required": false,
"type": "string"
},
{
"description": "Timestamp until to get from.",
"format": "date-time",
"in": "query",
"name": "endTimestamp",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetGatewayStatsResponse"
}
}
},
"summary": "GetStats lists the gateway stats given the query parameters.",
"tags": [
"GatewayService"
]
}
},
"/api/gateways/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "Gateway ID (HEX encoded).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete deletes the gateway matching the given mac address.",
"tags": [
"GatewayService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "Gateway ID (HEX encoded).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetGatewayResponse"
}
}
},
"summary": "Get returns the gateway for the requested mac address.",
"tags": [
"GatewayService"
]
}
},
"/api/internal/api-keys": {
"get": {
"operationId": "ListAPIKeys",
"parameters": [
{
"description": "Max number of items to return.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "Return only admin keys.",
"format": "boolean",
"in": "query",
"name": "isAdmin",
"required": false,
"type": "boolean"
},
{
"description": "Filter on organization ID.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
},
{
"description": "Filter on application ID.",
"format": "int64",
"in": "query",
"name": "applicationID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListAPIKeysResponse"
}
}
},
"summary": "ListAPIKeys lists the available API keys.",
"tags": [
"InternalService"
]
},
"post": {
"operationId": "CreateAPIKey",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateAPIKeyRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateAPIKeyResponse"
}
}
},
"summary": "CreateAPIKey creates the given API key.",
"tags": [
"InternalService"
]
}
},
"/api/internal/api-keys/{id}": {
"delete": {
"operationId": "DeleteAPIKey",
"parameters": [
{
"description": "API key ID.",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "DeleteAPIKey deletes the API key.",
"tags": [
"InternalService"
]
}
},
"/api/internal/devices/summary": {
"get": {
"operationId": "GetDevicesSummary",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetDevicesSummaryResponse"
}
}
},
"summary": "GetDevicesSummary returns an aggregated summary of the devices.",
"tags": [
"InternalService"
]
}
},
"/api/internal/gateways/summary": {
"get": {
"operationId": "GetGatewaysSummary",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetGatewaysSummaryResponse"
}
}
},
"summary": "GetGatewaysSummary returns an aggregated summary of the gateways.",
"tags": [
"InternalService"
]
}
},
"/api/internal/login": {
"post": {
"operationId": "Login",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiLoginRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiLoginResponse"
}
}
},
"summary": "Log in a user",
"tags": [
"InternalService"
]
}
},
"/api/internal/oidc/login": {
"get": {
"operationId": "OpenIDConnectLogin",
"parameters": [
{
"description": "OpenID Connect callback code.",
"in": "query",
"name": "code",
"required": false,
"type": "string"
},
{
"description": "OpenID Connect callback state.",
"in": "query",
"name": "state",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiOpenIDConnectLoginResponse"
}
}
},
"summary": "OpenID Connect login.",
"tags": [
"InternalService"
]
}
},
"/api/internal/profile": {
"get": {
"operationId": "Profile",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiProfileResponse"
}
}
},
"summary": "Get the current user's profile",
"tags": [
"InternalService"
]
}
},
"/api/internal/search": {
"get": {
"operationId": "GlobalSearch",
"parameters": [
{
"description": "Search query.",
"in": "query",
"name": "search",
"required": false,
"type": "string"
},
{
"description": "Max number of results to return.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset offset of the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGlobalSearchResponse"
}
}
},
"summary": "Perform a global search.",
"tags": [
"InternalService"
]
}
},
"/api/internal/settings": {
"get": {
"operationId": "Settings",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiSettingsResponse"
}
}
},
"summary": "Get the global settings.",
"tags": [
"InternalService"
]
}
},
"/api/multicast-groups": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of items to return.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "Organization id to filter on.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
},
{
"description": "Device EUI (HEX encoded string) to filter on.",
"in": "query",
"name": "devEUI",
"required": false,
"type": "string"
},
{
"description": "Search can be used to search on the multicast-group name.",
"in": "query",
"name": "search",
"required": false,
"type": "string"
},
{
"description": "Application ID to filter on.",
"format": "int64",
"in": "query",
"name": "applicationID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListMulticastGroupResponse"
}
}
},
"summary": "List lists the available multicast-groups.",
"tags": [
"MulticastGroupService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateMulticastGroupRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateMulticastGroupResponse"
}
}
},
"summary": "Create creates the given multicast-group.",
"tags": [
"MulticastGroupService"
]
}
},
"/api/multicast-groups/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "ID (string formatted UUID).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete deletes a multicast-group given an ID.",
"tags": [
"MulticastGroupService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "ID (string formatted UUID).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetMulticastGroupResponse"
}
}
},
"summary": "Get returns a multicast-group given an ID.",
"tags": [
"MulticastGroupService"
]
}
},
"/api/multicast-groups/{multicast_group.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "ID (string formatted UUID).\nThis will be generated automatically on create.",
"in": "path",
"name": "multicast_group.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateMulticastGroupRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update updates the given multicast-group.",
"tags": [
"MulticastGroupService"
]
}
},
"/api/multicast-groups/{multicast_group_id}/devices": {
"post": {
"operationId": "AddDevice",
"parameters": [
{
"description": "Multicast-group ID (string formatted UUID).",
"in": "path",
"name": "multicast_group_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiAddDeviceToMulticastGroupRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "AddDevice adds the given device to the multicast-group.",
"tags": [
"MulticastGroupService"
]
}
},
"/api/multicast-groups/{multicast_group_id}/devices/{dev_eui}": {
"delete": {
"operationId": "RemoveDevice",
"parameters": [
{
"description": "Multicast-group ID (string formatted UUID).",
"in": "path",
"name": "multicast_group_id",
"required": true,
"type": "string"
},
{
"description": "Device EUI (HEX encoded string).",
"in": "path",
"name": "dev_eui",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "RemoveDevice removes the given device from the multicast-group.",
"tags": [
"MulticastGroupService"
]
}
},
"/api/multicast-groups/{multicast_group_id}/queue": {
"delete": {
"operationId": "FlushQueue",
"parameters": [
{
"description": "Multicast-group ID (string formatted UUID).",
"in": "path",
"name": "multicast_group_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "FlushQueue flushes the multicast-group queue.",
"tags": [
"MulticastGroupService"
]
},
"get": {
"operationId": "ListQueue",
"parameters": [
{
"description": "Multicast-group ID (string formatted UUID).",
"in": "path",
"name": "multicast_group_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListMulticastGroupQueueItemsResponse"
}
}
},
"summary": "ListQueue lists the items in the multicast-group queue.",
"tags": [
"MulticastGroupService"
]
}
},
"/api/multicast-groups/{multicast_queue_item.multicast_group_id}/queue": {
"post": {
"operationId": "Enqueue",
"parameters": [
{
"description": "Multicast-group ID (string formatted UUID).",
"in": "path",
"name": "multicast_queue_item.multicast_group_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiEnqueueMulticastQueueItemRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiEnqueueMulticastQueueItemResponse"
}
}
},
"summary": "Enqueue adds the given item to the multicast-queue.",
"tags": [
"MulticastGroupService"
]
}
},
"/api/network-servers": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of items to return.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "Organization id to filter on.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListNetworkServerResponse"
}
}
},
"summary": "List lists the available network-servers.",
"tags": [
"NetworkServerService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateNetworkServerRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateNetworkServerResponse"
}
}
},
"summary": "Create creates the given network-server.",
"tags": [
"NetworkServerService"
]
}
},
"/api/network-servers/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "Network-server ID.",
"format": "int64",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete deletes the network-server matching the given id.",
"tags": [
"NetworkServerService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "Network-server ID.",
"format": "int64",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetNetworkServerResponse"
}
}
},
"summary": "Get returns the network-server matching the given id.",
"tags": [
"NetworkServerService"
]
}
},
"/api/network-servers/{network_server.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "Network-server ID.",
"format": "int64",
"in": "path",
"name": "network_server.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateNetworkServerRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update updates the given network-server.",
"tags": [
"NetworkServerService"
]
}
},
"/api/network-servers/{network_server_id}/adr-algorithms": {
"get": {
"operationId": "GetADRAlgorithms",
"parameters": [
{
"description": "Network-server ID.",
"format": "int64",
"in": "path",
"name": "network_server_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetADRAlgorithmsResponse"
}
}
},
"summary": "GetADRAlgorithms returns the available ADR algorithms.",
"tags": [
"NetworkServerService"
]
}
},
"/api/organizations": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of organizations to return in the result-set.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "When provided, the given string will be used to search on\ndisplayName.",
"in": "query",
"name": "search",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListOrganizationResponse"
}
}
},
"summary": "Get organization list.",
"tags": [
"OrganizationService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateOrganizationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateOrganizationResponse"
}
}
},
"summary": "Create a new organization.",
"tags": [
"OrganizationService"
]
}
},
"/api/organizations/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete an organization.",
"tags": [
"OrganizationService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetOrganizationResponse"
}
}
},
"summary": "Get data for a particular organization.",
"tags": [
"OrganizationService"
]
}
},
"/api/organizations/{organization.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "path",
"name": "organization.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateOrganizationRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update an existing organization.",
"tags": [
"OrganizationService"
]
}
},
"/api/organizations/{organization_id}/users": {
"get": {
"operationId": "ListUsers",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "path",
"name": "organization_id",
"required": true,
"type": "string"
},
{
"description": "Max number of users to return in the result-set.",
"format": "int32",
"in": "query",
"name": "limit",
"required": false,
"type": "integer"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int32",
"in": "query",
"name": "offset",
"required": false,
"type": "integer"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListOrganizationUsersResponse"
}
}
},
"summary": "Get organization's user list.",
"tags": [
"OrganizationService"
]
}
},
"/api/organizations/{organization_id}/users/{user_id}": {
"delete": {
"operationId": "DeleteUser",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "path",
"name": "organization_id",
"required": true,
"type": "string"
},
{
"description": "User ID.",
"format": "int64",
"in": "path",
"name": "user_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete a user from an organization.",
"tags": [
"OrganizationService"
]
},
"get": {
"operationId": "GetUser",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "path",
"name": "organization_id",
"required": true,
"type": "string"
},
{
"description": "User ID.",
"format": "int64",
"in": "path",
"name": "user_id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetOrganizationUserResponse"
}
}
},
"summary": "Get data for a particular organization user.",
"tags": [
"OrganizationService"
]
}
},
"/api/organizations/{organization_user.organization_id}/users": {
"post": {
"operationId": "AddUser",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "path",
"name": "organization_user.organization_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiAddOrganizationUserRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Add a new user to an organization. The user is matched based on email, not user id.",
"tags": [
"OrganizationService"
]
}
},
"/api/organizations/{organization_user.organization_id}/users/{organization_user.user_id}": {
"put": {
"operationId": "UpdateUser",
"parameters": [
{
"description": "Organization ID.",
"format": "int64",
"in": "path",
"name": "organization_user.organization_id",
"required": true,
"type": "string"
},
{
"description": "User ID.",
"format": "int64",
"in": "path",
"name": "organization_user.user_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateOrganizationUserRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update a user in an organization.",
"tags": [
"OrganizationService"
]
}
},
"/api/service-profiles": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of items to return.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
},
{
"description": "Organization id to filter on.",
"format": "int64",
"in": "query",
"name": "organizationID",
"required": false,
"type": "string"
},
{
"description": "Network-server id to filter on.",
"format": "int64",
"in": "query",
"name": "networkServerID",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListServiceProfileResponse"
}
}
},
"summary": "List lists the available service-profiles.",
"tags": [
"ServiceProfileService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateServiceProfileRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateServiceProfileResponse"
}
}
},
"summary": "Create creates the given service-profile.",
"tags": [
"ServiceProfileService"
]
}
},
"/api/service-profiles/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "Service-profile ID (UUID string).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete deletes the service-profile matching the given id.",
"tags": [
"ServiceProfileService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "Service-profile ID (UUID string).",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetServiceProfileResponse"
}
}
},
"summary": "Get returns the service-profile matching the given id.",
"tags": [
"ServiceProfileService"
]
}
},
"/api/service-profiles/{service_profile.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "Service-profile ID (UUID string).\nThis will be automatically set on create.",
"in": "path",
"name": "service_profile.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateServiceProfileRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update updates the given serviceprofile.",
"tags": [
"ServiceProfileService"
]
}
},
"/api/users": {
"get": {
"operationId": "List",
"parameters": [
{
"description": "Max number of user to return in the result-set.",
"format": "int64",
"in": "query",
"name": "limit",
"required": false,
"type": "string"
},
{
"description": "Offset in the result-set (for pagination).",
"format": "int64",
"in": "query",
"name": "offset",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiListUserResponse"
}
}
},
"summary": "Get user list.",
"tags": [
"UserService"
]
},
"post": {
"operationId": "Create",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiCreateUserRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiCreateUserResponse"
}
}
},
"summary": "Create a new user.",
"tags": [
"UserService"
]
}
},
"/api/users/{id}": {
"delete": {
"operationId": "Delete",
"parameters": [
{
"description": "User ID.",
"format": "int64",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Delete a user.",
"tags": [
"UserService"
]
},
"get": {
"operationId": "Get",
"parameters": [
{
"description": "User ID.",
"format": "int64",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetUserResponse"
}
}
},
"summary": "Get data for a particular user.",
"tags": [
"UserService"
]
}
},
"/api/users/{user.id}": {
"put": {
"operationId": "Update",
"parameters": [
{
"description": "User ID.\nWill be set automatically on create.",
"format": "int64",
"in": "path",
"name": "user.id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateUserRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "Update an existing user.",
"tags": [
"UserService"
]
}
},
"/api/users/{user_id}/password": {
"put": {
"operationId": "UpdatePassword",
"parameters": [
{
"description": "User ID.",
"format": "int64",
"in": "path",
"name": "user_id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/apiUpdateUserPasswordRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"summary": "UpdatePassword updates a password.",
"tags": [
"UserService"
]
}
}
},
"definitions": {
"apiADRAlgorithm": {
"properties": {
"id": {
"description": "ADR algorithm ID.",
"type": "string"
},
"name": {
"description": "ADR algorithm name.",
"type": "string"
}
},
"type": "object"
},
"apiAPIKey": {
"properties": {
"applicationID": {
"description": "Application ID.\nIn case the API key is to manage resources within an application, set\nthis to the ID of this application.message",
"format": "int64",
"type": "string"
},
"id": {
"description": "API key ID.\nThis value will be automatically generated on create.",
"type": "string"
},
"isAdmin": {
"description": "Is global admin key.",
"format": "boolean",
"type": "boolean"
},
"name": {
"description": "Name.",
"type": "string"
},
"organizationID": {
"description": "Organization ID.\nIn case this API key is to manage resources within a single organization\nset this to the ID of this organization.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiAWSSNSIntegration": {
"properties": {
"accessKeyID": {
"description": "AWS Access Key ID.",
"type": "string"
},
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"marshaler": {
"$ref": "#/definitions/apiMarshaler",
"description": "Marshaler.\nThis defines the marshaler that is used to encode the event payload."
},
"region": {
"description": "AWS region.",
"type": "string"
},
"secretAccessKey": {
"description": "AWS Secret Access Key.",
"type": "string"
},
"topicARN": {
"description": "Topic ARN.",
"type": "string"
}
},
"type": "object"
},
"apiActivateDeviceRequest": {
"properties": {
"deviceActivation": {
"$ref": "#/definitions/apiDeviceActivation"
}
},
"type": "object"
},
"apiAddDeviceToMulticastGroupRequest": {
"properties": {
"devEUI": {
"description": "Device EUI (HEX encoded string).\nNote that the device and the multicast-group must share the same\napplication ID.",
"type": "string"
},
"multicastGroupID": {
"description": "Multicast-group ID (string formatted UUID).",
"type": "string"
}
},
"type": "object"
},
"apiAddOrganizationUserRequest": {
"properties": {
"organizationUser": {
"$ref": "#/definitions/apiOrganizationUser",
"description": "Organization-user object to create."
}
},
"type": "object"
},
"apiApplication": {
"properties": {
"description": {
"description": "Description of the application.",
"type": "string"
},
"id": {
"description": "Application ID.\nThis will be automatically assigned on create.",
"format": "int64",
"type": "string"
},
"name": {
"description": "Name of the application (must be unique).",
"type": "string"
},
"organizationID": {
"description": "ID of the organization to which the application belongs.\nAfter create, this can not be modified.",
"format": "int64",
"type": "string"
},
"payloadCodec": {
"description": "Payload codec.\nNOTE: These field have moved to the device-profile and will be removed\nin the next major release. When set, the device-profile payload_ fields\nhave priority over the application payload_ fields.",
"type": "string"
},
"payloadDecoderScript": {
"description": "Payload decoder script.\nNOTE: These field have moved to the device-profile and will be removed\nin the next major release. When set, the device-profile payload_ fields\nhave priority over the application payload_ fields.",
"type": "string"
},
"payloadEncoderScript": {
"description": "Payload encoder script.\nNOTE: These field have moved to the device-profile and will be removed\nin the next major release. When set, the device-profile payload_ fields\nhave priority over the application payload_ fields.",
"type": "string"
},
"serviceProfileID": {
"description": "ID of the service profile.",
"type": "string"
}
},
"type": "object"
},
"apiApplicationListItem": {
"properties": {
"description": {
"description": "Description of the application.",
"type": "string"
},
"id": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"name": {
"description": "Name of the application.",
"type": "string"
},
"organizationID": {
"description": "ID of the organization to which the application belongs.",
"format": "int64",
"type": "string"
},
"serviceProfileID": {
"description": "ID of the service profile.",
"type": "string"
},
"serviceProfileName": {
"description": "Service-profile name.",
"type": "string"
}
},
"type": "object"
},
"apiAzureServiceBusIntegration": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"connectionString": {
"description": "Connection string.",
"type": "string"
},
"marshaler": {
"$ref": "#/definitions/apiMarshaler",
"description": "Marshaler.\nThis defines the marshaler that is used to encode the event payload."
},
"publishName": {
"description": "Publish name.\nThis is the name of the topic or queue.",
"type": "string"
}
},
"type": "object"
},
"apiBranding": {
"properties": {
"footer": {
"description": "Footer html.",
"type": "string"
},
"registration": {
"description": "Registration html.",
"type": "string"
}
},
"type": "object"
},
"apiCreateAPIKeyRequest": {
"properties": {
"apiKey": {
"$ref": "#/definitions/apiAPIKey",
"description": "The API key to create."
}
},
"type": "object"
},
"apiCreateAPIKeyResponse": {
"properties": {
"id": {
"description": "API key ID.",
"type": "string"
},
"jwtToken": {
"description": "JWT token for this API Key.",
"type": "string"
}
},
"type": "object"
},
"apiCreateAWSSNSIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiAWSSNSIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateApplicationRequest": {
"properties": {
"application": {
"$ref": "#/definitions/apiApplication",
"description": "Application object to create."
}
},
"type": "object"
},
"apiCreateApplicationResponse": {
"properties": {
"id": {
"description": "Application ID.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiCreateAzureServiceBusIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiAzureServiceBusIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateDeviceKeysRequest": {
"properties": {
"deviceKeys": {
"$ref": "#/definitions/apiDeviceKeys",
"description": "Device-keys object to create."
}
},
"type": "object"
},
"apiCreateDeviceProfileRequest": {
"properties": {
"deviceProfile": {
"$ref": "#/definitions/apiDeviceProfile",
"description": "Device-profile object to create."
}
},
"type": "object"
},
"apiCreateDeviceProfileResponse": {
"properties": {
"id": {
"description": "Device-profile ID (UUID string).",
"type": "string"
}
},
"type": "object"
},
"apiCreateDeviceRequest": {
"properties": {
"device": {
"$ref": "#/definitions/apiDevice",
"description": "Device object to create."
}
},
"type": "object"
},
"apiCreateFUOTADeploymentForDeviceRequest": {
"properties": {
"devEUI": {
"description": "Device EUI (HEX encoded).",
"type": "string"
},
"fuotaDeployment": {
"$ref": "#/definitions/apiFUOTADeployment",
"description": "FUOTA deployment."
}
},
"type": "object"
},
"apiCreateFUOTADeploymentForDeviceResponse": {
"properties": {
"id": {
"description": "ID of the created deployment (string formatted UUID).",
"type": "string"
}
},
"type": "object"
},
"apiCreateGCPPubSubIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiGCPPubSubIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateGatewayProfileRequest": {
"properties": {
"gatewayProfile": {
"$ref": "#/definitions/apiGatewayProfile",
"description": "Gateway-profile object to create."
}
},
"type": "object"
},
"apiCreateGatewayProfileResponse": {
"properties": {
"id": {
"description": "Gateway-profile ID (UUID string).",
"type": "string"
}
},
"type": "object"
},
"apiCreateGatewayRequest": {
"properties": {
"gateway": {
"$ref": "#/definitions/apiGateway",
"description": "Gateway object to create."
}
},
"type": "object"
},
"apiCreateHTTPIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiHTTPIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateInfluxDBIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiInfluxDBIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateLoRaCloudIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiLoRaCloudIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateMulticastGroupRequest": {
"properties": {
"multicastGroup": {
"$ref": "#/definitions/apiMulticastGroup",
"description": "Multicast-group object to create."
}
},
"type": "object"
},
"apiCreateMulticastGroupResponse": {
"properties": {
"id": {
"description": "ID of created group (string formatted UUID).",
"type": "string"
}
},
"type": "object"
},
"apiCreateMyDevicesIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiMyDevicesIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateNetworkServerRequest": {
"properties": {
"networkServer": {
"$ref": "#/definitions/apiNetworkServer",
"description": "Network-server object to create."
}
},
"type": "object"
},
"apiCreateNetworkServerResponse": {
"properties": {
"id": {
"description": "Network-server ID.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiCreateOrganizationRequest": {
"properties": {
"organization": {
"$ref": "#/definitions/apiOrganization",
"description": "Organization object to create."
}
},
"type": "object"
},
"apiCreateOrganizationResponse": {
"properties": {
"id": {
"description": "Organization ID.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiCreatePilotThingsIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiPilotThingsIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateServiceProfileRequest": {
"properties": {
"serviceProfile": {
"$ref": "#/definitions/apiServiceProfile",
"description": "Service-profile object to create."
}
},
"type": "object"
},
"apiCreateServiceProfileResponse": {
"properties": {
"id": {
"description": "Service-profile ID (UUID string).",
"type": "string"
}
},
"type": "object"
},
"apiCreateThingsBoardIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiThingsBoardIntegration",
"description": "Integration object to create."
}
},
"type": "object"
},
"apiCreateUserRequest": {
"properties": {
"organizations": {
"description": "Add the user to the following organizations.",
"items": {
"$ref": "#/definitions/apiUserOrganization"
},
"type": "array"
},
"password": {
"description": "Password of the user.",
"type": "string"
},
"user": {
"$ref": "#/definitions/apiUser",
"description": "User object to create."
}
},
"type": "object"
},
"apiCreateUserResponse": {
"properties": {
"id": {
"description": "User ID.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiDevice": {
"properties": {
"applicationID": {
"description": "ID of the application to which the device must be added.\nIt is possible to move a device to a different application on update,\ngiven that both the old and the new application share the same\nservice-profile.",
"format": "int64",
"type": "string"
},
"description": {
"description": "Description of the device.",
"type": "string"
},
"devEUI": {
"description": "Device EUI (HEX encoded).",
"type": "string"
},
"deviceProfileID": {
"description": "DeviceProfileID attached to the device.",
"type": "string"
},
"isDisabled": {
"description": "Device is disabled.",
"format": "boolean",
"type": "boolean"
},
"name": {
"description": "Name of the device (if left blank, it will be set to the DevEUI).",
"type": "string"
},
"referenceAltitude": {
"description": "Reference altitude.\nWhen using geolocation, this altitude will be used as a reference\n(when supported by the geolocation-server) to increase geolocation\naccuracy.",
"format": "double",
"type": "number"
},
"skipFCntCheck": {
"description": "Skip frame-counter checks (this is insecure, but could be helpful for debugging).",
"format": "boolean",
"type": "boolean"
},
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "Tags (user defined).\nThese tags are exposed in the event payloads or to integration. Tags are\nintended for aggregation and filtering.",
"type": "object"
},
"variables": {
"additionalProperties": {
"type": "string"
},
"description": "Variables (user defined).\nThese variables can be used together with integrations to store tokens /\nsecrets that must be configured per device. These variables are not\nexposed in the event payloads.",
"type": "object"
}
},
"type": "object"
},
"apiDeviceActivation": {
"properties": {
"aFCntDown": {
"description": "Downlink application frame-counter.",
"format": "int64",
"type": "integer"
},
"appSKey": {
"description": "Application session key (HEX encoded).",
"type": "string"
},
"devAddr": {
"description": "Device address (HEX encoded).",
"type": "string"
},
"devEUI": {
"description": "Device EUI (HEX encoded).",
"type": "string"
},
"fCntUp": {
"description": "Uplink frame-counter.",
"format": "int64",
"type": "integer"
},
"fNwkSIntKey": {
"description": "Forwarding network session integrity key (HEX encoded).",
"type": "string"
},
"nFCntDown": {
"description": "Downlink network frame-counter.",
"format": "int64",
"type": "integer"
},
"nwkSEncKey": {
"description": "Network session encryption key (HEX encoded).",
"type": "string"
},
"sNwkSIntKey": {
"description": "Serving network session integrity key (HEX encoded).",
"type": "string"
}
},
"type": "object"
},
"apiDeviceKeys": {
"properties": {
"appKey": {
"description": "Application root key (HEX encoded).\nNote: This field only needs to be set for LoRaWAN 1.1.x devices!",
"type": "string"
},
"devEUI": {
"description": "Device EUI (HEX encoded).",
"type": "string"
},
"genAppKey": {
"description": "Gen application key (HEX encoded).\nThis is an optional key that only must be set for LORaWAN 1.0.x devices\nthat implement the remote multicast setup specification.",
"type": "string"
},
"nwkKey": {
"description": "Network root key (HEX encoded).\nNote: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`!",
"type": "string"
}
},
"type": "object"
},
"apiDeviceListItem": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"description": {
"description": "Description of the device.",
"type": "string"
},
"devEUI": {
"description": "Device EUI (HEX encoded).",
"type": "string"
},
"deviceProfileID": {
"description": "Device-profile ID attached to the device.",
"type": "string"
},
"deviceProfileName": {
"description": "Device-profile name.",
"type": "string"
},
"deviceStatusBattery": {
"description": "The device battery status (deprecated, use device_status_battery_level).\n0: The end-device is connected to an external power source\n1..254: The battery level, 1 being at minimum and 254 being at maximum\n255: The end-device was not able to measure the battery level\n256: The device-status is not available.",
"format": "int64",
"type": "integer"
},
"deviceStatusBatteryLevel": {
"description": "Device battery level as a percentage.",
"format": "float",
"type": "number"
},
"deviceStatusBatteryLevelUnavailable": {
"description": "Device battery status is unavailable.",
"format": "boolean",
"type": "boolean"
},
"deviceStatusExternalPowerSource": {
"description": "Device is connected to an external power source.",
"format": "boolean",
"type": "boolean"
},
"deviceStatusMargin": {
"description": "The device margin status\n-32..32: The demodulation SNR ration in dB\n256: The device-status is not available.",
"format": "int32",
"type": "integer"
},
"lastSeenAt": {
"description": "The last time the application-server received any data from the device,\nor an empty string when the device never sent any data.",
"format": "date-time",
"type": "string"
},
"name": {
"description": "Name of the device.",
"type": "string"
}
},
"type": "object"
},
"apiDeviceProfile": {
"properties": {
"adrAlgorithmID": {
"description": "ADR algorithm ID.\nIn case this is left blank, or is configured to a non-existing ADR\nalgorithm (plugin), then it falls back to 'default'.",
"type": "string"
},
"classBTimeout": {
"description": "Maximum delay for the End-Device to answer a MAC request or a confirmed DL frame (mandatory if class B mode supported).",
"format": "int64",
"type": "integer"
},
"classCTimeout": {
"description": "Maximum delay for the End-Device to answer a MAC request or a confirmed DL frame (mandatory if class C mode supported).",
"format": "int64",
"type": "integer"
},
"factoryPresetFreqs": {
"description": "List of factory-preset frequencies (mandatory for ABP).",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"geolocBufferTTL": {
"description": "Geolocation buffer TTL (in seconds).\nWhen \\u003e 0, uplink RX meta-data will be stored in a buffer so that\nthe meta-data of multiple uplinks can be used for geolocation.",
"format": "int64",
"type": "integer"
},
"geolocMinBufferSize": {
"description": "Geolocation minimum buffer size.\nWhen \\u003e 0, geolocation will only be performed when the buffer has\nat least the given size.",
"format": "int64",
"type": "integer"
},
"id": {
"description": "Device-profile ID (UUID string).",
"type": "string"
},
"macVersion": {
"description": "Version of the LoRaWAN supported by the End-Device.",
"type": "string"
},
"maxDutyCycle": {
"description": "Maximum duty cycle supported by the End-Device.",
"format": "int64",
"type": "integer"
},
"maxEIRP": {
"description": "Maximum EIRP supported by the End-Device.",
"format": "int64",
"type": "integer"
},
"name": {
"description": "Device-profile name.",
"type": "string"
},
"networkServerID": {
"description": "Network-server ID on which the service-profile is provisioned.",
"format": "int64",
"type": "string"
},
"organizationID": {
"description": "Organization ID to which the service-profile is assigned.",
"format": "int64",
"type": "string"
},
"payloadCodec": {
"description": "Payload codec.\nLeave blank to disable the codec feature.",
"type": "string"
},
"payloadDecoderScript": {
"description": "Payload decoder script.\nDepending the codec, it is possible to provide a script which implements\nthe decoder function.",
"type": "string"
},
"payloadEncoderScript": {
"description": "Payload encoder script.\nDepending the codec, it is possible to provide a script which implements\nthe encoder function.",
"type": "string"
},
"pingSlotDR": {
"description": "Mandatory if class B mode supported.",
"format": "int64",
"type": "integer"
},
"pingSlotFreq": {
"description": "Mandatory if class B mode supported.",
"format": "int64",
"type": "integer"
},
"pingSlotPeriod": {
"description": "Mandatory if class B mode supported.",
"format": "int64",
"type": "integer"
},
"regParamsRevision": {
"description": "Revision of the Regional Parameters document supported by the End-Device.",
"type": "string"
},
"rfRegion": {
"description": "RF region name.",
"type": "string"
},
"rxDROffset1": {
"description": "RX1 data rate offset (mandatory for ABP).",
"format": "int64",
"type": "integer"
},
"rxDataRate2": {
"description": "RX2 data rate (mandatory for ABP).",
"format": "int64",
"type": "integer"
},
"rxDelay1": {
"description": "Class A RX1 delay (mandatory for ABP).",
"format": "int64",
"type": "integer"
},
"rxFreq2": {
"description": "RX2 channel frequency (mandatory for ABP).",
"format": "int64",
"type": "integer"
},
"supports32BitFCnt": {
"description": "End-Device uses 32bit FCnt (mandatory for LoRaWAN 1.0 End-Device).",
"format": "boolean",
"type": "boolean"
},
"supportsClassB": {
"description": "End-Device supports Class B.",
"format": "boolean",
"type": "boolean"
},
"supportsClassC": {
"description": "End-Device supports Class C.",
"format": "boolean",
"type": "boolean"
},
"supportsJoin": {
"description": "End-Device supports Join (OTAA) or not (ABP).",
"format": "boolean",
"type": "boolean"
},
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "User defined tags.",
"type": "object"
},
"uplinkInterval": {
"description": "Uplink interval.\nThis defines the expected uplink interval which the device uses for\ncommunication. When the uplink interval has expired and no uplink has\nbeen received, the device is considered inactive.",
"type": "string"
}
},
"type": "object"
},
"apiDeviceProfileListItem": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "Device-profile ID (UUID string).",
"type": "string"
},
"name": {
"description": "Device-profile name.",
"type": "string"
},
"networkServerID": {
"description": "Network-server ID.",
"format": "int64",
"type": "string"
},
"networkServerName": {
"description": "Network-server name.",
"type": "string"
},
"organizationID": {
"description": "Organization ID.",
"format": "int64",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiDeviceQueueItem": {
"properties": {
"confirmed": {
"description": "Set this to true when an acknowledgement from the device is required.\nPlease note that this must not be used to guarantee a delivery.",
"format": "boolean",
"type": "boolean"
},
"data": {
"description": "Base64 encoded data.\nOr use the json_object field when an application codec has been configured.",
"format": "byte",
"type": "string"
},
"devEUI": {
"description": "Device EUI (HEX encoded).",
"type": "string"
},
"fCnt": {
"description": "Downlink frame-counter.\nThis will be automatically set on enquue.",
"format": "int64",
"type": "integer"
},
"fPort": {
"description": "FPort used (must be \\u003e 0)",
"format": "int64",
"type": "integer"
},
"jsonObject": {
"description": "JSON object (string).\nOnly use this when an application codec has been configured that can convert\nthis object into binary form.",
"type": "string"
}
},
"type": "object"
},
"apiDeviceStats": {
"properties": {
"errors": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Error count.",
"type": "object"
},
"gwRssi": {
"description": "Average RSSI (as reported by the gateway(s)).",
"format": "float",
"type": "number"
},
"gwSnr": {
"description": "Average SNR (as reported by the gateway(s)).",
"format": "float",
"type": "number"
},
"rxPackets": {
"description": "Packets received from the device.",
"format": "int64",
"type": "integer"
},
"rxPacketsPerDr": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Packets received by DR.",
"type": "object"
},
"rxPacketsPerFrequency": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Packets received by frequency.",
"type": "object"
},
"timestamp": {
"description": "Timestamp of the (aggregated) measurement.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiDownlinkFrameLog": {
"properties": {
"gatewayID": {
"description": "Gateway ID.",
"type": "string"
},
"phyPayloadJSON": {
"description": "LoRaWAN PHYPayload.",
"type": "string"
},
"publishedAt": {
"description": "Published at timestamp.",
"format": "date-time",
"type": "string"
},
"txInfo": {
"$ref": "#/definitions/gwDownlinkTXInfo",
"description": "TX information of the downlink."
}
},
"type": "object"
},
"apiEnqueueDeviceQueueItemRequest": {
"properties": {
"deviceQueueItem": {
"$ref": "#/definitions/apiDeviceQueueItem",
"description": "Queue-item object to enqueue."
}
},
"type": "object"
},
"apiEnqueueDeviceQueueItemResponse": {
"properties": {
"fCnt": {
"description": "Frame-counter for the enqueued payload.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"apiEnqueueMulticastQueueItemRequest": {
"properties": {
"multicastQueueItem": {
"$ref": "#/definitions/apiMulticastQueueItem",
"description": "Multicast queue-item object to enqueue."
}
},
"type": "object"
},
"apiEnqueueMulticastQueueItemResponse": {
"properties": {
"fCnt": {
"description": "Frame-counter for the enqueued payload.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"apiFUOTADeployment": {
"properties": {
"dr": {
"description": "Data-rate.",
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "int64",
"type": "integer"
},
"groupType": {
"$ref": "#/definitions/apiMulticastGroupType",
"description": "Multicast type.\nCurrently only Class-C is supported!"
},
"id": {
"description": "ID of the deployment (string formatted UUID).\nThis value will be automatically assigned on create.",
"type": "string"
},
"multicastTimeout": {
"description": "Multicast time-out.\nPlease refer to the Remote Multicast Setup specification as this field\nhas a different meaning for Class-B and Class-C groups.",
"format": "int64",
"type": "integer"
},
"name": {
"description": "Name of the deployment.",
"type": "string"
},
"nextStepAfter": {
"description": "Next step after.\nThis value will be automatically set on create.",
"format": "date-time",
"type": "string"
},
"payload": {
"description": "Payload.",
"format": "byte",
"type": "string"
},
"redundancy": {
"description": "Redundancy (number of packages).",
"format": "int64",
"type": "integer"
},
"state": {
"description": "Deployment state.\nThis value will be automatically set on create.",
"type": "string"
},
"unicastTimeout": {
"description": "Unicast time-out.\nSet this to the value in which you at least expect an uplink frame from the\ndevice. The FUOTA deployment engine will wait at least for the given time\nbefore proceeding with the next steps.",
"type": "string"
}
},
"type": "object"
},
"apiFUOTADeploymentDeviceListItem": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"devEUI": {
"description": "Device EUI (HEX encoded).",
"type": "string"
},
"deviceName": {
"description": "Device name.",
"type": "string"
},
"errorMessage": {
"description": "Error message (in case of error state).",
"type": "string"
},
"state": {
"$ref": "#/definitions/apiFUOTADeploymentDeviceState",
"description": "Device state."
},
"updatedAt": {
"description": "Updated at timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiFUOTADeploymentDeviceState": {
"default": "PENDING",
"description": " - PENDING: Pending.\n - SUCCESS: Success.\n - ERROR: Error.",
"enum": [
"PENDING",
"SUCCESS",
"ERROR"
],
"type": "string"
},
"apiFUOTADeploymentListItem": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "ID of the deployment (string formatted UUID).",
"type": "string"
},
"name": {
"description": "Name of the deployment.",
"type": "string"
},
"nextStepAfter": {
"description": "Next step after.",
"format": "date-time",
"type": "string"
},
"state": {
"description": "Deployment state.",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGCPPubSubIntegration": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"credentialsFile": {
"description": "Credentials file.\nThis IAM service-account credentials file (JSON) must have the following Pub/Sub roles:\n* Pub/Sub Publisher",
"type": "string"
},
"marshaler": {
"$ref": "#/definitions/apiMarshaler",
"description": "Marshaler.\nThis defines the marshaler that is used to encode the event payload."
},
"projectID": {
"description": "Project ID.",
"type": "string"
},
"topicName": {
"description": "Topic name.\nThis is the name of the Pub/Sub topic.",
"type": "string"
}
},
"type": "object"
},
"apiGateway": {
"properties": {
"boards": {
"description": "Gateway boards configuration (optional).\nThis is (currently) only needed when the gateway supports the fine-timestamp\nand you you would like to add the FPGA ID to the gateway meta-data or would\nlike ChirpStack Network Server to decrypt the fine-timestamp.",
"items": {
"$ref": "#/definitions/apiGatewayBoard"
},
"type": "array"
},
"description": {
"description": "Gateway description.",
"type": "string"
},
"discoveryEnabled": {
"description": "Set to true to enable gateway discovery.",
"format": "boolean",
"type": "boolean"
},
"gatewayProfileID": {
"description": "Gateway-profile ID (UUID string, optional).",
"type": "string"
},
"id": {
"description": "Gateway ID (HEX encoded).",
"type": "string"
},
"location": {
"$ref": "#/definitions/commonLocation",
"description": "Gateway location."
},
"metadata": {
"additionalProperties": {
"type": "string"
},
"description": "Metadata (provided by the gateway).",
"type": "object"
},
"name": {
"description": "Gateway name.",
"type": "string"
},
"networkServerID": {
"description": "Network-server ID on which the gateway is provisioned.",
"format": "int64",
"type": "string"
},
"organizationID": {
"description": "Organization ID to which the gateway belongs.\nThis can't be changed after creating the gateway.",
"format": "int64",
"type": "string"
},
"serviceProfileID": {
"description": "Service-profile ID (UUID string, optional).",
"type": "string"
},
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "Tags (user defined).",
"type": "object"
}
},
"type": "object"
},
"apiGatewayBoard": {
"properties": {
"fineTimestampKey": {
"description": "Fine-timestamp AES decryption key (HEX encoded) (optional).",
"type": "string"
},
"fpgaID": {
"description": "FPGA ID of the gateway (HEX encoded) (optional).",
"type": "string"
}
},
"type": "object"
},
"apiGatewayListItem": {
"properties": {
"createdAt": {
"description": "Create timestamp.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the gateway",
"type": "string"
},
"firstSeenAt": {
"description": "First seen timestamp.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "Gateway ID (HEX encoded).",
"type": "string"
},
"lastSeenAt": {
"description": "Last seen timestamp.",
"format": "date-time",
"type": "string"
},
"location": {
"$ref": "#/definitions/commonLocation",
"description": "Location."
},
"name": {
"description": "A name for the gateway",
"type": "string"
},
"networkServerID": {
"description": "Network-server ID.",
"format": "int64",
"type": "string"
},
"networkServerName": {
"description": "Network-server name.",
"type": "string"
},
"organizationID": {
"description": "Organization ID.",
"format": "int64",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGatewayProfile": {
"properties": {
"channels": {
"description": "Default channels (channels specified by the LoRaWAN Regional Parameters\nspecification) enabled for this configuration.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"extraChannels": {
"description": "Extra channels added to the channel-configuration (in case the LoRaWAN\nregion supports adding custom channels).",
"items": {
"$ref": "#/definitions/apiGatewayProfileExtraChannel"
},
"type": "array"
},
"id": {
"description": "Gateway-profile ID (UUID string).",
"type": "string"
},
"name": {
"description": "Name of the gateway-profile.",
"type": "string"
},
"networkServerID": {
"description": "Network-server ID of the gateway-profile.",
"format": "int64",
"type": "string"
},
"statsInterval": {
"description": "Stats interval.\nThis defines the (expected) stats interval which the gateways using this\ngateway-profile are using.",
"type": "string"
}
},
"type": "object"
},
"apiGatewayProfileExtraChannel": {
"properties": {
"bandwidth": {
"description": "Bandwidth.",
"format": "int64",
"type": "integer"
},
"bitrate": {
"description": "Bitrate (in case of FSK modulation).",
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Frequency.",
"format": "int64",
"type": "integer"
},
"modulation": {
"$ref": "#/definitions/commonModulation",
"description": "Modulation."
},
"spreadingFactors": {
"description": "Spreading factors (in case of LoRa modulation).",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"apiGatewayProfileListItem": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "Gateway-profile ID (UUID string).",
"type": "string"
},
"name": {
"description": "Gateway-profile name,",
"type": "string"
},
"networkServerID": {
"description": "Network-server ID on which the gateway-profile is provisioned.",
"format": "int64",
"type": "string"
},
"networkServerName": {
"description": "Network-server name.",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGatewayStats": {
"properties": {
"rxPacketsPerDr": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Rx packets per DR.",
"type": "object"
},
"rxPacketsPerFrequency": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Rx packets per frequency.",
"type": "object"
},
"rxPacketsReceived": {
"description": "Packets received by the gateway.",
"format": "int32",
"type": "integer"
},
"rxPacketsReceivedOK": {
"description": "Packets received by the gateway that passed the CRC check.",
"format": "int32",
"type": "integer"
},
"timestamp": {
"description": "Timestamp of the (aggregated) measurement.",
"format": "date-time",
"type": "string"
},
"txPacketsEmitted": {
"description": "Packets transmitted by the gateway.",
"format": "int32",
"type": "integer"
},
"txPacketsPerDr": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Tx packets per DR.",
"type": "object"
},
"txPacketsPerFrequency": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Tx packets per frequency.",
"type": "object"
},
"txPacketsPerStatus": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Tx packets per status.",
"type": "object"
},
"txPacketsReceived": {
"description": "Packets received by the gateway for transmission.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"apiGenerateGatewayClientCertificateResponse": {
"properties": {
"caCert": {
"description": "CA certificate.",
"type": "string"
},
"expiresAt": {
"description": "Expires at defines the expiration date of the certificate.",
"format": "date-time",
"type": "string"
},
"tlsCert": {
"description": "TLS certificate.",
"type": "string"
},
"tlsKey": {
"description": "TLS key.",
"type": "string"
}
},
"type": "object"
},
"apiGenerateMQTTIntegrationClientCertificateResponse": {
"properties": {
"caCert": {
"description": "CA certificate.",
"type": "string"
},
"expiresAt": {
"description": "Expires at defines the expiration date of the certificate.",
"format": "date-time",
"type": "string"
},
"tlsCert": {
"description": "TLS certificate.",
"type": "string"
},
"tlsKey": {
"description": "TLS key.",
"type": "string"
}
},
"type": "object"
},
"apiGetADRAlgorithmsResponse": {
"properties": {
"adrAlgorithms": {
"items": {
"$ref": "#/definitions/apiADRAlgorithm"
},
"type": "array"
}
},
"type": "object"
},
"apiGetAWSSNSIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiAWSSNSIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetApplicationResponse": {
"properties": {
"application": {
"$ref": "#/definitions/apiApplication",
"description": "Application object."
}
},
"type": "object"
},
"apiGetAzureServiceBusIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiAzureServiceBusIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetDeviceActivationResponse": {
"properties": {
"deviceActivation": {
"$ref": "#/definitions/apiDeviceActivation",
"description": "Device-activation object."
}
},
"type": "object"
},
"apiGetDeviceKeysResponse": {
"properties": {
"deviceKeys": {
"$ref": "#/definitions/apiDeviceKeys",
"description": "Device-key object."
}
},
"type": "object"
},
"apiGetDeviceProfileResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"deviceProfile": {
"$ref": "#/definitions/apiDeviceProfile",
"description": "Device-profile object."
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGetDeviceResponse": {
"properties": {
"device": {
"$ref": "#/definitions/apiDevice",
"description": "Device object."
},
"deviceStatusBattery": {
"description": "The device battery status\n0: The end-device is connected to an external power source\n1..254: The battery level, 1 being at minimum and 254 being at maximum\n255: The end-device was not able to measure the battery level\n256: The device-status is not available.",
"format": "int64",
"type": "integer"
},
"deviceStatusMargin": {
"description": "The device margin status\n-32..32: The demodulation SNR ration in dB\n256: The device-status is not available.",
"format": "int32",
"type": "integer"
},
"lastSeenAt": {
"description": "Last seen timestamp.",
"format": "date-time",
"type": "string"
},
"location": {
"$ref": "#/definitions/commonLocation",
"description": "Device location.\nThis will set when the network-server was able to resolve the location\nusing the geolocation-server."
}
},
"type": "object"
},
"apiGetDeviceStatsResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiDeviceStats"
},
"type": "array"
}
},
"type": "object"
},
"apiGetDevicesSummaryResponse": {
"properties": {
"activeCount": {
"description": "Active count.",
"format": "int64",
"type": "integer"
},
"drCount": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "per data-rate count.\nDevices that have never been seen are excluded.",
"type": "object"
},
"inactiveCount": {
"description": "Inactive count.",
"format": "int64",
"type": "integer"
},
"neverSeenCount": {
"description": "Never seen count.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"apiGetFUOTADeploymentDeviceResponse": {
"properties": {
"deploymentDevice": {
"$ref": "#/definitions/apiFUOTADeploymentDeviceListItem"
}
},
"type": "object"
},
"apiGetFUOTADeploymentResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"fuotaDeployment": {
"$ref": "#/definitions/apiFUOTADeployment"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGetGCPPubSubIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiGCPPubSubIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetGatewayProfileResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"gatewayProfile": {
"$ref": "#/definitions/apiGatewayProfile",
"description": "Gateway-profile object."
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGetGatewayResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"firstSeenAt": {
"description": "First seen at timestamp.",
"format": "date-time",
"type": "string"
},
"gateway": {
"$ref": "#/definitions/apiGateway",
"description": "Gateway object."
},
"lastSeenAt": {
"description": "Last seen at timestamp.",
"format": "date-time",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGetGatewayStatsResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiGatewayStats"
},
"type": "array"
}
},
"type": "object"
},
"apiGetGatewaysSummaryResponse": {
"properties": {
"activeCount": {
"description": "Active count.",
"format": "int64",
"type": "integer"
},
"inactiveCount": {
"description": "Inactive count.",
"format": "int64",
"type": "integer"
},
"neverSeenCount": {
"description": "Never seen count.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"apiGetHTTPIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiHTTPIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetInfluxDBIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiInfluxDBIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetLastPingResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"dr": {
"description": "Data-rate.",
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "int64",
"type": "integer"
},
"pingRX": {
"description": "Gateways and meta-data of reception.",
"items": {
"$ref": "#/definitions/apiPingRX"
},
"type": "array"
}
},
"type": "object"
},
"apiGetLoRaCloudIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiLoRaCloudIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetMulticastGroupResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"multicastGroup": {
"$ref": "#/definitions/apiMulticastGroup",
"description": "Multicast-group object."
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGetMyDevicesIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiMyDevicesIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetNetworkServerResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"networkServer": {
"$ref": "#/definitions/apiNetworkServer",
"description": "Network-server object."
},
"region": {
"description": "The ChirpStack Network Server region configured.",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
},
"version": {
"description": "The ChirpStack Network Server version.",
"type": "string"
}
},
"type": "object"
},
"apiGetOrganizationResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"organization": {
"$ref": "#/definitions/apiOrganization",
"description": "Organization object."
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGetOrganizationUserResponse": {
"description": "Response for a user in the organization",
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"organizationUser": {
"$ref": "#/definitions/apiOrganizationUser",
"description": "Organization-user object."
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGetPilotThingsIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiPilotThingsIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetRandomDevAddrResponse": {
"properties": {
"devAddr": {
"description": "Device address (HEX encoded).",
"type": "string"
}
},
"type": "object"
},
"apiGetServiceProfileResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"serviceProfile": {
"$ref": "#/definitions/apiServiceProfile",
"description": "Service-profile object."
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiGetThingsBoardIntegrationResponse": {
"properties": {
"integration": {
"$ref": "#/definitions/apiThingsBoardIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiGetUserResponse": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
},
"user": {
"$ref": "#/definitions/apiUser",
"description": "User object."
}
},
"type": "object"
},
"apiGlobalSearchResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiGlobalSearchResult"
},
"type": "array"
}
},
"type": "object"
},
"apiGlobalSearchResult": {
"properties": {
"applicationID": {
"description": "Application id.",
"format": "int64",
"type": "string"
},
"applicationName": {
"description": "Application name.",
"type": "string"
},
"deviceDevEUI": {
"description": "Device DevEUI (hex encoded).",
"type": "string"
},
"deviceName": {
"description": "Device name.",
"type": "string"
},
"gatewayMAC": {
"description": "Gateway MAC (hex encoded).",
"type": "string"
},
"gatewayName": {
"description": "Gateway name.",
"type": "string"
},
"kind": {
"description": "Record kind.",
"type": "string"
},
"organizationID": {
"description": "Organization id.",
"format": "int64",
"type": "string"
},
"organizationName": {
"description": "Organization name.",
"type": "string"
},
"score": {
"description": "Search score.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"apiHTTPIntegration": {
"properties": {
"ackNotificationURL": {
"description": "The URL to call for ACK notifications (for confirmed downlink data).\nDeprecated: use event_endpoint_url.",
"type": "string"
},
"applicationID": {
"description": "The id of the application.",
"format": "int64",
"type": "string"
},
"errorNotificationURL": {
"description": "The URL to call for error notifications.\nDeprecated: use event_endpoint_url.",
"type": "string"
},
"eventEndpointURL": {
"description": "Event endpoint URL.\nThe HTTP integration will POST all events to this enpoint. The request\nwill contain a query parameters \"event\" containing the type of the\nevent.",
"type": "string"
},
"headers": {
"description": "The headers to use when making HTTP callbacks.",
"items": {
"$ref": "#/definitions/apiHTTPIntegrationHeader"
},
"type": "array"
},
"integrationNotificationURL": {
"description": "The URL to call for integration notifications.\nDeprecated: use event_endpoint_url.",
"type": "string"
},
"joinNotificationURL": {
"description": "The URL to call for join notifications.\nDeprecated: use event_endpoint_url.",
"type": "string"
},
"locationNotificationURL": {
"description": "The URL to call for location notifications.\nDeprecated: use event_endpoint_url.",
"type": "string"
},
"marshaler": {
"$ref": "#/definitions/apiMarshaler",
"description": "Marshaler.\nThis defines the marshaler that is used to encode the event payload."
},
"statusNotificationURL": {
"description": "The URL to call for device-status notifications.\nDeprecated: use event_endpoint_url.",
"type": "string"
},
"txAckNotificationURL": {
"description": "The URL to call for tx ack notifications (downlink acknowledged by gateway for transmission).\nDeprecated: use event_endpoint_url.",
"type": "string"
},
"uplinkDataURL": {
"description": "The URL to call for uplink data.\nDeprecated: use event_endpoint_url.",
"type": "string"
}
},
"type": "object"
},
"apiHTTPIntegrationHeader": {
"properties": {
"key": {
"description": "Key",
"type": "string"
},
"value": {
"description": "Value",
"type": "string"
}
},
"type": "object"
},
"apiInfluxDBIntegration": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"bucket": {
"description": "Bucket. (InfluxDB v2)",
"type": "string"
},
"db": {
"description": "InfluxDB database name. (InfluxDB v1)",
"type": "string"
},
"endpoint": {
"description": "InfluxDB API write endpoint (e.g. http://localhost:8086/write).",
"type": "string"
},
"organization": {
"description": "Organization. (InfluxDB v2)",
"type": "string"
},
"password": {
"description": "InfluxDB password. (InfluxDB v1)",
"type": "string"
},
"precision": {
"$ref": "#/definitions/apiInfluxDBPrecision",
"description": "InfluxDB timestamp precision (InfluxDB v1)."
},
"retentionPolicyName": {
"description": "InfluxDB retention policy name. (InfluxDB v1)",
"type": "string"
},
"token": {
"description": "Token. (InfluxDB v2)",
"type": "string"
},
"username": {
"description": "InfluxDB username. (InfluxDB v1)",
"type": "string"
},
"version": {
"$ref": "#/definitions/apiInfluxDBVersion",
"description": "InfluxDB version."
}
},
"type": "object"
},
"apiInfluxDBPrecision": {
"default": "NS",
"enum": [
"NS",
"U",
"MS",
"S",
"M",
"H"
],
"type": "string"
},
"apiInfluxDBVersion": {
"default": "INFLUXDB_1",
"enum": [
"INFLUXDB_1",
"INFLUXDB_2"
],
"type": "string"
},
"apiIntegrationKind": {
"default": "HTTP",
"enum": [
"HTTP",
"INFLUXDB",
"THINGSBOARD",
"MYDEVICES",
"LORACLOUD",
"GCP_PUBSUB",
"AWS_SNS",
"AZURE_SERVICE_BUS",
"PILOT_THINGS",
"MQTT_GLOBAL"
],
"type": "string"
},
"apiIntegrationListItem": {
"properties": {
"kind": {
"$ref": "#/definitions/apiIntegrationKind",
"description": "Integration kind."
}
},
"type": "object"
},
"apiListAPIKeysResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiAPIKey"
},
"type": "array"
},
"totalCount": {
"description": "Total number of API keys.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListApplicationResponse": {
"properties": {
"result": {
"description": "Applications within this result-set.",
"items": {
"$ref": "#/definitions/apiApplicationListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of applications available within the result-set.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListDeviceProfileResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiDeviceProfileListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of device-profiles.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListDeviceQueueItemsResponse": {
"properties": {
"deviceQueueItems": {
"description": "The device queue items.",
"items": {
"$ref": "#/definitions/apiDeviceQueueItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of items in the queue.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"apiListDeviceResponse": {
"properties": {
"result": {
"description": "Devices within this result-set.",
"items": {
"$ref": "#/definitions/apiDeviceListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of devices available within the result-set.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListFUOTADeploymentDevicesResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiFUOTADeploymentDeviceListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of devices for the FUOTA deployment.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListFUOTADeploymentResponse": {
"properties": {
"result": {
"description": "Deployments within this result-set.",
"items": {
"$ref": "#/definitions/apiFUOTADeploymentListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of deployments available within the result-set.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListGatewayProfilesResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiGatewayProfileListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of gateway-profiles.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListGatewayResponse": {
"properties": {
"result": {
"description": "Nodes within this result-set.",
"items": {
"$ref": "#/definitions/apiGatewayListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of nodes available within the result-set.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListIntegrationResponse": {
"properties": {
"result": {
"description": "Integrations within result-set.",
"items": {
"$ref": "#/definitions/apiIntegrationListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of integrations available within the result-set.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListMulticastGroupQueueItemsResponse": {
"properties": {
"multicastQueueItems": {
"items": {
"$ref": "#/definitions/apiMulticastQueueItem"
},
"type": "array"
}
},
"type": "object"
},
"apiListMulticastGroupResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiMulticastGroupListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of multicast-groups.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListNetworkServerResponse": {
"properties": {
"result": {
"description": "Network-servers within the result-set.",
"items": {
"$ref": "#/definitions/apiNetworkServerListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of network-servers.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListOrganizationResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiOrganizationListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of organizations.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListOrganizationUsersResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiOrganizationUserListItem"
},
"type": "array"
},
"totalCount": {
"description": "The total number of users in the organization.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListServiceProfileResponse": {
"properties": {
"result": {
"items": {
"$ref": "#/definitions/apiServiceProfileListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of service-profiles.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiListUserResponse": {
"properties": {
"result": {
"description": "Result-set.",
"items": {
"$ref": "#/definitions/apiUserListItem"
},
"type": "array"
},
"totalCount": {
"description": "Total number of users.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiLoRaCloudIntegration": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"das": {
"description": "Device Application Services enabled.",
"format": "boolean",
"type": "boolean"
},
"dasGNSSPort": {
"description": "Device Application Services GNSS port (FPort).\nChirpStack Application Server will forward the FRMPayload to DAS when\nas GNSS payload when the uplink FPort is equal to this value.",
"format": "int64",
"type": "integer"
},
"dasGNSSUseRxTime": {
"description": "Device Application Services GNSS use RX time.\nIn case this is set to true, the DAS resolver will use the RX time of the\nnetwork instead of the timestamp included in the LR1110 payload.",
"format": "boolean",
"type": "boolean"
},
"dasModemPort": {
"description": "Device Application Services modem port (FPort).\nChirpStack Application Server will only forward the FRMPayload to DAS\nwhen the uplink FPort is equal to this value.",
"format": "int64",
"type": "integer"
},
"dasStreamingGeolocWorkaround": {
"description": "Device Application Services streaming geoloc work-around.\nThis is a temporarily work-around for processing streaming geolocation\ndata. When enabled, stream records (expected in TLV format) are scanned\nfor GNSS data (0x06 or 0x07). If found, the ChirpStack Application Server\nwill make an additional call to the DAS API for resolving the location\nusing the detected payload.",
"format": "boolean",
"type": "boolean"
},
"dasToken": {
"description": "Device Application Services token.\nThis token can be obtained from the LoRa Cloud console.",
"type": "string"
},
"geolocation": {
"description": "Geolocation enabled.",
"format": "boolean",
"type": "boolean"
},
"geolocationBufferTTL": {
"description": "Geolocation buffer TTL (in seconds).\nWhen \\u003e 0, uplink RX meta-data will be stored in a buffer so that\nthe meta-data of multiple uplinks can be used for geolocation.",
"format": "int64",
"type": "integer"
},
"geolocationGNSS": {
"description": "GNSS based geolocation is enabled (LR1110).",
"format": "boolean",
"type": "boolean"
},
"geolocationGNSSPayloadField": {
"description": "GNSS payload field.\nThis holds the name of the field in the decoded payload object which\ncontains the GNSS payload bytes.",
"type": "string"
},
"geolocationGNSSUseRxTime": {
"description": "GNSS use RX time.\nIn case this is set to true, the resolver will use the RX time of the\nnetwork instead of the timestamp included in the LR1110 payload.",
"format": "boolean",
"type": "boolean"
},
"geolocationMinBufferSize": {
"description": "Geolocation minimum buffer size.\nWhen \\u003e 0, geolocation will only be performed when the buffer has\nat least the given size.",
"format": "int64",
"type": "integer"
},
"geolocationRSSI": {
"description": "RSSI based geolocation is enabled.",
"format": "boolean",
"type": "boolean"
},
"geolocationTDOA": {
"description": "TDOA based geolocation is enabled.",
"format": "boolean",
"type": "boolean"
},
"geolocationToken": {
"description": "Geolocation token.\nThis token can be obtained from the LoRa Cloud console.",
"type": "string"
},
"geolocationWifi": {
"description": "Wifi based geolocation is enabled.",
"format": "boolean",
"type": "boolean"
},
"geolocationWifiPayloadField": {
"description": "Wifi payload field.\nThis holds the name of the field in the decoded payload object which\ncontains an array of objects with the following fields:\n* macAddress - e.g. 01:23:45:67:89:ab\n* signalStrength - e.g. -51 (optional)",
"type": "string"
}
},
"type": "object"
},
"apiLoginRequest": {
"properties": {
"email": {
"description": "Email of the user.",
"type": "string"
},
"password": {
"description": "Password of the user.",
"type": "string"
}
},
"type": "object"
},
"apiLoginResponse": {
"properties": {
"jwt": {
"description": "The JWT tag to be used to access chirpstack-application-server interfaces.",
"type": "string"
}
},
"type": "object"
},
"apiMarshaler": {
"default": "JSON",
"enum": [
"JSON",
"PROTOBUF",
"JSON_V3"
],
"type": "string"
},
"apiMulticastGroup": {
"properties": {
"applicationID": {
"description": "Application ID.\nAfter creation, this can not be updated.",
"format": "int64",
"type": "string"
},
"dr": {
"description": "Data-rate.",
"format": "int64",
"type": "integer"
},
"fCnt": {
"description": "Frame-counter.",
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "int64",
"type": "integer"
},
"groupType": {
"$ref": "#/definitions/apiMulticastGroupType",
"description": "Multicast type."
},
"id": {
"description": "ID (string formatted UUID).\nThis will be generated automatically on create.",
"type": "string"
},
"mcAddr": {
"description": "Multicast address (HEX encoded DevAddr).",
"type": "string"
},
"mcAppSKey": {
"description": "Multicast application session key (HEX encoded AES128 key).",
"type": "string"
},
"mcNwkSKey": {
"description": "Multicast network session key (HEX encoded AES128 key).",
"type": "string"
},
"name": {
"description": "Multicast-group name.",
"type": "string"
},
"pingSlotPeriod": {
"description": "Ping-slot period.\nMandatory for Class-B multicast groups.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"apiMulticastGroupListItem": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"applicationName": {
"description": "Application name.",
"type": "string"
},
"id": {
"description": "ID (string formatted UUID).",
"type": "string"
},
"name": {
"description": "Multicast-group name.",
"type": "string"
}
},
"type": "object"
},
"apiMulticastGroupType": {
"default": "CLASS_C",
"description": " - CLASS_C: Class-C.\n - CLASS_B: Class-B.",
"enum": [
"CLASS_C",
"CLASS_B"
],
"type": "string"
},
"apiMulticastQueueItem": {
"properties": {
"data": {
"description": "Base64 encoded data.",
"format": "byte",
"type": "string"
},
"fCnt": {
"description": "Downlink frame-counter.\nThis will be automatically set on enqueue.",
"format": "int64",
"type": "integer"
},
"fPort": {
"description": "FPort used (must be \\u003e 0).",
"format": "int64",
"type": "integer"
},
"multicastGroupID": {
"description": "Multicast-group ID (string formatted UUID).",
"type": "string"
}
},
"type": "object"
},
"apiMyDevicesIntegration": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"endpoint": {
"description": "MyDevices API endpoint.",
"type": "string"
}
},
"type": "object"
},
"apiNetworkServer": {
"properties": {
"caCert": {
"description": "CA certificate (optional).",
"type": "string"
},
"gatewayDiscoveryDR": {
"description": "The data-rate of the gateway discovery 'ping'.",
"format": "int64",
"type": "integer"
},
"gatewayDiscoveryEnabled": {
"description": "Enable gateway discovery for this network-server.",
"format": "boolean",
"type": "boolean"
},
"gatewayDiscoveryInterval": {
"description": "The number of times per day the gateway discovery 'ping' must be\nbroadcasted per gateway.",
"format": "int64",
"type": "integer"
},
"gatewayDiscoveryTXFrequency": {
"description": "The frequency (Hz) of the gateway discovery 'ping'.",
"format": "int64",
"type": "integer"
},
"id": {
"description": "Network-server ID.",
"format": "int64",
"type": "string"
},
"name": {
"description": "Network-server name.",
"type": "string"
},
"routingProfileCACert": {
"description": "Routing-profile ca certificate (used by the network-server to connect\nback to the application-server) (optional).",
"type": "string"
},
"routingProfileTLSCert": {
"description": "Routing-profile TLS certificate (used by the network-server to connect\nback to the application-server) (optional).",
"type": "string"
},
"routingProfileTLSKey": {
"description": "Routing-profile TLS key (used by the network-server to connect\nback to the application-server) (optional).",
"type": "string"
},
"server": {
"description": "Network-server server.\nFormat: hostname:ip (e.g. localhost:8000).",
"type": "string"
},
"tlsCert": {
"description": "TLS (client) certificate for connecting to the network-server (optional).",
"type": "string"
},
"tlsKey": {
"description": "TLS (client) key for connecting to the network-server (optional).",
"type": "string"
}
},
"type": "object"
},
"apiNetworkServerListItem": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "Network-server ID.",
"format": "int64",
"type": "string"
},
"name": {
"description": "Network-server name.",
"type": "string"
},
"server": {
"description": "Network-server server.\nFormat: hostname:ip (e.g. localhost:8000).",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiOpenIDConnect": {
"properties": {
"enabled": {
"description": "Enable OpenID Connect authentication.",
"format": "boolean",
"type": "boolean"
},
"loginLabel": {
"description": "Login label.",
"type": "string"
},
"loginURL": {
"description": "Login url.",
"type": "string"
},
"logoutURL": {
"description": "Logout url.",
"type": "string"
}
},
"type": "object"
},
"apiOpenIDConnectLoginResponse": {
"properties": {
"jwtToken": {
"description": "JWT token to use for authentication.",
"type": "string"
}
},
"type": "object"
},
"apiOrganization": {
"properties": {
"canHaveGateways": {
"description": "Can the organization create and \"own\" Gateways?",
"format": "boolean",
"type": "boolean"
},
"displayName": {
"description": "Organization display name.",
"type": "string"
},
"id": {
"description": "Organization ID.",
"format": "int64",
"type": "string"
},
"maxDeviceCount": {
"description": "Max. device count for organization.\nWhen set to 0, the organization can have unlimited devices.",
"format": "int64",
"type": "integer"
},
"maxGatewayCount": {
"description": "Max. gateway count for organization.\nWhen set to 0, the organization can have unlimited gateways.",
"format": "int64",
"type": "integer"
},
"name": {
"description": "Organization name.",
"type": "string"
}
},
"type": "object"
},
"apiOrganizationLink": {
"description": "Defines an organization to which an user is associated.",
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"isAdmin": {
"description": "User is admin within the context of this organization.\nThere is no need to set the is_device_admin and is_gateway_admin flags.",
"format": "boolean",
"type": "boolean"
},
"isDeviceAdmin": {
"description": "User is able to modify device related resources (applications,\ndevice-profiles, devices, multicast-groups).",
"format": "boolean",
"type": "boolean"
},
"isGatewayAdmin": {
"description": "User is able to modify gateways.",
"format": "boolean",
"type": "boolean"
},
"organizationID": {
"description": "Organization ID.",
"format": "int64",
"type": "string"
},
"organizationName": {
"description": "Organization name.",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiOrganizationListItem": {
"properties": {
"canHaveGateways": {
"description": "Can the organization create and \"own\" Gateways?",
"format": "boolean",
"type": "boolean"
},
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"displayName": {
"description": "Organization display name.",
"type": "string"
},
"id": {
"description": "Organization ID.",
"format": "int64",
"type": "string"
},
"name": {
"description": "Organization name.",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiOrganizationUser": {
"properties": {
"email": {
"description": "Email (only used on get and when adding a user to an organization).",
"type": "string"
},
"isAdmin": {
"description": "User is admin within the context of the organization.\nThere is no need to set the is_device_admin and is_gateway_admin flags.",
"format": "boolean",
"type": "boolean"
},
"isDeviceAdmin": {
"description": "User is able to modify device related resources (applications,\ndevice-profiles, devices, multicast-groups).",
"format": "boolean",
"type": "boolean"
},
"isGatewayAdmin": {
"description": "User is able to modify gateways.",
"format": "boolean",
"type": "boolean"
},
"organizationID": {
"description": "Organization ID.",
"format": "int64",
"type": "string"
},
"userID": {
"description": "User ID.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiOrganizationUserListItem": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"email": {
"description": "Email.",
"type": "string"
},
"isAdmin": {
"description": "User is admin within the context of the organization.\nThere is no need to set the is_device_admin and is_gateway_admin flags.",
"format": "boolean",
"type": "boolean"
},
"isDeviceAdmin": {
"description": "User is able to modify device related resources (applications,\ndevice-profiles, devices, multicast-groups).",
"format": "boolean",
"type": "boolean"
},
"isGatewayAdmin": {
"description": "User is able to modify gateways.",
"format": "boolean",
"type": "boolean"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
},
"userID": {
"description": "User ID.\nThis is not used on create, you must set the user email address\nassociated with the user to add an user to an organization.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiPilotThingsIntegration": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"server": {
"description": "Server URL",
"type": "string"
},
"token": {
"description": "Authentication token",
"type": "string"
}
},
"type": "object"
},
"apiPingRX": {
"properties": {
"altitude": {
"description": "Altitude of the gateway in meters.",
"format": "double",
"type": "number"
},
"gatewayID": {
"description": "Gateway ID (HEX encoded).",
"type": "string"
},
"latitude": {
"description": "Latitude of the gateway -90.0 to 90.0.",
"format": "double",
"type": "number"
},
"loRaSNR": {
"description": "LoRa SNR.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "Longitude of the gateway -180.0 to 180.0.",
"format": "double",
"type": "number"
},
"rssi": {
"description": "RSSI.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"apiProfileResponse": {
"properties": {
"organizations": {
"description": "Organizations to which the user is associated.",
"items": {
"$ref": "#/definitions/apiOrganizationLink"
},
"type": "array"
},
"user": {
"$ref": "#/definitions/apiUser",
"description": "User object."
}
},
"type": "object"
},
"apiRatePolicy": {
"default": "DROP",
"description": "- DROP: Drop\n - MARK: Mark",
"enum": [
"DROP",
"MARK"
],
"type": "string"
},
"apiServiceProfile": {
"properties": {
"addGWMetaData": {
"description": "GW metadata (RSSI, SNR, GW geoloc., etc.) are added to the packet sent to AS.",
"format": "boolean",
"type": "boolean"
},
"channelMask": {
"description": "Channel mask. sNS does not have to obey (i.e., informative).",
"format": "byte",
"type": "string"
},
"devStatusReqFreq": {
"description": "Frequency to initiate an End-Device status request (request/day).",
"format": "int64",
"type": "integer"
},
"dlBucketSize": {
"description": "Token bucket burst size.",
"format": "int64",
"type": "integer"
},
"dlRate": {
"description": "Token bucket filling rate, including ACKs (packet/h).",
"format": "int64",
"type": "integer"
},
"dlRatePolicy": {
"$ref": "#/definitions/apiRatePolicy",
"description": "Drop or mark when exceeding DLRate."
},
"drMax": {
"description": "Maximum allowed data rate. Used for ADR.",
"format": "int64",
"type": "integer"
},
"drMin": {
"description": "Minimum allowed data rate. Used for ADR.",
"format": "int64",
"type": "integer"
},
"gwsPrivate": {
"description": "Gateways under this service-profile are private.\nThis means that these gateways can only be used by devices under the\nsame service-profile.",
"format": "boolean",
"type": "boolean"
},
"hrAllowed": {
"description": "Handover Roaming allowed.",
"format": "boolean",
"type": "boolean"
},
"id": {
"description": "Service-profile ID (UUID string).\nThis will be automatically set on create.",
"type": "string"
},
"minGWDiversity": {
"description": "Minimum number of receiving GWs (informative).",
"format": "int64",
"type": "integer"
},
"name": {
"description": "Service-profile name.",
"type": "string"
},
"networkServerID": {
"description": "Network-server ID on which the service-profile is provisioned.",
"format": "int64",
"type": "string"
},
"nwkGeoLoc": {
"description": "Enable network geolocation service.",
"format": "boolean",
"type": "boolean"
},
"organizationID": {
"description": "Organization ID to which the service-profile is assigned.",
"format": "int64",
"type": "string"
},
"prAllowed": {
"description": "Passive Roaming allowed.",
"format": "boolean",
"type": "boolean"
},
"raAllowed": {
"description": "Roaming Activation allowed.",
"format": "boolean",
"type": "boolean"
},
"reportDevStatusBattery": {
"description": "Report End-Device battery level to AS.",
"format": "boolean",
"type": "boolean"
},
"reportDevStatusMargin": {
"description": "Report End-Device margin to AS.",
"format": "boolean",
"type": "boolean"
},
"targetPER": {
"description": "Target Packet Error Rate.",
"format": "int64",
"type": "integer"
},
"ulBucketSize": {
"description": "Token bucket burst size.",
"format": "int64",
"type": "integer"
},
"ulRate": {
"description": "Token bucket filling rate, including ACKs (packet/h).",
"format": "int64",
"type": "integer"
},
"ulRatePolicy": {
"$ref": "#/definitions/apiRatePolicy",
"description": "Drop or mark when exceeding ULRate."
}
},
"type": "object"
},
"apiServiceProfileListItem": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "Service-profile ID (UUID string).",
"type": "string"
},
"name": {
"description": "Service-profile name.",
"type": "string"
},
"networkServerID": {
"description": "Network-server ID of the service-profile.",
"format": "int64",
"type": "string"
},
"networkServerName": {
"description": "Network-server name of the service-profile.",
"type": "string"
},
"organizationID": {
"description": "Organization ID of the service-profile.",
"format": "int64",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiSettingsResponse": {
"properties": {
"branding": {
"$ref": "#/definitions/apiBranding",
"description": "Branding settings."
},
"openidConnect": {
"$ref": "#/definitions/apiOpenIDConnect",
"description": "OpenID Connect settings."
}
},
"type": "object"
},
"apiStreamDeviceEventLogsResponse": {
"properties": {
"payloadJSON": {
"description": "The event payload in JSON encoding.",
"type": "string"
},
"publishedAt": {
"description": "Published at timestamp.",
"format": "date-time",
"type": "string"
},
"streamID": {
"description": "Stream ID.",
"type": "string"
},
"type": {
"description": "The event type.",
"type": "string"
}
},
"type": "object"
},
"apiStreamDeviceFrameLogsResponse": {
"properties": {
"downlinkFrame": {
"$ref": "#/definitions/apiDownlinkFrameLog",
"description": "Contains a downlink frame."
},
"uplinkFrame": {
"$ref": "#/definitions/apiUplinkFrameLog",
"description": "Contains an uplink frame."
}
},
"type": "object"
},
"apiStreamGatewayFrameLogsResponse": {
"properties": {
"downlinkFrame": {
"$ref": "#/definitions/apiDownlinkFrameLog",
"description": "Contains a downlink frame."
},
"uplinkFrame": {
"$ref": "#/definitions/apiUplinkFrameLog",
"description": "Contains an uplink frame."
}
},
"type": "object"
},
"apiThingsBoardIntegration": {
"properties": {
"applicationID": {
"description": "Application ID.",
"format": "int64",
"type": "string"
},
"server": {
"description": "ThingsBoard server endpoint, e.g. https://example.com",
"type": "string"
}
},
"type": "object"
},
"apiUpdateAWSSNSIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiAWSSNSIntegration",
"description": "Integration object to update."
}
},
"type": "object"
},
"apiUpdateApplicationRequest": {
"properties": {
"application": {
"$ref": "#/definitions/apiApplication",
"description": "Application object to update."
}
},
"type": "object"
},
"apiUpdateAzureServiceBusIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiAzureServiceBusIntegration",
"description": "Integration object to update."
}
},
"type": "object"
},
"apiUpdateDeviceKeysRequest": {
"properties": {
"deviceKeys": {
"$ref": "#/definitions/apiDeviceKeys",
"description": "Device-keys object to update."
}
},
"type": "object"
},
"apiUpdateDeviceProfileRequest": {
"properties": {
"deviceProfile": {
"$ref": "#/definitions/apiDeviceProfile",
"description": "Device-profile object to update."
}
},
"type": "object"
},
"apiUpdateDeviceRequest": {
"properties": {
"device": {
"$ref": "#/definitions/apiDevice",
"description": "Device object to update."
}
},
"type": "object"
},
"apiUpdateGCPPubSubIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiGCPPubSubIntegration",
"description": "Integration object to update."
}
},
"type": "object"
},
"apiUpdateGatewayProfileRequest": {
"properties": {
"gatewayProfile": {
"$ref": "#/definitions/apiGatewayProfile",
"description": "Gateway-profile object to update."
}
},
"type": "object"
},
"apiUpdateGatewayRequest": {
"properties": {
"gateway": {
"$ref": "#/definitions/apiGateway",
"description": "Gateway object to update."
}
},
"type": "object"
},
"apiUpdateHTTPIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiHTTPIntegration",
"description": "Integration object to update."
}
},
"type": "object"
},
"apiUpdateInfluxDBIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiInfluxDBIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiUpdateLoRaCloudIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiLoRaCloudIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiUpdateMulticastGroupRequest": {
"properties": {
"multicastGroup": {
"$ref": "#/definitions/apiMulticastGroup",
"description": "Multicast-group object to update."
}
},
"type": "object"
},
"apiUpdateMyDevicesIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiMyDevicesIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiUpdateNetworkServerRequest": {
"properties": {
"networkServer": {
"$ref": "#/definitions/apiNetworkServer",
"description": "Network-server object to update."
}
},
"type": "object"
},
"apiUpdateOrganizationRequest": {
"properties": {
"organization": {
"$ref": "#/definitions/apiOrganization",
"description": "Organization object to update."
}
},
"type": "object"
},
"apiUpdateOrganizationUserRequest": {
"properties": {
"organizationUser": {
"$ref": "#/definitions/apiOrganizationUser",
"description": "Organization-user object to update."
}
},
"type": "object"
},
"apiUpdatePilotThingsIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiPilotThingsIntegration",
"description": "Integration object to update."
}
},
"type": "object"
},
"apiUpdateServiceProfileRequest": {
"properties": {
"serviceProfile": {
"$ref": "#/definitions/apiServiceProfile",
"description": "Service-profile object to update."
}
},
"type": "object"
},
"apiUpdateThingsBoardIntegrationRequest": {
"properties": {
"integration": {
"$ref": "#/definitions/apiThingsBoardIntegration",
"description": "Integration object."
}
},
"type": "object"
},
"apiUpdateUserPasswordRequest": {
"properties": {
"password": {
"description": "New pasword.",
"type": "string"
},
"userId": {
"description": "User ID.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"apiUpdateUserRequest": {
"properties": {
"user": {
"$ref": "#/definitions/apiUser",
"description": "User object to update."
}
},
"type": "object"
},
"apiUplinkFrameLog": {
"properties": {
"phyPayloadJSON": {
"description": "LoRaWAN PHYPayload.",
"type": "string"
},
"publishedAt": {
"description": "Published at timestamp.",
"format": "date-time",
"type": "string"
},
"rxInfo": {
"description": "RX information of the uplink.",
"items": {
"$ref": "#/definitions/gwUplinkRXInfo"
},
"type": "array"
},
"txInfo": {
"$ref": "#/definitions/gwUplinkTXInfo",
"description": "TX information of the uplink."
}
},
"type": "object"
},
"apiUser": {
"properties": {
"email": {
"description": "E-mail of the user.",
"type": "string"
},
"id": {
"description": "User ID.\nWill be set automatically on create.",
"format": "int64",
"type": "string"
},
"isActive": {
"description": "Set to false to disable the user.",
"format": "boolean",
"type": "boolean"
},
"isAdmin": {
"description": "Set to true to make the user a global administrator.",
"format": "boolean",
"type": "boolean"
},
"note": {
"description": "Optional note to store with the user.",
"type": "string"
},
"sessionTTL": {
"description": "The session timeout, in minutes.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"apiUserListItem": {
"properties": {
"createdAt": {
"description": "Created at timestamp.",
"format": "date-time",
"type": "string"
},
"email": {
"description": "Email of the user.",
"type": "string"
},
"id": {
"description": "User ID.\nWill be set automatically on create.",
"format": "int64",
"type": "string"
},
"isActive": {
"description": "Set to false to disable the user.",
"format": "boolean",
"type": "boolean"
},
"isAdmin": {
"description": "Set to true to make the user a global administrator.",
"format": "boolean",
"type": "boolean"
},
"sessionTTL": {
"description": "The session timeout, in minutes.",
"format": "int32",
"type": "integer"
},
"updatedAt": {
"description": "Last update timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"apiUserOrganization": {
"properties": {
"isAdmin": {
"description": "User is admin within the context of the organization.\nThere is no need to set the is_device_admin and is_gateway_admin flags.",
"format": "boolean",
"type": "boolean"
},
"isDeviceAdmin": {
"description": "User is able to modify device related resources (applications,\ndevice-profiles, devices, multicast-groups).",
"format": "boolean",
"type": "boolean"
},
"isGatewayAdmin": {
"description": "User is able to modify gateways.",
"format": "boolean",
"type": "boolean"
},
"organizationID": {
"description": "Organization ID.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"commonLocation": {
"properties": {
"accuracy": {
"description": "Accuracy (in meters).",
"format": "int64",
"type": "integer"
},
"altitude": {
"description": "Altitude.",
"format": "double",
"type": "number"
},
"latitude": {
"description": "Latitude.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "Longitude.",
"format": "double",
"type": "number"
},
"source": {
"$ref": "#/definitions/commonLocationSource",
"description": "Location source."
}
},
"type": "object"
},
"commonLocationSource": {
"default": "UNKNOWN",
"description": " - UNKNOWN: Unknown.\n - GPS: GPS.\n - CONFIG: Manually configured.\n - GEO_RESOLVER_TDOA: Geo resolver (TDOA).\n - GEO_RESOLVER_RSSI: Geo resolver (RSSI).\n - GEO_RESOLVER_GNSS: Geo resolver (GNSS).\n - GEO_RESOLVER_WIFI: Geo resolver (WIFI).",
"enum": [
"UNKNOWN",
"GPS",
"CONFIG",
"GEO_RESOLVER_TDOA",
"GEO_RESOLVER_RSSI",
"GEO_RESOLVER_GNSS",
"GEO_RESOLVER_WIFI"
],
"type": "string"
},
"commonModulation": {
"default": "LORA",
"description": "- LORA: LoRa\n - FSK: FSK\n - LR_FHSS: LR-FHSS",
"enum": [
"LORA",
"FSK",
"LR_FHSS"
],
"type": "string"
},
"gwCRCStatus": {
"default": "NO_CRC",
"description": " - NO_CRC: No CRC.\n - BAD_CRC: Bad CRC.\n - CRC_OK: CRC OK.",
"enum": [
"NO_CRC",
"BAD_CRC",
"CRC_OK"
],
"type": "string"
},
"gwDelayTimingInfo": {
"properties": {
"delay": {
"description": "Delay (duration).\nThe delay will be added to the gateway internal timing, provided by the context object.",
"type": "string"
}
},
"type": "object"
},
"gwDownlinkTXInfo": {
"properties": {
"antenna": {
"description": "The antenna identifier for emitting the frame.",
"format": "int64",
"type": "integer"
},
"board": {
"description": "The board identifier for emitting the frame.",
"format": "int64",
"type": "integer"
},
"context": {
"description": "Gateway specific context.\nIn case of a Class-A downlink, this contains a copy of the uplink context.",
"format": "byte",
"type": "string"
},
"delayTimingInfo": {
"$ref": "#/definitions/gwDelayTimingInfo",
"description": "Context based delay timing information."
},
"frequency": {
"description": "TX frequency (in Hz).",
"format": "int64",
"type": "integer"
},
"fskModulationInfo": {
"$ref": "#/definitions/gwFSKModulationInfo",
"description": "FSK modulation information."
},
"gatewayID": {
"description": "Gateway ID.\nDeprecated: replaced by gateway_id in DownlinkFrame.",
"format": "byte",
"type": "string"
},
"gpsEpochTimingInfo": {
"$ref": "#/definitions/gwGPSEpochTimingInfo",
"description": "GPS Epoch timing information."
},
"immediatelyTimingInfo": {
"$ref": "#/definitions/gwImmediatelyTimingInfo",
"description": "Immediately timing information."
},
"loRaModulationInfo": {
"$ref": "#/definitions/gwLoRaModulationInfo",
"description": "LoRa modulation information."
},
"modulation": {
"$ref": "#/definitions/commonModulation",
"description": "Modulation."
},
"power": {
"description": "TX power (in dBm).",
"format": "int32",
"type": "integer"
},
"timing": {
"$ref": "#/definitions/gwDownlinkTiming",
"description": "Timing defines the downlink timing to use."
}
},
"type": "object"
},
"gwDownlinkTiming": {
"default": "IMMEDIATELY",
"description": " - IMMEDIATELY: Send the downlink immediately.\n - DELAY: Send downlink at the given delay (based on provided context).\n - GPS_EPOCH: Send at given GPS epoch value.",
"enum": [
"IMMEDIATELY",
"DELAY",
"GPS_EPOCH"
],
"type": "string"
},
"gwEncryptedFineTimestamp": {
"properties": {
"aesKeyIndex": {
"description": "AES key index used for encrypting the fine timestamp.",
"format": "int64",
"type": "integer"
},
"encryptedNS": {
"description": "Encrypted 'main' fine-timestamp (ns precision part of the timestamp).",
"format": "byte",
"type": "string"
},
"fpgaID": {
"description": "FPGA ID.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"gwFSKModulationInfo": {
"properties": {
"datarate": {
"description": "FSK datarate (bits / sec).",
"format": "int64",
"type": "integer"
},
"frequencyDeviation": {
"description": "Frequency deviation.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"gwFineTimestampType": {
"default": "NONE",
"description": " - NONE: No fine-timestamp available.\n - ENCRYPTED: Encrypted fine-timestamp.\n - PLAIN: Plain fine-timestamp.",
"enum": [
"NONE",
"ENCRYPTED",
"PLAIN"
],
"type": "string"
},
"gwGPSEpochTimingInfo": {
"properties": {
"timeSinceGPSEpoch": {
"description": "Duration since GPS Epoch.",
"type": "string"
}
},
"type": "object"
},
"gwImmediatelyTimingInfo": {
"type": "object"
},
"gwLRFHSSModulationInfo": {
"properties": {
"codeRate": {
"description": "Code-rate.",
"type": "string"
},
"gridSteps": {
"description": "Hopping grid number of steps.",
"format": "int64",
"type": "integer"
},
"operatingChannelWidth": {
"description": "Operating channel width (OCW) in Hz.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"gwLoRaModulationInfo": {
"properties": {
"bandwidth": {
"description": "Bandwidth.",
"format": "int64",
"type": "integer"
},
"codeRate": {
"description": "Code-rate.",
"type": "string"
},
"polarizationInversion": {
"description": "Polarization inversion.",
"format": "boolean",
"type": "boolean"
},
"spreadingFactor": {
"description": "Speading-factor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"gwPlainFineTimestamp": {
"properties": {
"time": {
"description": "Full timestamp.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"gwUplinkRXInfo": {
"properties": {
"antenna": {
"description": "Antenna.",
"format": "int64",
"type": "integer"
},
"board": {
"description": "Board.",
"format": "int64",
"type": "integer"
},
"channel": {
"description": "Channel.",
"format": "int64",
"type": "integer"
},
"context": {
"description": "Gateway specific context.",
"format": "byte",
"type": "string"
},
"crcStatus": {
"$ref": "#/definitions/gwCRCStatus",
"description": "CRC status."
},
"encryptedFineTimestamp": {
"$ref": "#/definitions/gwEncryptedFineTimestamp",
"description": "Encrypted fine-timestamp data."
},
"fineTimestampType": {
"$ref": "#/definitions/gwFineTimestampType",
"description": "Fine-timestamp type."
},
"gatewayID": {
"description": "Gateway ID.",
"format": "byte",
"type": "string"
},
"loRaSNR": {
"description": "LoRa SNR.",
"format": "double",
"type": "number"
},
"location": {
"$ref": "#/definitions/commonLocation",
"description": "Location."
},
"plainFineTimestamp": {
"$ref": "#/definitions/gwPlainFineTimestamp",
"description": "Plain fine-timestamp data."
},
"rfChain": {
"description": "RF Chain.",
"format": "int64",
"type": "integer"
},
"rssi": {
"description": "RSSI.",
"format": "int32",
"type": "integer"
},
"time": {
"description": "RX time (only set when the gateway has a GPS module).",
"format": "date-time",
"type": "string"
},
"timeSinceGPSEpoch": {
"description": "RX time since GPS epoch (only set when the gateway has a GPS module).",
"type": "string"
},
"uplinkID": {
"description": "Uplink ID (UUID bytes).\nUnique and random ID which can be used to correlate the uplink across multiple logs.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"gwUplinkTXInfo": {
"properties": {
"frequency": {
"description": "Frequency (Hz).",
"format": "int64",
"type": "integer"
},
"fskModulationInfo": {
"$ref": "#/definitions/gwFSKModulationInfo",
"description": "FSK modulation information."
},
"loRaModulationInfo": {
"$ref": "#/definitions/gwLoRaModulationInfo",
"description": "LoRa modulation information."
},
"lrFHSSModulationInfo": {
"$ref": "#/definitions/gwLRFHSSModulationInfo",
"description": "LR-FHSS modulation information."
},
"modulation": {
"$ref": "#/definitions/commonModulation",
"description": "Modulation."
}
},
"type": "object"
},
"protobufAny": {
"properties": {
"typeUrl": {
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"runtimeStreamError": {
"properties": {
"details": {
"items": {
"$ref": "#/definitions/protobufAny"
},
"type": "array"
},
"grpcCode": {
"format": "int32",
"type": "integer"
},
"httpCode": {
"format": "int32",
"type": "integer"
},
"httpStatus": {
"type": "string"
},
"message": {
"type": "string"
}
},
"type": "object"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment