Data Query Web Service
Contents
Overview
The Data Query web service offers both a RESTful GET API which conforms the SDMX Specification, and a RESTful POST API which supports advanced features such as joining mulitple datasets and selecting lists of series. Both the GET and POST web service support the SDMX standard parameters such as startPeriod and endPeriod, in addition to this, both APIs support advanced parameters to support features such as paging and calculations.
Both REST and POST APIs offer the same as valid reponse formats, this can be controlled via the format data query parameter, or by using the HTTP Accept Header.
This document describes the Syntax of both the GET and POST API. Both APIs share the same Header Parameters and Query Parameters, as such these sections are applicable to both APIs.
REST GET
Entry Point | /ws/public/sdmxapi/rest |
Access | Public |
Http Method | GET |
Compression | gzip supported |
Response Format | Determined by Accept Header - default SDMX 2.1 Structure Specific Data |
Response Statuses | 200 - Ok 400 - Bad URL Syntax 500 - Server Error |
HTTP Headers
The Accept Header is used to define the output format, to transform the data to. The supported accept header values are
In addition, the following optional header parameters can be used to provide further details on the incoming dataset. If these details are not provided, the Fusion Registry will interrogate the dataset header to get the information. If the dataset is a non-SDMX format, or does not contain the required information in the header, then an error response will be returned.
HTTP Header | Purpose | Allowed Values |
---|---|---|
Accept | This can be used to define the response format of the data | See Accept Headers |
Accept-Language |
This optional header can be used to set the locale to return any multilingual text in (names and descriptions). If the text does not exist in the specified locale, then the default rules will be applied to find the next best appropriate locale. The corresponding locale parameter can be used to override this HTTP Header |
Any valid locale, example: en |
Standard HTTP Query Parameters
The standard query paramters are supported by both GET and POST queries, and are part of the official SDMX API.
Request Parameter | Purpose | Allowed Values |
---|---|---|
Parameters to restrict observations per series | ||
startPeriod | Only return observations if the observation time if after the time specified | Any valid SDMX Time Format |
endPeriod | Only return observations if the observation time if before the time specified | Any valid SDMX Time Format |
lastNObservations | The last ‘n’ observations to return for each matched series | number |
firstNObservations | The first ‘n’ observations to return for each matched series | number |
updatedAfter | Only return data if it was updated after the time specified | Any valid SDMX Time Format |
Parameters to refine content | ||
detail | Specifies the amount of information to be returned |
full (default) – return the complete dataset |
includeHistory | When observation values have been revised over time, this parameter is used to include previous revisions | true/false |
Parameters to change layout | ||
dimensionAtObservation | Groups the data by one of the Dimensions of the DSD |
AllDimensions - used to request the observations are not grouped by any dimension |
Extended HTTP Query Parameters
The Extended query paramters are supported by both GET and POST queries, and are not part of the official SDMX API.
Request Parameter | Purpose | Allowed Values |
---|---|---|
Parameters to restrict observations per series | ||
obsLimit | Limit with error if exceeded. Max number of obs that can be returned. HTTP response code of 413 (request entity too large) is returned if the query exceeds the limit | number |
seriesLimit | Limit with error if exceeded. Max number of series that can be returned. HTTP response code of 413 (request entity too large) is returned if the query exceeds the limit | number |
max | Limit for pagination, specifies the limit for the number of series, any additional series over this limit will not be returned | number |
offset | Use with max to support pagination, the offset defines which series match to start writing | number |
Parameters for saving content | ||
saveAs | If provided the response will be saved to a file with the given name. The file name does not need to include the format postfix, however if .zip
is the type, the reponse will be in zip format |
string |
prettyPrint | XML formats only, if true the XML will be formatted for easy of readability | true/false |
Parameters for language | ||
locale | Alternative to using the HTTP Accept-Langauge header. Locale is used to define which langauge to export labels in.
If the metadata does not include a label in the requested langauge, and alternative language is selected by the server. For CSV formats the locale is also used to format numerical observation values |
string |
Calculating and transforming values | ||
calculatemeasure |
Creates a new Dimension to support the output of new calculated measures, including percentage change, and moving average.
|
Syntax [Measure ID];[calculation 1];[calculation 2];[...]
|