sdmx-dl
GitHub Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Web service

work-in-progress

sdmx-dl WS is a web service that serves as a bridge to any application or language.
This service has two endpoints:

  • a gRPC endpoint which has the best performances but a limited set of clients
  • a REST endpoint which has a wider range of clients but is less efficient

These endpoints also provides specifications (.proto files and OpenAPI respectively) that can be used to generate client code. They are designed to operate locally as well as on remote machines.

Getting started

An uber-jar (aka fat-jar) is available on the GitHub release page and on Maven Central.
Java 17+ is required to run it.

To run it, just use the following command: java -jar sdmx-dl-grpc-VERSION-runner.jar

Custom config:

Option Description
quarkus.grpc.server.port The gRPC server port
quarkus.http.port The HTTP port

More info at Quarkus all configuration options page and HTTP reference page.

gRPC endpoint

The gRPC endpoint is the most efficient way to interact with the web service.
Its default port is 4557. For convenience, the reflection protocol is enabled.

Call example using gRPCurl:

grpcurl -d "{\"source\":\"ECB\"}" -plaintext localhost:4557 sdmxdl.grpc.SdmxWebManager.GetFlows

REST endpoint

The REST endpoint has the best compatibility with a wide range of clients.
Its default port is 4559. For convenience, an OpenAPI UI is available at http://localhost:4559/q/swagger-ui.

Call example using curl:

curl -X POST -H "Content-Type: application/json" localhost:4559/sdmx-dl/flows --data "{\"source\":\"ECB\"}"