Data Availability Web Service

From Fusion Registry Wiki
Revision as of 01:47, 2 December 2021 by Mnelson (talk | contribs)
Jump to navigation Jump to search


Overview

The Data Availability API is the RESTful web service accessed via the 'availableconstraint' resource.

The API is provided to enable external services to determine what data is available for a Dataflow, based on a current data query selection state, without having to retrieve the full dataset. The main use case is to offer an easy and efficient way for clients of the web service to build a data query form based on the available dimension values.

Examples

Availability of EUR exchange rate data for Danish Krone (from ECB EXR)

https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/availableconstraint/EXR/.DKK...?references=none&mode=exact

The response is a content constraint which describes the values for each dimension that have data, given that CURRENCY is fixed to DKK in the query. In particular it shows there are series for frequencies A, Q, D, H and M. There’s also a ‘series_count’ annotation which tells us the query would return 8 series if run.

Retrieve valid code selections based on the current query

https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/availableconstraint/EXR/.DKK...?references=none&mode=available

By switching from mode=exact to mode=available the response changes, it no longer shows what data will come back from the query - it shows what code options remain valid for all the Dimensions of the DSD. A valid choice is one which will result in data being returned, in the context of the current query. This is useful to prevent a user from building a data query which results in 'no data' due to an invalid combination of dimension selections.

Availability of EUR exchange rate data for the Egyptian Pound (ECB EXR again)

https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/availableconstraint/EXR/.EGP...?references=none&mode=exact

The same query as above, but this time querying for EUR vs EGP exchange rates. Here only series with frequencies A, Q and M are available. And the ‘series_count’ annotation tells us we would get 3 series.