openapi: 3.0.0 info: version: '1.0' title: Eurostat SDMX RESTful Async SDMX 2.1 Data queries API description: 'Listing of supported SDMX requests based on * [official sdmx-rest 2.1 specifications](https://github.com/sdmx-twg/sdmx-rest/tree/v1.5.0/v2_1/ws/rest/docs) * [official sdmx-rest 3.0 specifications](https://github.com/sdmx-twg/sdmx-rest/tree/v2.0.0/doc) For additional information, please consult the [online-help](https://ec.europa.eu/eurostat/web/user-guides/data-browser). ' contact: name: Contact Eurostat user support url: https://ec.europa.eu/eurostat/help/support servers: - description: Eurostat url: https://ec.europa.eu/eurostat/api/dissemination - description: Eurostat - Comext datasets url: https://ec.europa.eu/eurostat/api/comext/dissemination tags: - name: SDMX 2.1 Data queries paths: /sdmx/2.1/data/{flow}/{key}: get: summary: Get data tags: - SDMX 2.1 Data queries parameters: - $ref: '#/components/parameters/flow' - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/startPeriod' - $ref: '#/components/parameters/endPeriod' - $ref: '#/components/parameters/firstNObservations' - $ref: '#/components/parameters/lastNObservations' - $ref: '#/components/parameters/dimensionAtObservation' - $ref: '#/components/parameters/detail' - $ref: '#/components/parameters/accept-encoding' - $ref: '#/components/parameters/accept-language' responses: '200': $ref: '#/components/responses/200' '304': $ref: '#/components/responses/304' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '413': $ref: '#/components/responses/413' '414': $ref: '#/components/responses/414' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' components: responses: '503': description: Service unavailable '501': description: Not implemented '414': description: URI too long '403': description: Forbidden '200': description: OK content: application/vnd.sdmx.genericdata+xml;version=2.1: schema: type: string application/vnd.sdmx.structurespecificdata+xml;version=2.1: schema: type: string application/vnd.sdmx.generictimeseriesdata+xml;version=2.1: schema: type: string application/vnd.sdmx.structurespecifictimeseriesdata+xml;version=2.1: schema: type: string application/vnd.sdmx.data+csv;version=1.0.0: schema: type: string '500': description: Internal server error '400': description: Bad syntax '404': description: Not found '401': description: Unauthorized '304': description: No changes '413': description: Request entity too large '406': description: Not acceptable parameters: accept-language: in: header name: Accept-Language description: 'Specifies the client''s preferred language. ' schema: type: string dimensionAtObservation: in: query name: dimensionAtObservation description: 'Indicates **how the data should be packaged**. The options are: * `TIME_PERIOD`: A timeseries view * The ID of any other dimension: A cross-sectional view of the data * `AllDimensions`: A flat view of the data. ' required: false schema: type: string pattern: ^[A-Za-z][A-Za-z\d_-]*$ default: TIME_PERIOD flow: in: path name: flow description: 'The **statistical domain** (aka dataflow) of the data to be returned. Examples: * `EXR`: The ID of the domain * `ECB,EXR`: The EXR domain, maintained by the ECB * `ECB,EXR,1.0`: Version 1.0 of the EXR domain, maintained by the ECB ' required: true schema: type: string pattern: ^([a-zA-Z][a-zA-Z\d_-]*(\.[a-zA-Z][a-zA-Z\d_-]*)*,)?[a-zA-Z\d_@$-]+(,(latest|(\d+(\.\d+)*)))?$ firstNObservations: in: query name: firstNObservations description: 'The maximum number of observations to be returned starting from the oldest one ' required: false schema: type: integer minimum: 1 key: in: path name: key description: "The (possibly partial) **key identifying the data to be returned**.\n\nThe keyword `all` can be used to indicate that all data belonging to the specified dataflow and provided by the specified provider must be returned.\n\nThe examples below are based on the following key: Frequency, Country, Component of inflation, Unit of measure.\n * `M.DE.000000.ANR`: Full key, matching exactly one series, i.e. the monthly (`M`) rates of change (`ANR`) of overall inflation (`000000`) in Germany (`DE`).\n * `A+M.DE.000000.ANR`: Retrieves both annual and monthly data (`A+M`), matching exactly two series\n * `A+M..000000.ANR`: The second dimension is wildcarded, and it wil therefore match the annual and monthly rates of change of overall inflation in any country.\n" required: true schema: type: string pattern: ^([\.A-Za-z\d_@$-]+(\+[A-Za-z\d_@$-]+)*)*$ lastNObservations: in: query name: lastNObservations description: 'The maximum number of observations to be returned starting from the most recent one ' required: false schema: type: integer minimum: 1 endPeriod: in: query name: endPeriod description: 'The end of the period for which results should be supplied (inclusive). Can be expressed using 8601 dates or SDMX reporting periods. Examples: * `2000`: Year (ISO 8601) * `2000-01`: Month (ISO 8601) * `2000-01-01`: Date (ISO 8601) * `2000-S1`: Semester (SDMX) * `2000-D001`: Day (SDMX) ' required: false schema: type: string pattern: ^\d{4}-?((\d{2}(-\d{2})?)|A1|S[1|2]|Q[1-4]|T[1-3]|M(0[1-9]|1[0-2])|W(0[1-9]|[1-4][0-9]|5[0-3])|D(0[0-9][1-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6]))?$ accept-encoding: in: header name: Accept-Encoding description: 'Specifies whether the response should be compressed and how. `identity` (the default) indicates that no compression will be performed. ' schema: type: string enum: - gzip default: identity startPeriod: in: query name: startPeriod description: 'The start of the period for which results should be supplied (inclusive). Can be expressed using 8601 dates or SDMX reporting periods. Examples: * `2000`: Year (ISO 8601) * `2000-01`: Month (ISO 8601) * `2000-01-01`: Date (ISO 8601) * `2000-Q1`: Quarter (SDMX) * `2000-W01`: Week (SDMX) ' required: false schema: type: string pattern: ^\d{4}-?((\d{2}(-\d{2})?)|A1|S[1|2]|Q[1-4]|T[1-3]|M(0[1-9]|1[0-2])|W(0[1-9]|[1-4][0-9]|5[0-3])|D(0[0-9][1-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6]))?$ detail: in: query name: detail description: 'The **amount of information** to be returned. Possible options are: * `full`: All data and documentation * `dataonly`: Everything except attributes * `serieskeysonly`: The series keys. This is useful to return the series that match a certain query, without returning the actual data (e.g. overview page) * `nodata`: The series, including attributes and annotations, without observations. ' required: false schema: type: string enum: - full - dataonly - serieskeysonly - nodata default: full