Skip to content

API

ChirpStack Application Server provides to API interface that can be used for building integration. Both interfaces provide exactly the same functionality.

gRPC

gRPC is a high-performance, open-source universal RPC framework. Protocol Buffers definitions are used to define this API. All definitions are hosted in the chirpstack-api repository.

Using the gRPC toolsets, it is possible to generate API clients for various programming languages. The following languages are officially supported by gRPC but there are additional community-based implementations:

  • C++
  • Go
  • Node.js
  • Java
  • Ruby
  • Android Java
  • PHP
  • Python
  • C#
  • Objective-C

Authentication

In order to use the gRPC API methods, you must provide per-RPC credentials. The key for this metadata is authorization, the value Bearer <API TOKEN> (replace <API TOKEN> with the API TOKEN obtained using the web-interface).

ChirpStack SDKs

The ChirpStack project provides SDKs for the following programming languages:

RESTful JSON interface

The RESTful JSON API interface is provides by an embedded Restful HTTP API to gRPC proxy. While it can be more convenient for simple use-cases, it is slightly less performant due to the additional translation layer.

ChirpStack Application Server provides an API console containing all API methods and their documentation. This console can be accessed at /api (e.g. http://localhost:8080/api).

Authentication

In order to use the API methods within the API console, you must enter your API token, which can be obtained using the web-interface, in the JWT TOKEN field (no need to press Enter).

When using the API endpoints within your own integrations or using for example cURL, you must set the Grpc-Metadata-Authorization header to Bearer <API TOKEN>.