API Structure and Libraries

gRPC

We use gRPC as our messaging protocol for all our APIs, except the Subscription API and Provision API.

Our .proto files can be found at github.com/working-group-two/wgtwoapis under the wgtwo folder.

REST-like

The Subscription API and Provision API has a REST-like API.

Our OpenAPI specification can be found at github.com/working-group-two/wgtwoapis-openapi under the openapi folder.

Libraries

Using our .proto files and OpenAPI specification, you may generate code for most languages.

In addition, we offer generated code for Go and Java.

Go

Add import for the API you would like to use. Path is the same as its .proto file:

import (
	wgtwoEvents  "github.com/working-group-two/wgtwoapis/wgtwo/events/v0"
)

Java / Kotlin using Maven

To add the dependencies, first you need to add the https://jitpack.io repository:

To add the dependencies, first you need to add the https://jitpack.io repository:
<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

Then you can add the dependencies:

<dependencies>
    <dependency>
      <groupId>com.wgtwo.api.v0.grpc</groupId>
      <artifactId>events</artifactId>
      <version>0.1.6</version>
  </dependency>
</depenencies>

The specific package to include is included in the documentation of each API.

The version used is the commit SHA from our repository.

Latest version should match the output of:

git ls-remote https://github.com/working-group-two/wgtwoapis master | cut -f1