gRPC API

Consider using Sift's gRPC API over the REST API when:

  • High performance is required
  • A client library is available for your preferred programming language

Client libraries utilize gRPC internally. If a client library is not available for your language, you can manually compile Sift's protocol buffers (covered in the next section).

Authentication

As detailed in the Authentication section, all requests to the SIFT gRPC API require an API token in the request metadata. Client libraries automate this process using gRPC interceptors. For reference, here's an example of creating an authenticated request to the gRPC API using grpcurl:

grpcurl -H "authorization: Bearer $API_TOKEN" $SIFT_GRPC_URL:$PORT_NUM sift.ping.v1.PingService/Ping

Listing services from the commandline

To see a list of all of Sift's available gRPC services from the commandline you can use grpcurl:

grpcurl $SIFT_GRPC_URL:$PORT_NUM list

To see the list of endpoints for a particular service (e.g. AssetService):

grpcurl $SIFT_GRPC_URL:$PORT_NUM list sift.assets.v1.AssetService