Skip to content

Outdated documentation

You are reading outdated documentation. This page documents ChirpStack v3. ChirpStack v4 is the latest version.

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>.