Top
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). |
tags | Application.TagsEntry | repeated | Tags (user defined). These tags can be used to add additional information to the application. These tags are exposed in all the integration events of devices under this application. |
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. |
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. |
Field | Type | Label | Description |
application | Application | | Application object to create. |
Field | Type | Label | Description |
id | string | | Application ID (UUID). |
Field | Type | Label | Description |
integration | HttpIntegration | | Integration object to create. |
Field | Type | Label | Description |
id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
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. |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
id | string | | Application ID (UUID). |
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. |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
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. |
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"] |
Notes: The first value is always used for the DevEUI. Ignored if arbitrary_json is set to true. |
| arbitrary_json | bool | | Arbitrary JSON. If set to true, ChirpStack events will be sent as-is as arbitrary JSON payload. If set to false (default), the 3 JSON values format will be used. |
| event_prefix | string | | Event prefix. If set, the event name will be PREFIX_EVENT. For example if event_prefix is set to weatherstation, and uplink event will be sent as weatherstation_up to the IFTTT webhook. Note: Only characters in the A-Z, a-z and 0-9 range are allowed. |
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) |
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. |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
total_count | uint32 | | Total number of integrations available within the result-set. |
result | IntegrationListItem | repeated | Integrations within result-set. |
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) |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
endpoint | string | | myDevices API endpoint. |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
server | string | | Server URL. |
token | string | | Authentication token. |
Field | Type | Label | Description |
application_id | string | | Application ID (UUID). |
server | string | | ThingsBoard server endpoint, e.g. https://example.com |
Field | Type | Label | Description |
application | Application | | Application object. |
Field | Type | Label | Description |
integration | HttpIntegration | | Integration object to update. |
Field | Type | Label | Description |
integration | IftttIntegration | | Integration object to update. |
Name | Number | Description |
JSON | 0 | |
PROTOBUF | 1 | |
Name | Number | Description |
NS | 0 | |
U | 1 | |
MS | 2 | |
S | 3 | |
M | 4 | |
H | 5 | |
Name | Number | Description |
INFLUXDB_1 | 0 | |
INFLUXDB_2 | 1 | |
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 is the service providing API methods for managing
applications.
Top
Field | Type | Label | Description |
device_activation | DeviceActivation | | Device activation object. |
Field | Type | Label | Description |
device_keys | DeviceKeys | | Device-keys object. |
Field | Type | Label | Description |
device | Device | | Device object. |
Field | Type | Label | Description |
dev_eui | string | | DevEUI (EUI64). |
Field | Type | Label | Description |
dev_eui | string | | DevEUI (EUI64). |
Field | Type | Label | Description |
dev_eui | string | | DevEUI (EUI64). |
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 can be used to add additional information to the device. These tags are exposed in all the integration events. |
join_eui | string | | JoinEUI (optional, EUI64). This field will be automatically set / updated on OTAA. However, in some cases it must be pre-configured. For example to allow OTAA using a Relay. In this case the Relay needs to know the JoinEUI + DevEUI combinations of the devices for which it needs to forward uplinks. |
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. |
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! |
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 by ChirpStack to true when the downlink is pending (e.g. it has been sent, but a confirmation is still pending). |
f_cnt_down | uint32 | | Downlink frame-counter. Do not set this for plain-text data payloads. It will be automatically set by ChirpStack when the payload has been sent as downlink. |
is_encrypted | bool | | Is encrypted. This must be set to true if the end-application has already encrypted the data payload. In this case, the f_cnt_down field must be set to the corresponding frame-counter which has been used during the encryption. |
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. |
Field | Type | Label | Description |
id | string | | ID (UUID). |
Field | Type | Label | Description |
dev_eui | string | | Device EUI (EUI64). |
Field | Type | Label | Description |
dev_eui | string | | Device EUI (EUI64). |
Field | Type | Label | Description |
dev_eui | string | | DevEUI (EUI64). |
Field | Type | Label | Description |
device_activation | DeviceActivation | | Device activation object. |
Field | Type | Label | Description |
dev_eui | string | | DevEUI (EUI64). |
Field | Type | Label | Description |
dev_eui | string | | Device EUI (EUI64). |
Field | Type | Label | Description |
f_cnt_down | uint32 | | FCntDown. |
Field | Type | Label | Description |
dev_eui | string | | Device EUI (EUI64). |
count_only | bool | | Return only the count, not the result-set. |
Field | Type | Label | Description |
total_count | uint32 | | Total number of queue items. |
result | DeviceQueueItem | repeated | Result-set. |
Field | Type | Label | Description |
dev_eui | string | | DevEUI (EUI64). |
Field | Type | Label | Description |
dev_eui | string | | DevEUI (EUI64). |
Field | Type | Label | Description |
dev_addr | string | | DevAddr. |
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. |
Field | Type | Label | Description |
total_count | uint32 | | Total number of devices. |
result | DeviceListItem | repeated | Result-set. |
Field | Type | Label | Description |
device_keys | DeviceKeys | | Device-keys object. |
Field | Type | Label | Description |
device | Device | | Device object. |
DeviceService is the service providing API methods for managing devices.
Top
Field | Type | Label | Description |
id | string | | Algorithm ID. |
name | string | | Algorithm name. |
Field | Type | Label | Description |
device_profile | DeviceProfile | | Object to create. |
Field | Type | Label | Description |
id | string | | ID (UUID). |
Field | Type | Label | Description |
id | string | | ID (UUID). |
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 | Tags (user defined). These tags can be used to add additional information the the device-profile. These tags are exposed in all the integration events of devices using this device-profile. |
| 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. |
| is_relay | bool | | Device is a Relay device. Enable this in case the device is a Relay. A Relay device implements TS011 and is able to relay data from relay capable devices. See for more information the TS011 specification. |
| is_relay_ed | bool | | Device is a Relay end-device. Enable this in case the device is an end-device that can operate under a Relay. Please refer to the TS011 specification for more information. |
| relay_ed_relay_only | bool | | End-device only accept data through relay. Only accept data for this device through a relay. This setting is useful for testing as in case of a test-setup, the end-device is usually within range of the gateway. |
| relay_enabled | bool | | Relay must be enabled. |
| relay_cad_periodicity | CadPeriodicity | | Relay CAD periodicity. |
| relay_default_channel_index | uint32 | | Relay default channel index. Valid values are 0 and 1, please refer to the RP002 specification for the meaning of these values. |
| relay_second_channel_freq | uint32 | | Relay second channel frequency (Hz). |
| relay_second_channel_dr | uint32 | | Relay second channel DR. |
| relay_second_channel_ack_offset | SecondChAckOffset | | Relay second channel ACK offset. |
| relay_ed_activation_mode | RelayModeActivation | | Relay end-device activation mode. |
| relay_ed_smart_enable_level | uint32 | | Relay end-device smart-enable level. |
| relay_ed_back_off | uint32 | | Relay end-device back-off (in case it does not receive WOR ACK frame). 0 = Always send a LoRaWAN uplink 1..63 = Send a LoRaWAN uplink after X WOR frames without a WOR ACK |
| relay_ed_uplink_limit_bucket_size | uint32 | | Relay end-device uplink limit bucket size.
This field indicates the multiplier to determine the bucket size according to the following formula: BucketSize TOKEN = _reload_rate x _bucket_size
Valid values (0 - 3): 0 = 1 1 = 2 2 = 4 3 = 12 |
| relay_ed_uplink_limit_reload_rate | uint32 | | Relay end-device uplink limit reload rate.
Valid values: * 0 - 62 = X tokens every hour * 63 = no limitation |
| relay_join_req_limit_reload_rate | uint32 | | Relay join-request limit reload rate.
Valid values: * 0 - 126 = X tokens every hour * 127 = no limitation |
| relay_notify_limit_reload_rate | uint32 | | Relay notify limit reload rate.
Valid values: * 0 - 126 = X tokens every hour * 127 = no limitation |
| relay_global_uplink_limit_reload_rate | uint32 | | Relay global uplink limit reload rate.
Valid values: * 0 - 126 = X tokens every hour * 127 = no limitation |
| relay_overall_limit_reload_rate | uint32 | | Relay overall limit reload rate.
Valid values: * 0 - 126 = X tokens every hour * 127 = no limitation |
| relay_join_req_limit_bucket_size | uint32 | | Relay join-request limit bucket size.
This field indicates the multiplier to determine the bucket size according to the following formula: BucketSize TOKEN = _reload_rate x _bucket_size
Valid values (0 - 3): 0 = 1 1 = 2 2 = 4 3 = 12 |
| relay_notify_limit_bucket_size | uint32 | | Relay notify limit bucket size.
This field indicates the multiplier to determine the bucket size according to the following formula: BucketSize TOKEN = _reload_rate x _bucket_size
Valid values (0 - 3): 0 = 1 1 = 2 2 = 4 3 = 12 |
| relay_global_uplink_limit_bucket_size | uint32 | | Relay globak uplink limit bucket size.
This field indicates the multiplier to determine the bucket size according to the following formula: BucketSize TOKEN = _reload_rate x _bucket_size
Valid values (0 - 3): 0 = 1 1 = 2 2 = 4 3 = 12 |
| relay_overall_limit_bucket_size | uint32 | | Relay overall limit bucket size.
This field indicates the multiplier to determine the bucket size according to the following formula: BucketSize TOKEN = _reload_rate x _bucket_size
Valid values (0 - 3): 0 = 1 1 = 2 2 = 4 3 = 12 |
| allow_roaming | bool | | Allow roaming.
If set to true, it means that the device is allowed to use roaming. |
Field | Type | Label | Description |
id | string | | ID (UUID). |
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. |
Field | Type | Label | Description |
device_profile | DeviceProfile | | Device-profile object. |
Name | Number | Description |
SEC_1 | 0 | 1 second. |
MS_500 | 1 | 500 milliseconds |
MS_250 | 2 | 250 milliseconds |
MS_100 | 3 | 100 milliseconds |
MS_50 | 4 | 50 milliseconds |
MS_20 | 5 | 20 milliseconds |
Name | Number | Description |
NONE | 0 | None. |
CAYENNE_LPP | 1 | Cayenne LPP. |
JS | 2 | JavaScript. |
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. |
Name | Number | Description |
DISABLE_RELAY_MODE | 0 | Disable the relay mode. |
ENABLE_RELAY_MODE | 1 | Enable the relay model. |
DYNAMIC | 2 | Dynamic. |
END_DEVICE_CONTROLLED | 3 | End-device controlled. |
Name | Number | Description |
KHZ_0 | 0 | 0 kHz. |
KHZ_200 | 1 | 200 kHz. |
KHZ_400 | 2 | 400 kHz. |
KHZ_800 | 3 | 800 kHz. |
KHZ_1600 | 4 | 1600 kHz. |
KHZ_3200 | 5 | 3200 kHz. |
DeviceProfileService is the service providing API methods for managing
device-profiles.
Top
Field | Type | Label | Description |
id | string | | ID. |
Field | Type | Label | Description |
id | string | | Device-profile template ID. |
name | string | | Name. |
description | string | | Description. |
vendor | string | | Vendor. |
firmware | string | | Firmware. |
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. When 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 | DeviceProfileTemplate.TagsEntry | repeated | User defined tags. |
| measurements | DeviceProfileTemplate.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. |
Field | Type | Label | Description |
id | string | | ID. |
Field | Type | Label | Description |
limit | uint32 | | Max number of device-profile templates to return in the result-set. |
offset | uint32 | | Offset in the result-set (for pagination). |
DeviceProfileTemplateService is the service providing API methods for managing device-profile templates.
Top
Field | Type | Label | Description |
gateway | Gateway | | Gateway object. |
Field | Type | Label | Description |
gateway_id | string | | Gateway ID (EUI64). |
Field | Type | Label | Description |
gateway_id | string | | Gateway ID (EUI64). |
Field | Type | Label | Description |
gateway_id | string | | Gateway ID (EUI64). |
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. |
Field | Type | Label | Description |
total_count | uint32 | | Total number of gateways. |
result | GatewayListItem | repeated | Result-set. |
Field | Type | Label | Description |
gateway | Gateway | | Gateway object. |
Name | Number | Description |
NEVER_SEEN | 0 | The gateway has never sent any stats. |
ONLINE | 1 | Online. |
OFFLINE | 2 | Offline. |
GatewayService is the service providing API methods for managing gateways.
Top
Field | Type | Label | Description |
multicast_group_id | string | | Multicast group ID. |
dev_eui | string | | Device EUI (HEX encoded). |
Field | Type | Label | Description |
multicast_group_id | string | | Multicast group ID. |
gateway_id | string | | Gateway ID (HEX encoded). |
Field | Type | Label | Description |
multicast_group | MulticastGroup | | Multicast group to create. |
Field | Type | Label | Description |
id | string | | ID of created multicast group (UUID). |
Field | Type | Label | Description |
id | string | | Multicast group iD. |
Field | Type | Label | Description |
f_cnt | uint32 | | Frame-counter of the enqueued payload. |
Field | Type | Label | Description |
multicast_group_id | string | | Multicast group ID. |
Field | Type | Label | Description |
id | string | | Multicast group ID. |
Field | Type | Label | Description |
multicast_group_id | string | | Multicast group ID. |
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. |
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). |
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. |
Field | Type | Label | Description |
multicast_group_id | string | | Multicast group ID. |
dev_eui | string | | Device EUI (HEX encoded). |
Field | Type | Label | Description |
multicast_group_id | string | | Multicast group ID. |
gateway_id | string | | Gateway ID (HEX encoded). |
Field | Type | Label | Description |
multicast_group | MulticastGroup | | Multicast group object to update. |
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. |
Name | Number | Description |
CLASS_C | 0 | Class C. |
CLASS_B | 1 | Class-B. |
MulticastGroupService is the service managing multicast-groups.
Top
Field | Type | Label | Description |
relay_dev_eui | string | | Relay DevEUI (EUI64). |
device_dev_eui | string | | Device DevEUI (EUI64). |
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). |
relay_dev_eui | string | | Relay DevEUI (EUI64). |
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). |
application_id | string | | Application ID (UUID). |
Field | Type | Label | Description |
total_count | uint32 | | Total number of relays. |
result | RelayListItem | repeated | Result-set. |
Field | Type | Label | Description |
dev_eui | string | | DevEUI (EUI64). |
name | string | | Name. |
Field | Type | Label | Description |
relay_dev_eui | string | | Relay DevEUI (EUI64). |
device_dev_eui | string | | Device DevEUI (EUI64). |
RelayService is the service providing API methos for managing relays.
Top
Field | Type | Label | Description |
tenant_user | TenantUser | | Tenant user object. |
Field | Type | Label | Description |
tenant | Tenant | | Tenant object to create. |
Field | Type | Label | Description |
id | string | | Tenant ID. |
Field | Type | Label | Description |
id | string | | Tenant ID. |
Field | Type | Label | Description |
tenant_id | string | | Tenant ID (UUID). |
user_id | string | | User ID (UUID). |
Field | Type | Label | Description |
id | string | | Tenant ID. |
Field | Type | Label | Description |
tenant_id | string | | Tenant ID (UUID). |
user_id | string | | User ID (UUID). |
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). |
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. |
Field | Type | Label | Description |
total_count | uint32 | | Total number of tenants. |
result | TenantListItem | repeated | Result-set. |
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. |
tags | Tenant.TagsEntry | repeated | Tags (user defined). These tags can be used to add additional information to the tenant. These tags are NOT exposed in the integration events. |
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. |
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. |
email | string | | Email (only used on get and when adding a user to a tenant). |
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. |
email | 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. |
Field | Type | Label | Description |
tenant | Tenant | | Tenant object. |
Field | Type | Label | Description |
tenant_user | TenantUser | | Tenant user object. |
TenantService is the service providing API methods for managing tenants.
Top
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. |
Field | Type | Label | Description |
id | string | | User ID. |
Field | Type | Label | Description |
id | string | | User ID. |
Field | Type | Label | Description |
id | string | | User ID. |
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). |
Field | Type | Label | Description |
total_count | uint32 | | Total number of users. |
result | UserListItem | repeated | Result-set. |
Field | Type | Label | Description |
user_id | string | | User ID. |
password | string | | Password to set. |
Field | Type | Label | Description |
user | User | | User object. |
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. |
email | string | | E-mail of the user. |
note | string | | Optional note to store with the user. |
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 is the service providing API methods for managing users.
.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) |