chirpstack_api 3.8.1

ChirpStack Protobuf / gRPC API definitions.
Documentation
syntax = "proto3";

package api;

option go_package = "github.com/brocaar/chirpstack-api/go/v3/as/external/api";
option java_package = "io.chirpstack.api.as.external.api";

import "google/api/annotations.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/empty.proto";


// NetworkServerService is the service managing network-servers.
service NetworkServerService {
    // Create creates the given network-server.
    rpc Create(CreateNetworkServerRequest) returns (CreateNetworkServerResponse) {
        option(google.api.http) = {
            post: "/api/network-servers"
            body: "*"
        };
    }

    // Get returns the network-server matching the given id.
    rpc Get(GetNetworkServerRequest) returns (GetNetworkServerResponse) {
        option(google.api.http) = {
            get: "/api/network-servers/{id}"
        };
    }

    // Update updates the given network-server.
    rpc Update(UpdateNetworkServerRequest) returns (google.protobuf.Empty) {
        option(google.api.http) = {
            put: "/api/network-servers/{network_server.id}"
            body: "*"
        };
    }

    // Delete deletes the network-server matching the given id.
    rpc Delete(DeleteNetworkServerRequest) returns (google.protobuf.Empty) {
        option(google.api.http) = {
            delete: "/api/network-servers/{id}"
        };
    };

    // List lists the available network-servers.
    rpc List(ListNetworkServerRequest) returns (ListNetworkServerResponse) {
        option(google.api.http) = {
            get: "/api/network-servers"
        };
    }
}

message NetworkServer {
    // Network-server ID.
    int64 id = 1;

    // Network-server name.
    string name = 2;

    // Network-server server.
    // Format: hostname:ip (e.g. localhost:8000).
    string server = 3;

    // CA certificate (optional).
    string ca_cert = 4;

    // TLS (client) certificate for connecting to the network-server (optional).
    string tls_cert = 5;

    // TLS (client) key for connecting to the network-server (optional).
    string tls_key = 6;

    // Routing-profile ca certificate (used by the network-server to connect
    // back to the application-server) (optional).
    string routing_profile_ca_cert = 7 [json_name = "routingProfileCACert"];

    // Routing-profile TLS certificate (used by the network-server to connect
    // back to the application-server) (optional).
    string routing_profile_tls_cert = 8 [json_name = "routingProfileTLSCert"];

    // Routing-profile TLS key (used by the network-server to connect
    // back to the application-server) (optional).
    string routing_profile_tls_key = 9 [json_name = "routingProfileTLSKey"];

    // Enable gateway discovery for this network-server.
    bool gateway_discovery_enabled = 10;

    // The number of times per day the gateway discovery 'ping' must be
    // broadcasted per gateway.
    uint32 gateway_discovery_interval = 11;

    // The frequency (Hz) of the gateway discovery 'ping'.
    uint32 gateway_discovery_tx_frequency = 12 [json_name = "gatewayDiscoveryTXFrequency"];

    // The data-rate of the gateway discovery 'ping'.
    uint32 gateway_discovery_dr = 13 [json_name = "gatewayDiscoveryDR"];
}

message NetworkServerListItem {
    // Network-server ID.
    int64 id = 1;

    // Network-server name.
    string name = 2;

    // Network-server server.
    // Format: hostname:ip (e.g. localhost:8000).
    string server = 3;

    // Created at timestamp.
    google.protobuf.Timestamp created_at = 4;

    // Last update timestamp.
    google.protobuf.Timestamp updated_at = 5;
}

message CreateNetworkServerRequest {
    // Network-server object to create.
    NetworkServer network_server = 1;
}

message CreateNetworkServerResponse {
    // Network-server ID.
    int64 id = 1;
}

message GetNetworkServerRequest {
    // Network-server ID.
    int64 id = 1;
}

message GetNetworkServerResponse {
    // Network-server object.
    NetworkServer network_server = 1;

    // Created at timestamp.
    google.protobuf.Timestamp created_at = 2;

    // Last update timestamp.
    google.protobuf.Timestamp updated_at = 3;

    // The ChirpStack Network Server version.
    string version = 4;

    // The ChirpStack Network Server region configured.
    string region = 5;
}

message UpdateNetworkServerRequest {
    // Network-server object to update.
    NetworkServer network_server = 1;
}

message DeleteNetworkServerRequest {
    // Network-server ID.
    int64 id = 1;
}

message ListNetworkServerRequest {
    // Max number of items to return.
    int64 limit = 1;

    // Offset in the result-set (for pagination).
    int64 offset = 2;

    // Organization id to filter on.
    int64 organization_id = 3 [json_name = "organizationID"];
}

message ListNetworkServerResponse {
    // Total number of network-servers.
    int64 total_count = 1;

    // Network-servers within the result-set.
    repeated NetworkServerListItem result = 2;
}