115 KiB
Vendored
Protocol Documentation
Table of Contents
api/application.proto
Application
Field | Type | Label | Description |
---|---|---|---|
id | string | Application ID (UUID). Note: on create this will be automatically generated. | |
name | string | Application name. | |
description | string | Application description. | |
tenant_id | string | Tenant ID (UUID). |
ApplicationListItem
Field | Type | Label | Description |
---|---|---|---|
id | string | Application ID (UUID). | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
name | string | Application name. | |
description | string | Application description. |
AwsSnsIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
encoding | Encoding | Encoding. | |
region | string | AWS region. | |
access_key_id | string | AWS Access Key ID. | |
secret_access_key | string | AWS Secret Access Key. | |
topic_arn | string | Topic ARN. |
AzureServiceBusIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
encoding | Encoding | Encoding. | |
connection_string | string | Connection string. | |
publish_name | string | Publish name. This is the name of the topic or queue. |
CreateApplicationRequest
Field | Type | Label | Description |
---|---|---|---|
application | Application | Application object to create. |
CreateApplicationResponse
Field | Type | Label | Description |
---|---|---|---|
id | string | Application ID (UUID). |
CreateAwsSnsIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | AwsSnsIntegration | Integration object to create. |
CreateAzureServiceBusIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | AzureServiceBusIntegration | Integration object to create. |
CreateGcpPubSubIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | GcpPubSubIntegration | Integration object to create. |
CreateHttpIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | HttpIntegration | Integration object to create. |
CreateIftttIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | IftttIntegration | Integration object. |
CreateInfluxDbIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | InfluxDbIntegration | Integration object to create. |
CreateLoraCloudIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | LoraCloudIntegration | Integration object to create. |
CreateMyDevicesIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | MyDevicesIntegration | Integration object to create. |
CreatePilotThingsIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | PilotThingsIntegration | Integration object to create. |
CreateThingsBoardIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | ThingsBoardIntegration | Integration object to create. |
DeleteApplicationRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | Application ID (UUID). |
DeleteAwsSnsIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeleteAzureServiceBusIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeleteGcpPubSubIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeleteHttpIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeleteIftttIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeleteInfluxDbIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeleteLoraCloudIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeleteMyDevicesIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeletePilotThingsIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
DeleteThingsBoardIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GcpPubSubIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
encoding | Encoding | Encoding. | |
credentials_file | string | Credentials file. This IAM service-account credentials file (JSON) must have the following Pub/Sub roles: * Pub/Sub Publisher | |
project_id | string | Project ID. | |
topic_name | string | Topic name. This is the name of the Pub/Sub topic. |
GenerateMqttIntegrationClientCertificateRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GenerateMqttIntegrationClientCertificateResponse
Field | Type | Label | Description |
---|---|---|---|
tls_cert | string | TLS certificate. | |
tls_key | string | TLS key. | |
ca_cert | string | CA certificate. | |
expires_at | google.protobuf.Timestamp | Expires at defines the expiration date of the certificate. |
GetApplicationRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | Application ID (UUID). |
GetApplicationResponse
Field | Type | Label | Description |
---|---|---|---|
application | Application | Application object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
measurement_keys | string | repeated | Measurement keys. This contains the measurement keys from all the device-profiles that are used by the devices under this application. |
GetAwsSnsIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetAwsSnsIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | AwsSnsIntegration | Integration object. |
GetAzureServiceBusIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetAzureServiceBusIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | AzureServiceBusIntegration | Integration object. |
GetGcpPubSubIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetGcpPubSubIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | GcpPubSubIntegration | Integration object. |
GetHttpIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetHttpIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | HttpIntegration | Integration object. |
GetIftttIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetIftttIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | IftttIntegration | Integration object. |
GetInfluxDbIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetInfluxDbIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | InfluxDbIntegration | Integration object. |
GetLoraCloudIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetLoraCloudIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | LoraCloudIntegration | Integration object. |
GetMyDevicesIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetMyDevicesIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | MyDevicesIntegration | Integration object. |
GetPilotThingsIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetPilotThingsIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | PilotThingsIntegration | Integration object. |
GetThingsBoardIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
GetThingsBoardIntegrationResponse
Field | Type | Label | Description |
---|---|---|---|
integration | ThingsBoardIntegration | Integration object. |
HttpIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
headers | HttpIntegration.HeadersEntry | repeated | HTTP headers to set when making requests. |
encoding | Encoding | Payload encoding. | |
event_endpoint_url | string | Event endpoint URL. The HTTP integration will POST all events to this enpoint. The request will contain a query parameters "event" containing the type of the event. |
HttpIntegration.HeadersEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
IftttIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
key | string | Key. This key can be obtained from the IFTTT Webhooks documentation page. | |
uplink_values | string | repeated | Values. Up to 2 values can be forwarded to IFTTT. These values must map to the decoded payload keys. For example: { "batteryLevel": 75.3, "buttons": [{"pressed": false}, {"pressed": true}] } You would specify the following fields: uplink_values = ["batteryLevel", "buttons_0_pressed"] |
Note: The first value is always used for the DevEUI. |
InfluxDbIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
endpoint | string | InfluxDb API write endpoint (e.g. http://localhost:8086/write). | |
db | string | InfluxDb database name. (InfluxDb v1) | |
username | string | InfluxDb username. (InfluxDb v1) | |
password | string | InfluxDb password. (InfluxDb v1) | |
retention_policy_name | string | InfluxDb retention policy name. (InfluxDb v1) | |
precision | InfluxDbPrecision | InfluxDb timestamp precision (InfluxDb v1). | |
version | InfluxDbVersion | InfluxDb version. | |
token | string | Token. (InfluxDb v2) | |
organization | string | Organization. (InfluxDb v2) | |
bucket | string | Bucket. (InfluxDb v2) |
IntegrationListItem
Field | Type | Label | Description |
---|---|---|---|
kind | IntegrationKind | Integration kind. |
ListApplicationsRequest
Field | Type | Label | Description |
---|---|---|---|
limit | uint32 | Max number of applications to return in the result-set. | |
offset | uint32 | Offset in the result-set (for pagination). | |
search | string | If set, the given string will be used to search on name (optional). | |
tenant_id | string | Tenant ID to list the applications for. |
ListApplicationsResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of applications. | |
result | ApplicationListItem | repeated | Result-set. |
ListIntegrationsRequest
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). |
ListIntegrationsResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of integrations available within the result-set. | |
result | IntegrationListItem | repeated | Integrations within result-set. |
LoraCloudIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
modem_geolocation_services | LoraCloudModemGeolocationServices | Modem & Geolocation Services configuration. |
LoraCloudModemGeolocationServices
Field | Type | Label | Description |
---|---|---|---|
token | string | API token. | |
modem_enabled | bool | Device implements Modem / Modem-E stack. | |
forward_f_ports | uint32 | repeated | Forward FPorts. Forward uplink messages matching the given FPorts to the MGS. |
gnss_use_rx_time | bool | Use rx time for GNSS resolving. In case this is set to true, the MGS resolver will use the RX time of the network instead of the timestamp included in the LR1110 payload. | |
gnss_use_gateway_location | bool | Use gateway location for GNSS resolving. In the case this is set to true, ChirpStack will provide the location of one of the gateways to the MGS resolver to aid the resolving process. Disable this in case the gateway location is not accurate / incorrectly configured as an incorrect location will cause the resolver to return an error. | |
parse_tlv | bool | Parse TLV records. If enabled, stream records (expected in TLV format) are scanned for GNSS data (0x06 or 0x07). If found, ChirpStack will make an additional geolocation call to the MGS API for resolving the location of the detected payload. | |
geolocation_buffer_ttl | uint32 | Geolocation buffer TTL (in seconds). If > 0, uplink RX meta-data will be stored in a buffer so that the meta-data of multiple uplinks can be used for geolocation. | |
geolocation_min_buffer_size | uint32 | Geolocation minimum buffer size. If > 0, geolocation will only be performed when the buffer has at least the given size. | |
geolocation_tdoa | bool | TDOA based geolocation is enabled. | |
geolocation_rssi | bool | RSSI based geolocation is enabled. | |
geolocation_gnss | bool | GNSS based geolocation is enabled (LR1110). | |
geolocation_gnss_payload_field | string | GNSS payload field. This holds the name of the field in the decoded payload object which contains the GNSS payload bytes (as HEX string). | |
geolocation_gnss_use_rx_time | bool | GNSS use RX time. In case this is set to true, the resolver will use the RX time of the network instead of the timestamp included in the LR1110 payload. | |
geolocation_wifi | bool | Wifi based geolocation is enabled. | |
geolocation_wifi_payload_field | string | Wifi payload field. This holds the name of the field in the decoded payload object which contains an array of objects with the following fields: * macAddress - e.g. 01:23:45:67:89:ab * signalStrength - e.g. -51 (optional) |
MyDevicesIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
endpoint | string | myDevices API endpoint. |
PilotThingsIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
server | string | Server URL. | |
token | string | Authentication token. |
ThingsBoardIntegration
Field | Type | Label | Description |
---|---|---|---|
application_id | string | Application ID (UUID). | |
server | string | ThingsBoard server endpoint, e.g. https://example.com |
UpdateApplicationRequest
Field | Type | Label | Description |
---|---|---|---|
application | Application | Application object. |
UpdateAwsSnsIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | AwsSnsIntegration | Integration object to update. |
UpdateAzureServiceBusIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | AzureServiceBusIntegration | Integration object to create. |
UpdateGcpPubSubIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | GcpPubSubIntegration | Integration object to update. |
UpdateHttpIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | HttpIntegration | Integration object to update. |
UpdateIftttIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | IftttIntegration | Integration object to update. |
UpdateInfluxDbIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | InfluxDbIntegration | Integration object to update. |
UpdateLoraCloudIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | LoraCloudIntegration | Integration object to update. |
UpdateMyDevicesIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | MyDevicesIntegration | Integration object to update. |
UpdatePilotThingsIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | PilotThingsIntegration | Integration object to update. |
UpdateThingsBoardIntegrationRequest
Field | Type | Label | Description |
---|---|---|---|
integration | ThingsBoardIntegration | Integration object to update. |
Encoding
Name | Number | Description |
---|---|---|
JSON | 0 | |
PROTOBUF | 1 |
InfluxDbPrecision
Name | Number | Description |
---|---|---|
NS | 0 | |
U | 1 | |
MS | 2 | |
S | 3 | |
M | 4 | |
H | 5 |
InfluxDbVersion
Name | Number | Description |
---|---|---|
INFLUXDB_1 | 0 | |
INFLUXDB_2 | 1 |
IntegrationKind
Name | Number | Description |
---|---|---|
HTTP | 0 | |
INFLUX_DB | 1 | |
THINGS_BOARD | 2 | |
MY_DEVICES | 3 | |
LORA_CLOUD | 4 | |
GCP_PUB_SUB | 5 | |
AWS_SNS | 6 | |
AZURE_SERVICE_BUS | 7 | |
PILOT_THINGS | 8 | |
MQTT_GLOBAL | 9 | |
IFTTT | 10 |
ApplicationService
ApplicationService is the service providing API methods for managing applications.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | CreateApplicationRequest | CreateApplicationResponse | Create creates the given application. |
Get | GetApplicationRequest | GetApplicationResponse | Get the application for the given ID. |
Update | UpdateApplicationRequest | .google.protobuf.Empty | Update updates the given application. |
Delete | DeleteApplicationRequest | .google.protobuf.Empty | Delete the application for the given ID. |
List | ListApplicationsRequest | ListApplicationsResponse | Get the list of applications. |
ListIntegrations | ListIntegrationsRequest | ListIntegrationsResponse | List all configured integrations. |
CreateHttpIntegration | CreateHttpIntegrationRequest | .google.protobuf.Empty | Create HTTP integration. |
GetHttpIntegration | GetHttpIntegrationRequest | GetHttpIntegrationResponse | Get the configured HTTP integration. |
UpdateHttpIntegration | UpdateHttpIntegrationRequest | .google.protobuf.Empty | Update the HTTP integration. |
DeleteHttpIntegration | DeleteHttpIntegrationRequest | .google.protobuf.Empty | Delete the HTTP integration. |
CreateInfluxDbIntegration | CreateInfluxDbIntegrationRequest | .google.protobuf.Empty | Create InfluxDb integration. |
GetInfluxDbIntegration | GetInfluxDbIntegrationRequest | GetInfluxDbIntegrationResponse | Get InfluxDb integration. |
UpdateInfluxDbIntegration | UpdateInfluxDbIntegrationRequest | .google.protobuf.Empty | Update InfluxDb integration. |
DeleteInfluxDbIntegration | DeleteInfluxDbIntegrationRequest | .google.protobuf.Empty | Delete InfluxDb integration. |
CreateThingsBoardIntegration | CreateThingsBoardIntegrationRequest | .google.protobuf.Empty | Create ThingsBoard integration. |
GetThingsBoardIntegration | GetThingsBoardIntegrationRequest | GetThingsBoardIntegrationResponse | Get ThingsBoard integration. |
UpdateThingsBoardIntegration | UpdateThingsBoardIntegrationRequest | .google.protobuf.Empty | Update ThingsBoard integration. |
DeleteThingsBoardIntegration | DeleteThingsBoardIntegrationRequest | .google.protobuf.Empty | Delete ThingsBoard integration. |
CreateMyDevicesIntegration | CreateMyDevicesIntegrationRequest | .google.protobuf.Empty | Create myDevices integration. |
GetMyDevicesIntegration | GetMyDevicesIntegrationRequest | GetMyDevicesIntegrationResponse | Get myDevices integration. |
UpdateMyDevicesIntegration | UpdateMyDevicesIntegrationRequest | .google.protobuf.Empty | Update myDevices integration. |
DeleteMyDevicesIntegration | DeleteMyDevicesIntegrationRequest | .google.protobuf.Empty | Delete myDevices integration. |
CreateLoraCloudIntegration | CreateLoraCloudIntegrationRequest | .google.protobuf.Empty | Create LoRaCloud integration. |
GetLoraCloudIntegration | GetLoraCloudIntegrationRequest | GetLoraCloudIntegrationResponse | Get LoRaCloud integration. |
UpdateLoraCloudIntegration | UpdateLoraCloudIntegrationRequest | .google.protobuf.Empty | Update LoRaCloud integration. |
DeleteLoraCloudIntegration | DeleteLoraCloudIntegrationRequest | .google.protobuf.Empty | Delete LoRaCloud integration. |
CreateGcpPubSubIntegration | CreateGcpPubSubIntegrationRequest | .google.protobuf.Empty | Create GCP Pub/Sub integration. |
GetGcpPubSubIntegration | GetGcpPubSubIntegrationRequest | GetGcpPubSubIntegrationResponse | Get GCP Pub/Sub integration. |
UpdateGcpPubSubIntegration | UpdateGcpPubSubIntegrationRequest | .google.protobuf.Empty | Update GCP Pub/Sub integration. |
DeleteGcpPubSubIntegration | DeleteGcpPubSubIntegrationRequest | .google.protobuf.Empty | Delete GCP Pub/Sub integration. |
CreateAwsSnsIntegration | CreateAwsSnsIntegrationRequest | .google.protobuf.Empty | Create AWS SNS integration. |
GetAwsSnsIntegration | GetAwsSnsIntegrationRequest | GetAwsSnsIntegrationResponse | Get AWS SNS integration. |
UpdateAwsSnsIntegration | UpdateAwsSnsIntegrationRequest | .google.protobuf.Empty | Update AWS SNS integration. |
DeleteAwsSnsIntegration | DeleteAwsSnsIntegrationRequest | .google.protobuf.Empty | Delete AWS SNS integration. |
CreateAzureServiceBusIntegration | CreateAzureServiceBusIntegrationRequest | .google.protobuf.Empty | Create Azure Service-Bus integration. |
GetAzureServiceBusIntegration | GetAzureServiceBusIntegrationRequest | GetAzureServiceBusIntegrationResponse | Get Azure Service-Bus integration. |
UpdateAzureServiceBusIntegration | UpdateAzureServiceBusIntegrationRequest | .google.protobuf.Empty | Update Azure Service-Bus integration. |
DeleteAzureServiceBusIntegration | DeleteAzureServiceBusIntegrationRequest | .google.protobuf.Empty | Delete Azure Service-Bus integration. |
CreatePilotThingsIntegration | CreatePilotThingsIntegrationRequest | .google.protobuf.Empty | Create Pilot Things integration. |
GetPilotThingsIntegration | GetPilotThingsIntegrationRequest | GetPilotThingsIntegrationResponse | Get Pilot Things integration. |
UpdatePilotThingsIntegration | UpdatePilotThingsIntegrationRequest | .google.protobuf.Empty | Update Pilot Things integration. |
DeletePilotThingsIntegration | DeletePilotThingsIntegrationRequest | .google.protobuf.Empty | Delete Pilot Things integration. |
CreateIftttIntegration | CreateIftttIntegrationRequest | .google.protobuf.Empty | Create IFTTT integration. |
GetIftttIntegration | GetIftttIntegrationRequest | GetIftttIntegrationResponse | Get IFTTT integration. |
UpdateIftttIntegration | UpdateIftttIntegrationRequest | .google.protobuf.Empty | Update IFTTT integration. |
DeleteIftttIntegration | DeleteIftttIntegrationRequest | .google.protobuf.Empty | Delete IFTTT integration. |
GenerateMqttIntegrationClientCertificate | GenerateMqttIntegrationClientCertificateRequest | GenerateMqttIntegrationClientCertificateResponse | Generates application ID specific client-certificate. |
api/device.proto
ActivateDeviceRequest
Field | Type | Label | Description |
---|---|---|---|
device_activation | DeviceActivation | Device activation object. |
CreateDeviceKeysRequest
Field | Type | Label | Description |
---|---|---|---|
device_keys | DeviceKeys | Device-keys object. |
CreateDeviceRequest
Field | Type | Label | Description |
---|---|---|---|
device | Device | Device object. |
DeactivateDeviceRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). |
DeleteDeviceKeysRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). |
DeleteDeviceRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). |
Device
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). | |
name | string | Name. | |
description | string | Description. | |
application_id | string | Application ID (UUID). | |
device_profile_id | string | Device-profile ID (UUID). | |
skip_fcnt_check | bool | Skip frame-counter checks (this is insecure, but could be helpful for debugging). | |
is_disabled | bool | Device is disabled. | |
variables | Device.VariablesEntry | repeated | Variables (user defined). These variables can be used together with integrations to store tokens / secrets that must be configured per device. These variables are not exposed in the event payloads. |
tags | Device.TagsEntry | repeated | Tags (user defined). These tags are exposed in the event payloads or to integration. Tags are intended for aggregation and filtering. |
Device.TagsEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Device.VariablesEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
DeviceActivation
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | Device EUI (EUI64). | |
dev_addr | string | Device address (HEX encoded). | |
app_s_key | string | Application session key (HEX encoded). | |
nwk_s_enc_key | string | Network session encryption key (HEX encoded). | |
s_nwk_s_int_key | string | Serving network session integrity key (HEX encoded). | |
f_nwk_s_int_key | string | Forwarding network session integrity key (HEX encoded). | |
f_cnt_up | uint32 | Uplink frame-counter. | |
n_f_cnt_down | uint32 | Downlink network frame-counter. | |
a_f_cnt_down | uint32 | Downlink application frame-counter. |
DeviceKeys
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). | |
nwk_key | string | Network root key (128 bit). Note: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`! | |
app_key | string | Application root key (128 bit). Note: This field only needs to be set for LoRaWAN 1.1.x devices! |
DeviceListItem
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
last_seen_at | google.protobuf.Timestamp | Last seen at timestamp. | |
name | string | Name. | |
description | string | Description. | |
device_profile_id | string | Device-profile ID (UUID). | |
device_profile_name | string | Device-profile name. | |
device_status | DeviceStatus | Device status. |
DeviceQueueItem
Field | Type | Label | Description |
---|---|---|---|
id | string | ID (UUID). This is automatically generated on enqueue. | |
dev_eui | string | Device EUI (EUI64). | |
confirmed | bool | Confirmed. | |
f_port | uint32 | FPort (must be > 0). | |
data | bytes | Data. Or use the json_object field when a codec has been configured. | |
object | google.protobuf.Struct | Only use this when a codec has been configured that can encode this object to bytes. | |
is_pending | bool | Is pending. This is set to true when the downlink is pending. | |
f_cnt_down | uint32 | Downlink frame-counter. This is set when the payload has been sent as downlink. |
DeviceState
Field | Type | Label | Description |
---|---|---|---|
name | string | Name. | |
value | string | Value. |
DeviceStatus
Field | Type | Label | Description |
---|---|---|---|
margin | int32 | The device margin status -32..32: The demodulation SNR ration in dB | |
external_power_source | bool | Device is connected to an external power source. | |
battery_level | float | Device battery level as a percentage. -1 when the battery level is not available. |
EnqueueDeviceQueueItemRequest
Field | Type | Label | Description |
---|---|---|---|
queue_item | DeviceQueueItem |
EnqueueDeviceQueueItemResponse
Field | Type | Label | Description |
---|---|---|---|
id | string | ID (UUID). |
FlushDevNoncesRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | Device EUI (EUI64). |
FlushDeviceQueueRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | Device EUI (EUI64). |
GetDeviceActivationRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). |
GetDeviceActivationResponse
Field | Type | Label | Description |
---|---|---|---|
device_activation | DeviceActivation | Device activation object. |
GetDeviceKeysRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). |
GetDeviceKeysResponse
Field | Type | Label | Description |
---|---|---|---|
device_keys | DeviceKeys | Device-keys object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. |
GetDeviceLinkMetricsRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). | |
start | google.protobuf.Timestamp | Interval start timestamp. | |
end | google.protobuf.Timestamp | Interval end timestamp. | |
aggregation | common.Aggregation | Aggregation. |
GetDeviceLinkMetricsResponse
Field | Type | Label | Description |
---|---|---|---|
rx_packets | common.Metric | Packets received from the device. | |
gw_rssi | common.Metric | RSSI (as reported by the gateway(s)). | |
gw_snr | common.Metric | SNR (as reported by the gateway(s)). | |
rx_packets_per_freq | common.Metric | Packets received by frequency. | |
rx_packets_per_dr | common.Metric | Packets received by DR. | |
errors | common.Metric | Errors. |
GetDeviceMetricsRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). | |
start | google.protobuf.Timestamp | Interval start timestamp. | |
end | google.protobuf.Timestamp | Interval end timestamp. | |
aggregation | common.Aggregation | Aggregation. |
GetDeviceMetricsResponse
Field | Type | Label | Description |
---|---|---|---|
metrics | GetDeviceMetricsResponse.MetricsEntry | repeated | |
states | GetDeviceMetricsResponse.StatesEntry | repeated |
GetDeviceMetricsResponse.MetricsEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | common.Metric |
GetDeviceMetricsResponse.StatesEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | DeviceState |
GetDeviceQueueItemsRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | Device EUI (EUI64). | |
count_only | bool | Return only the count, not the result-set. |
GetDeviceQueueItemsResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of queue items. | |
result | DeviceQueueItem | repeated | Result-set. |
GetDeviceRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). |
GetDeviceResponse
Field | Type | Label | Description |
---|---|---|---|
device | Device | Device object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
last_seen_at | google.protobuf.Timestamp | Last seen at timestamp. | |
device_status | DeviceStatus | Device status. |
GetRandomDevAddrRequest
Field | Type | Label | Description |
---|---|---|---|
dev_eui | string | DevEUI (EUI64). |
GetRandomDevAddrResponse
Field | Type | Label | Description |
---|---|---|---|
dev_addr | string | DevAddr. |
ListDevicesRequest
Field | Type | Label | Description |
---|---|---|---|
limit | uint32 | Max number of devices to return in the result-set. | |
offset | uint32 | Offset in the result-set (for pagination). | |
search | string | If set, the given string will be used to search on name (optional). | |
application_id | string | Application ID (UUID) to filter devices on. | |
multicast_group_id | string | Multicst-group ID (UUID) to filter devices on. |
ListDevicesResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of devices. | |
result | DeviceListItem | repeated | Result-set. |
UpdateDeviceKeysRequest
Field | Type | Label | Description |
---|---|---|---|
device_keys | DeviceKeys | Device-keys object. |
UpdateDeviceRequest
Field | Type | Label | Description |
---|---|---|---|
device | Device | Device object. |
DeviceService
DeviceService is the service providing API methods for managing devices.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | CreateDeviceRequest | .google.protobuf.Empty | Create the given device. |
Get | GetDeviceRequest | GetDeviceResponse | Get returns the device for the given DevEUI. |
Update | UpdateDeviceRequest | .google.protobuf.Empty | Update the given device. |
Delete | DeleteDeviceRequest | .google.protobuf.Empty | Delete the device with the given DevEUI. |
List | ListDevicesRequest | ListDevicesResponse | Get the list of devices. |
CreateKeys | CreateDeviceKeysRequest | .google.protobuf.Empty | Create the given device-keys. |
GetKeys | GetDeviceKeysRequest | GetDeviceKeysResponse | Get the device-keys for the given DevEUI. |
UpdateKeys | UpdateDeviceKeysRequest | .google.protobuf.Empty | Update the given device-keys. |
DeleteKeys | DeleteDeviceKeysRequest | .google.protobuf.Empty | Delete the device-keys for the given DevEUI. |
FlushDevNonces | FlushDevNoncesRequest | .google.protobuf.Empty | FlushDevNonces flushes the OTAA device nonces. |
Activate | ActivateDeviceRequest | .google.protobuf.Empty | Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations). |
Deactivate | DeactivateDeviceRequest | .google.protobuf.Empty | Deactivate de-activates the device. |
GetActivation | GetDeviceActivationRequest | GetDeviceActivationResponse | GetActivation returns the current activation details of the device (OTAA or ABP). |
GetRandomDevAddr | GetRandomDevAddrRequest | GetRandomDevAddrResponse | GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account. |
GetMetrics | GetDeviceMetricsRequest | GetDeviceMetricsResponse | GetMetrics returns the device metrics. Note that this requires a device-profile with codec and measurements configured. |
GetLinkMetrics | GetDeviceLinkMetricsRequest | GetDeviceLinkMetricsResponse | GetLinkMetrics returns the device link metrics. This includes uplinks, downlinks, RSSI, SNR, etc... |
Enqueue | EnqueueDeviceQueueItemRequest | EnqueueDeviceQueueItemResponse | Enqueue adds the given item to the downlink queue. |
FlushQueue | FlushDeviceQueueRequest | .google.protobuf.Empty | FlushQueue flushes the downlink device-queue. |
GetQueue | GetDeviceQueueItemsRequest | GetDeviceQueueItemsResponse | GetQueue returns the downlink device-queue. |
api/device_profile.proto
AdrAlgorithmListItem
Field | Type | Label | Description |
---|---|---|---|
id | string | Algorithm ID. | |
name | string | Algorithm name. |
CreateDeviceProfileRequest
Field | Type | Label | Description |
---|---|---|---|
device_profile | DeviceProfile | Object to create. |
CreateDeviceProfileResponse
Field | Type | Label | Description |
---|---|---|---|
id | string | ID (UUID). |
DeleteDeviceProfileRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | ID (UUID). |
DeviceProfile
Field | Type | Label | Description |
---|---|---|---|
id | string | Device-profile ID (UUID). Note: on create this will be automatically generated. | |
tenant_id | string | Tenant ID (UUID). | |
name | string | Name. | |
description | string | Description. | |
region | common.Region | Region. | |
mac_version | common.MacVersion | LoRaWAN mac-version. | |
reg_params_revision | common.RegParamsRevision | Regional parameters revision. | |
adr_algorithm_id | string | ADR algorithm ID. | |
payload_codec_runtime | CodecRuntime | Payload codec runtime. | |
payload_codec_script | string | Payload codec script. | |
flush_queue_on_activate | bool | Flush queue on device activation. | |
uplink_interval | uint32 | Uplink interval (seconds). This defines the expected uplink interval which the device uses for communication. If the uplink interval has expired and no uplink has been received, the device is considered inactive. | |
device_status_req_interval | uint32 | Device-status request interval (times / day). This defines the times per day that ChirpStack will request the device-status from the device. | |
supports_otaa | bool | Supports OTAA. | |
supports_class_b | bool | Supports Class B. | |
supports_class_c | bool | Supports Class-C. | |
class_b_timeout | uint32 | Class-B timeout (seconds). This is the maximum time ChirpStack will wait to receive an acknowledgement from the device (if requested). | |
class_b_ping_slot_nb_k | uint32 | Class-B ping-slots per beacon period. Valid options are: 0 - 7. |
The actual number of ping-slots per beacon period equals to 2^k. | | class_b_ping_slot_dr | uint32 | | Class-B ping-slot DR. | | class_b_ping_slot_freq | uint32 | | Class-B ping-slot freq (Hz). | | class_c_timeout | uint32 | | Class-C timeout (seconds). This is the maximum time ChirpStack will wait to receive an acknowledgement from the device (if requested). | | abp_rx1_delay | uint32 | | RX1 delay (for ABP). | | abp_rx1_dr_offset | uint32 | | RX1 DR offset (for ABP). | | abp_rx2_dr | uint32 | | RX2 DR (for ABP). | | abp_rx2_freq | uint32 | | RX2 frequency (for ABP, Hz). | | tags | DeviceProfile.TagsEntry | repeated | User defined tags. | | measurements | DeviceProfile.MeasurementsEntry | repeated | Measurements. If defined, ChirpStack will visualize these metrics in the web-interface. | | auto_detect_measurements | bool | | Auto-detect measurements. If set to true, measurements will be automatically added based on the keys of the decoded payload. In cases where the decoded payload contains random keys in the data, you want to set this to false. | | region_config_id | string | | Region configuration ID. If set, devices will only use the associated region. If let blank, then devices will use all regions matching the selected common-name. Note that multiple region configurations can exist for the same common-name, e.g. to provide an 8 channel and 16 channel configuration for the US915 band. |
DeviceProfile.MeasurementsEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | Measurement |
DeviceProfile.TagsEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
DeviceProfileListItem
Field | Type | Label | Description |
---|---|---|---|
id | string | Device-profile ID (UUID). | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
name | string | Name. | |
region | common.Region | Region. | |
mac_version | common.MacVersion | LoRaWAN mac-version. | |
reg_params_revision | common.RegParamsRevision | Regional parameters revision. | |
supports_otaa | bool | Supports OTAA. | |
supports_class_b | bool | Supports Class-B. | |
supports_class_c | bool | Supports Class-C. |
GetDeviceProfileRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | ID (UUID). |
GetDeviceProfileResponse
Field | Type | Label | Description |
---|---|---|---|
device_profile | DeviceProfile | Device-profile object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. |
ListDeviceProfileAdrAlgorithmsResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of algorithms. | |
result | AdrAlgorithmListItem | repeated | Result-set. |
ListDeviceProfilesRequest
Field | Type | Label | Description |
---|---|---|---|
limit | uint32 | Max number of device-profiles to return in the result-set. | |
offset | uint32 | Offset in the result-set (for pagination). | |
search | string | If set, the given string will be used to search on name. | |
tenant_id | string | Tenant ID to list the device-profiles for. |
ListDeviceProfilesResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of device-profiles. | |
result | DeviceProfileListItem | repeated | Result-set. |
Measurement
Field | Type | Label | Description |
---|---|---|---|
name | string | Name (user defined). | |
kind | MeasurementKind | Kind. |
UpdateDeviceProfileRequest
Field | Type | Label | Description |
---|---|---|---|
device_profile | DeviceProfile | Device-profile object. |
CodecRuntime
Name | Number | Description |
---|---|---|
NONE | 0 | None. |
CAYENNE_LPP | 1 | Cayenne LPP. |
JS | 2 | JavaScript. |
MeasurementKind
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | Unknown (in which case it is not tracked). |
COUNTER | 1 | Incrementing counters that never decrease (these are not reset on each reading). |
ABSOLUTE | 2 | Counters that do get reset upon reading. |
GAUGE | 3 | E.g. a temperature value. |
STRING | 4 | E.g. a firmware version, true / false value. |
DeviceProfileService
DeviceProfileService is the service providing API methods for managing device-profiles.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | CreateDeviceProfileRequest | CreateDeviceProfileResponse | Create the given device-profile. |
Get | GetDeviceProfileRequest | GetDeviceProfileResponse | Get the device-profile for the given ID. |
Update | UpdateDeviceProfileRequest | .google.protobuf.Empty | Update the given device-profile. |
Delete | DeleteDeviceProfileRequest | .google.protobuf.Empty | Delete the device-profile with the given ID. |
List | ListDeviceProfilesRequest | ListDeviceProfilesResponse | List the available device-profiles. |
ListAdrAlgorithms | .google.protobuf.Empty | ListDeviceProfileAdrAlgorithmsResponse | List available ADR algorithms. |
api/frame_log.proto
DownlinkFrameLog
Field | Type | Label | Description |
---|---|---|---|
time | google.protobuf.Timestamp | Time. | |
phy_payload | bytes | PHYPayload. | |
tx_info | gw.DownlinkTxInfo | TX meta-data. | |
downlink_id | uint32 | Downlink ID. | |
gateway_id | string | Gateway ID (EUI64). | |
m_type | common.MType | Message type. | |
dev_addr | string | Device address (optional). | |
dev_eui | string | Device EUI (optional). | |
plaintext_mac_commands | bool | Plaintext mac-commands. |
UplinkFrameLog
Field | Type | Label | Description |
---|---|---|---|
phy_payload | bytes | PHYPayload. | |
tx_info | gw.UplinkTxInfo | TX meta-data. | |
rx_info | gw.UplinkRxInfo | repeated | RX meta-data. |
m_type | common.MType | Message type. | |
dev_addr | string | Device address (optional). | |
dev_eui | string | Device EUI (optional). | |
time | google.protobuf.Timestamp | Time. | |
plaintext_mac_commands | bool | Plaintext mac-commands. |
api/gateway.proto
CreateGatewayRequest
Field | Type | Label | Description |
---|---|---|---|
gateway | Gateway | Gateway object. |
DeleteGatewayRequest
Field | Type | Label | Description |
---|---|---|---|
gateway_id | string | Gateway ID (EUI64). |
Gateway
Field | Type | Label | Description |
---|---|---|---|
gateway_id | string | Gateway ID (EUI64). | |
name | string | Name. | |
description | string | Description. | |
location | common.Location | Gateway location. | |
tenant_id | string | Tenant ID (UUID). | |
tags | Gateway.TagsEntry | repeated | Tags. |
metadata | Gateway.MetadataEntry | repeated | Metadata (provided by the gateway). |
stats_interval | uint32 | Stats interval (seconds). This defines the expected interval in which the gateway sends its statistics. |
Gateway.MetadataEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Gateway.TagsEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
GatewayListItem
Field | Type | Label | Description |
---|---|---|---|
tenant_id | string | Tenant ID. | |
gateway_id | string | Gateway ID (EUI64). | |
name | string | Name. | |
description | string | Description. | |
location | common.Location | Location. | |
properties | GatewayListItem.PropertiesEntry | repeated | Gateway properties. |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
last_seen_at | google.protobuf.Timestamp | Last seen at timestamp. | |
state | GatewayState | Gateway state. Please note that the state of the gateway is driven by the stats packages that are sent by the gateway. |
GatewayListItem.PropertiesEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
GenerateGatewayClientCertificateRequest
Field | Type | Label | Description |
---|---|---|---|
gateway_id | string | Gateway ID (EUI64). |
GenerateGatewayClientCertificateResponse
Field | Type | Label | Description |
---|---|---|---|
tls_cert | string | TLS certificate. | |
tls_key | string | TLS key. | |
ca_cert | string | CA certificate. | |
expires_at | google.protobuf.Timestamp | Expires at defines the expiration date of the certificate. |
GetGatewayMetricsRequest
Field | Type | Label | Description |
---|---|---|---|
gateway_id | string | Gateway ID (EUI64). | |
start | google.protobuf.Timestamp | Interval start timestamp. | |
end | google.protobuf.Timestamp | Interval end timestamp. | |
aggregation | common.Aggregation | Aggregation. |
GetGatewayMetricsResponse
Field | Type | Label | Description |
---|---|---|---|
rx_packets | common.Metric | RX packets. | |
tx_packets | common.Metric | TX packets. | |
tx_packets_per_freq | common.Metric | TX packets / frequency. | |
rx_packets_per_freq | common.Metric | RX packets / frequency. | |
tx_packets_per_dr | common.Metric | TX packets / DR. | |
rx_packets_per_dr | common.Metric | RX packets / DR. | |
tx_packets_per_status | common.Metric | TX packets per status. |
GetGatewayRequest
Field | Type | Label | Description |
---|---|---|---|
gateway_id | string | Gateway ID (EUI64). |
GetGatewayResponse
Field | Type | Label | Description |
---|---|---|---|
gateway | Gateway | Gateway object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
last_seen_at | google.protobuf.Timestamp | Last seen at timestamp. |
ListGatewaysRequest
Field | Type | Label | Description |
---|---|---|---|
limit | uint32 | Max number of gateways to return in the result-set. | |
offset | uint32 | Offset in the result-set (for pagination). | |
search | string | If set, the given string will be used to search on name (optional). | |
tenant_id | string | Tenant ID (UUID) to filter gateways on. To list all gateways as a global admin user, this field can be left blank. | |
multicast_group_id | string | Multicast-group ID (UUID) to filter gateways on. |
ListGatewaysResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of gateways. | |
result | GatewayListItem | repeated | Result-set. |
UpdateGatewayRequest
Field | Type | Label | Description |
---|---|---|---|
gateway | Gateway | Gateway object. |
GatewayState
Name | Number | Description |
---|---|---|
NEVER_SEEN | 0 | The gateway has never sent any stats. |
ONLINE | 1 | Online. |
OFFLINE | 2 | Offline. |
GatewayService
GatewayService is the service providing API methods for managing gateways.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | CreateGatewayRequest | .google.protobuf.Empty | Create creates the given gateway. |
Get | GetGatewayRequest | GetGatewayResponse | Get returns the gateway for the given Gateway ID. |
Update | UpdateGatewayRequest | .google.protobuf.Empty | Update updates the given gateway. |
Delete | DeleteGatewayRequest | .google.protobuf.Empty | Delete deletes the gateway matching the given Gateway ID. |
List | ListGatewaysRequest | ListGatewaysResponse | Get the list of gateways. |
GenerateClientCertificate | GenerateGatewayClientCertificateRequest | GenerateGatewayClientCertificateResponse | Generate client-certificate for the gateway. |
GetMetrics | GetGatewayMetricsRequest | GetGatewayMetricsResponse | GetMetrics returns the gateway metrics. |
api/multicast_group.proto
AddDeviceToMulticastGroupRequest
Field | Type | Label | Description |
---|---|---|---|
multicast_group_id | string | Multicast group ID. | |
dev_eui | string | Device EUI (HEX encoded). |
AddGatewayToMulticastGroupRequest
Field | Type | Label | Description |
---|---|---|---|
multicast_group_id | string | Multicast group ID. | |
gateway_id | string | Gateway ID (HEX encoded). |
CreateMulticastGroupRequest
Field | Type | Label | Description |
---|---|---|---|
multicast_group | MulticastGroup | Multicast group to create. |
CreateMulticastGroupResponse
Field | Type | Label | Description |
---|---|---|---|
id | string | ID of created multicast group (UUID). |
DeleteMulticastGroupRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | Multicast group iD. |
EnqueueMulticastGroupQueueItemRequest
Field | Type | Label | Description |
---|---|---|---|
queue_item | MulticastGroupQueueItem | Multicast queue-item to enqueue. |
EnqueueMulticastGroupQueueItemResponse
Field | Type | Label | Description |
---|---|---|---|
f_cnt | uint32 | Frame-counter of the enqueued payload. |
FlushMulticastGroupQueueRequest
Field | Type | Label | Description |
---|---|---|---|
multicast_group_id | string | Multicast group ID. |
GetMulticastGroupRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | Multicast group ID. |
GetMulticastGroupResponse
Field | Type | Label | Description |
---|---|---|---|
multicast_group | MulticastGroup | Multicast group object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. |
ListMulticastGroupQueueRequest
Field | Type | Label | Description |
---|---|---|---|
multicast_group_id | string | Multicast group ID. |
ListMulticastGroupQueueResponse
Field | Type | Label | Description |
---|---|---|---|
items | MulticastGroupQueueItem | repeated |
ListMulticastGroupsRequest
Field | Type | Label | Description |
---|---|---|---|
limit | uint32 | Max number of multicast groups to return in the result-set. | |
offset | uint32 | Offset in the result-set (for pagination). | |
search | string | If set, the given string will be used to search on name. | |
application_id | string | Application ID to list the multicast groups for. |
ListMulticastGroupsResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of multicast groups. | |
result | MulticastGroupListItem | repeated | Result-test. |
MulticastGroup
Field | Type | Label | Description |
---|---|---|---|
id | string | ID (UUID). This will be generated automatically on create. | |
name | string | Name. | |
application_id | string | Application ID. After creation, this can not be updated. | |
region | common.Region | Region. | |
mc_addr | string | Multicast address (HEX encoded DevAddr). | |
mc_nwk_s_key | string | Multicast network session key (HEX encoded AES128 key). | |
mc_app_s_key | string | Multicast application session key (HEX encoded AES128 key). | |
f_cnt | uint32 | Frame-counter. | |
group_type | MulticastGroupType | Multicast group type. | |
dr | uint32 | Data-rate. | |
frequency | uint32 | Frequency (Hz). | |
class_b_ping_slot_period | uint32 | Ping-slot period (only for Class-B). | |
class_c_scheduling_type | MulticastGroupSchedulingType | Scheduling type (only for Class-C). |
MulticastGroupListItem
Field | Type | Label | Description |
---|---|---|---|
id | string | ID. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
name | string | Name. | |
region | common.Region | Region. | |
group_type | MulticastGroupType | Multicast group type. |
MulticastGroupQueueItem
Field | Type | Label | Description |
---|---|---|---|
multicast_group_id | string | Multicast group ID. | |
f_cnt | uint32 | Downlink frame-counter. This will be automatically set on enqueue. | |
f_port | uint32 | FPort (must be > 0). | |
data | bytes | Payload. |
RemoveDeviceFromMulticastGroupRequest
Field | Type | Label | Description |
---|---|---|---|
multicast_group_id | string | Multicast group ID. | |
dev_eui | string | Device EUI (HEX encoded). |
RemoveGatewayFromMulticastGroupRequest
Field | Type | Label | Description |
---|---|---|---|
multicast_group_id | string | Multicast group ID. | |
gateway_id | string | Gateway ID (HEX encoded). |
UpdateMulticastGroupRequest
Field | Type | Label | Description |
---|---|---|---|
multicast_group | MulticastGroup | Multicast group object to update. |
MulticastGroupSchedulingType
Name | Number | Description |
---|---|---|
DELAY | 0 | Delay. If multicast downlinks must be sent through multiple gateways, then these will be sent one by one with a delay between each gateway. |
GPS_TIME | 1 | Time. If multicast downlinks must be sent through multiple gateways, then these will be sent simultaneously using GPS time synchronization. Note that this does require GPS time-synchronized LoRa gateways. |
MulticastGroupType
Name | Number | Description |
---|---|---|
CLASS_C | 0 | Class C. |
CLASS_B | 1 | Class-B. |
MulticastGroupService
MulticastGroupService is the service managing multicast-groups.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | CreateMulticastGroupRequest | CreateMulticastGroupResponse | Create the given multicast group. |
Get | GetMulticastGroupRequest | GetMulticastGroupResponse | Get returns the multicast group for the given ID. |
Update | UpdateMulticastGroupRequest | .google.protobuf.Empty | Update the given multicast group. |
Delete | DeleteMulticastGroupRequest | .google.protobuf.Empty | Delete the multicast-group with the given ID. |
List | ListMulticastGroupsRequest | ListMulticastGroupsResponse | List the available multicast groups. |
AddDevice | AddDeviceToMulticastGroupRequest | .google.protobuf.Empty | Add a device to the multicast group. |
RemoveDevice | RemoveDeviceFromMulticastGroupRequest | .google.protobuf.Empty | Remove a device from the multicast group. |
AddGateway | AddGatewayToMulticastGroupRequest | .google.protobuf.Empty | Add a gateway to the multicast group. |
RemoveGateway | RemoveGatewayFromMulticastGroupRequest | .google.protobuf.Empty | Remove a gateway from the multicast group. |
Enqueue | EnqueueMulticastGroupQueueItemRequest | EnqueueMulticastGroupQueueItemResponse | Add the given item to the multicast group queue. |
FlushQueue | FlushMulticastGroupQueueRequest | .google.protobuf.Empty | Flush the queue for the given multicast group. |
ListQueue | ListMulticastGroupQueueRequest | ListMulticastGroupQueueResponse | List the items in the multicast group queue. |
api/tenant.proto
AddTenantUserRequest
Field | Type | Label | Description |
---|---|---|---|
tenant_user | TenantUser | Tenant user object. |
CreateTenantRequest
Field | Type | Label | Description |
---|---|---|---|
tenant | Tenant | Tenant object to create. |
CreateTenantResponse
Field | Type | Label | Description |
---|---|---|---|
id | string | Tenant ID. |
DeleteTenantRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | Tenant ID. |
DeleteTenantUserRequest
Field | Type | Label | Description |
---|---|---|---|
tenant_id | string | Tenant ID (UUID). | |
user_id | string | User ID (UUID). |
GetTenantRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | Tenant ID. |
GetTenantResponse
Field | Type | Label | Description |
---|---|---|---|
tenant | Tenant | Tenant object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. |
GetTenantUserRequest
Field | Type | Label | Description |
---|---|---|---|
tenant_id | string | Tenant ID (UUID). | |
user_id | string | User ID (UUID). |
GetTenantUserResponse
Field | Type | Label | Description |
---|---|---|---|
tenant_user | TenantUser | Tenant user object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. |
ListTenantUsersRequest
Field | Type | Label | Description |
---|---|---|---|
tenant_id | string | Tenant ID (UUID). | |
limit | uint32 | Max number of tenants to return in the result-set. | |
offset | uint32 | Offset in the result-set (for pagination). |
ListTenantUsersResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of tenants. | |
result | TenantUserListItem | repeated | Result-set. |
ListTenantsRequest
Field | Type | Label | Description |
---|---|---|---|
limit | uint32 | Max number of tenants to return in the result-set. | |
offset | uint32 | Offset in the result-set (for pagination). | |
search | string | If set, the given string will be used to search on name. | |
user_id | string | If set, filters the result set to the tenants of the user. Only global API keys are able to filter by this field. |
ListTenantsResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of tenants. | |
result | TenantListItem | repeated | Result-set. |
Tenant
Field | Type | Label | Description |
---|---|---|---|
id | string | Tenant ID (UUID). Note: this value will be automatically generated on create. | |
name | string | Tenant name, | |
description | string | Tenant description. | |
can_have_gateways | bool | Can the tenant create and "own" Gateways? | |
max_gateway_count | uint32 | Max. gateway count for tenant. When set to 0, the tenant can have unlimited gateways. | |
max_device_count | uint32 | Max. device count for tenant. When set to 0, the tenant can have unlimited devices. | |
private_gateways_up | bool | Private gateways (uplink). If enabled, then uplink messages will not be shared with other tenants. | |
private_gateways_down | bool | Private gateways (downlink). If enabled, then other tenants will not be able to schedule downlink messages through the gateways of this tenant. For example, in case you do want to share uplinks with other tenants (private_gateways_up=false), but you want to prevent other tenants from using gateway airtime. |
TenantListItem
Field | Type | Label | Description |
---|---|---|---|
id | string | Tenant ID (UUID). | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
name | string | Tenant name. | |
can_have_gateways | bool | Can the tenant create and "own" Gateways? | |
private_gateways_up | bool | Private gateways (uplink). | |
private_gateways_down | bool | Private gateways (downlink). | |
max_gateway_count | uint32 | Max gateway count. 0 = unlimited. | |
max_device_count | uint32 | Max device count. 0 = unlimited. |
TenantUser
Field | Type | Label | Description |
---|---|---|---|
tenant_id | string | Tenant ID (UUID). | |
user_id | string | User ID (UUID). | |
is_admin | bool | User is admin within the context of the tenant. There is no need to set the is_device_admin and is_gateway_admin flags. | |
is_device_admin | bool | User is able to modify device related resources (applications, device-profiles, devices, multicast-groups). | |
is_gateway_admin | bool | User is able to modify gateways. | |
string | Email (only used on get and when adding a user to a tenant). |
TenantUserListItem
Field | Type | Label | Description |
---|---|---|---|
tenant_id | string | Tenant ID (UUID). | |
user_id | string | User ID (UUID). | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
string | Email. | ||
is_admin | bool | User is admin within the context of the tenant. There is no need to set the is_device_admin and is_gateway_admin flags. | |
is_device_admin | bool | User is able to modify device related resources (applications, device-profiles, devices, multicast-groups). | |
is_gateway_admin | bool | User is able to modify gateways. |
UpdateTenantRequest
Field | Type | Label | Description |
---|---|---|---|
tenant | Tenant | Tenant object. |
UpdateTenantUserRequest
Field | Type | Label | Description |
---|---|---|---|
tenant_user | TenantUser | Tenant user object. |
TenantService
TenantService is the service providing API methods for managing tenants.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | CreateTenantRequest | CreateTenantResponse | Create a new tenant. |
Get | GetTenantRequest | GetTenantResponse | Get the tenant for the given ID. |
Update | UpdateTenantRequest | .google.protobuf.Empty | Update the given tenant. |
Delete | DeleteTenantRequest | .google.protobuf.Empty | Delete the tenant with the given ID. |
List | ListTenantsRequest | ListTenantsResponse | Get the list of tenants. |
AddUser | AddTenantUserRequest | .google.protobuf.Empty | Add an user to the tenant. Note: the user must already exist. |
GetUser | GetTenantUserRequest | GetTenantUserResponse | Get the the tenant user for the given tenant and user IDs. |
UpdateUser | UpdateTenantUserRequest | .google.protobuf.Empty | Update the given tenant user. |
DeleteUser | DeleteTenantUserRequest | .google.protobuf.Empty | Delete the given tenant user. |
ListUsers | ListTenantUsersRequest | ListTenantUsersResponse | Get the list of tenant users. |
api/user.proto
CreateUserRequest
Field | Type | Label | Description |
---|---|---|---|
user | User | User object to create. | |
password | string | Password to set for the user. | |
tenants | UserTenant | repeated | Add the user to the following tenants. |
CreateUserResponse
Field | Type | Label | Description |
---|---|---|---|
id | string | User ID. |
DeleteUserRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | User ID. |
GetUserRequest
Field | Type | Label | Description |
---|---|---|---|
id | string | User ID. |
GetUserResponse
Field | Type | Label | Description |
---|---|---|---|
user | User | User object. | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. |
ListUsersRequest
Field | Type | Label | Description |
---|---|---|---|
limit | uint32 | Max number of tenants to return in the result-set. | |
offset | uint32 | Offset in the result-set (for pagination). |
ListUsersResponse
Field | Type | Label | Description |
---|---|---|---|
total_count | uint32 | Total number of users. | |
result | UserListItem | repeated | Result-set. |
UpdateUserPasswordRequest
Field | Type | Label | Description |
---|---|---|---|
user_id | string | User ID. | |
password | string | Password to set. |
UpdateUserRequest
Field | Type | Label | Description |
---|---|---|---|
user | User | User object. |
User
Field | Type | Label | Description |
---|---|---|---|
id | string | User ID (UUID). Will be set automatically on create. | |
is_admin | bool | Set to true to make the user a global administrator. | |
is_active | bool | Set to false to disable the user. | |
string | E-mail of the user. | ||
note | string | Optional note to store with the user. |
UserListItem
Field | Type | Label | Description |
---|---|---|---|
id | string | User ID (UUID). | |
created_at | google.protobuf.Timestamp | Created at timestamp. | |
updated_at | google.protobuf.Timestamp | Last update timestamp. | |
string | Email of the user. | ||
is_admin | bool | Set to true to make the user a global administrator. | |
is_active | bool | Set to false to disable the user. |
UserTenant
Field | Type | Label | Description |
---|---|---|---|
tenant_id | string | Tenant ID. | |
is_admin | bool | User is admin within the context of the tenant. There is no need to set the is_device_admin and is_gateway_admin flags. | |
is_device_admin | bool | User is able to modify device related resources (applications, device-profiles, devices, multicast-groups). | |
is_gateway_admin | bool | User is able to modify gateways. |
UserService
UserService is the service providing API methods for managing users.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | CreateUserRequest | CreateUserResponse | Create a new user. |
Get | GetUserRequest | GetUserResponse | Get the user for the given ID. |
Update | UpdateUserRequest | .google.protobuf.Empty | Update the given user. |
Delete | DeleteUserRequest | .google.protobuf.Empty | Delete the user with the given ID. |
List | ListUsersRequest | ListUsersResponse | Get the list of users. |
UpdatePassword | UpdateUserPasswordRequest | .google.protobuf.Empty | Update the password for the given user. |
Scalar Value Types
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
---|---|---|---|---|---|---|---|---|
double | double | double | float | float64 | double | float | Float | |
float | float | float | float | float32 | float | float | Float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |