---
title: "Arbitrary ILO dataflow passthrough"
method: GET
path: "/api/v1/ilostat/dataflow/{dataflow_id}"
tags: ["Statistical Agencies"]
---

# Arbitrary ILO dataflow passthrough

`GET /api/v1/ilostat/dataflow/{dataflow_id}`

Fetch any of the 1,166 ILOSTAT dataflows by identifier. Sugra encodes the dimension order for 20 featured dataflows; for the rest the request is sent with an `all` key and paginated by `last_n`. Use the catalog endpoint to discover valid dataflow identifiers.

## Path parameters

- `dataflow_id` string, required — ILO dataflow identifier (e.g. DF_UNE_DEAP_SEX_AGE_RT).

## Query parameters

- `countries` string, nullable — Optional REF_AREA filter (ISO 3166-1 alpha-3, `+` separator).
- `freq` string, nullable — Optional FREQ filter (A, Q, M).
- `sex` string, nullable — Optional SEX filter (SEX_T / SEX_M / SEX_F).
- `age` string, nullable — Optional AGE filter (e.g. AGE_YTHADULT_YGE15).
- `last_n` integer — Most-recent observations per series (upstream cap).
- `start` string, nullable — startPeriod.
- `end` string, nullable — endPeriod.

## Response `200`

Observation rows for the requested dataflow.

- EnvelopeIloDataflowPassthroughPayload
  - `data` IloDataflowPassthroughPayload, required — Arbitrary ILO dataflow passthrough.
    - `dataflow` string, required — ILO dataflow identifier requested.
    - `observations` IloObservation[], required — Observation rows returned by ILOSTAT.
      - `dataflow` string, nullable — Originating ILO dataflow identifier (e.g. DF_UNE_DEAP_SEX_AGE_RT).
      - `ref_area` string, nullable — Reference area - ISO 3166-1 alpha-3 country code (USA, GBR, DEU).
      - `freq` string, nullable — SDMX frequency code: A (annual), Q (quarterly), M (monthly).
      - `freq_label` string, nullable — Human label for frequency.
      - `measure` string, nullable — ILO measure code (e.g. UNE_DEAP_RT unemployment rate).
      - `sex` string, nullable — Sex classification code (SEX_T total, SEX_M male, SEX_F female).
      - `sex_label` string, nullable — Human label for sex (Total, Male, Female).
      - `age` string, nullable — Age classification code (e.g. AGE_YTHADULT_YGE15 for 15+).
      - `age_label` string, nullable — Human label for age group.
      - `eco` string, nullable — Economic activity code (ISIC sector aggregate).
      - `eco_label` string, nullable — Human label for economic activity.
      - `ins` string, nullable — Institutional sector code (total, private, public, formal, informal).
      - `ins_label` string, nullable — Human label for institutional sector.
      - `cur` string, nullable — Currency conversion code (CUR_TYPE_LCU / USD / PPP / EUR).
      - `cur_label` string, nullable — Human label for currency conversion.
      - `ocu` string, nullable — Occupation classification code (ISCO aggregate).
      - `ocu_label` string, nullable — Human label for occupation.
      - `time_period` string, nullable — SDMX time period (YYYY, YYYY-Mxx, YYYY-Q#).
      - `period` string, nullable — Alias for time_period kept for consumer convenience.
      - `year` integer, nullable — Reference year parsed from time_period.
      - `data_time` string, nullable — Normalised ISO 8601 UTC timestamp for the observation period.
      - `value` number, nullable — Parsed numeric observation value.
      - `obs_value` number, nullable — Raw OBS_VALUE as returned by ILOSTAT.
      - `obs_status` string, nullable — SDMX observation status (B break in series, I imputed, E estimated, ...).
      - `unit_measure_type` string, nullable — Unit-of-measure type (RT rate, NB number).
      - `unit_measure` string, nullable — Unit-of-measure code (PT percent, HR hour, CS count, CR local currency).
      - `unit_mult` integer, nullable — Unit multiplier exponent (0 = as-is, 3 = thousands, 6 = millions).
      - `source` string, nullable — Upstream data source label (LFS, ADM, census).
      - `note_source` string, nullable — Source-level notes appended by ILOSTAT.
      - `note_indicator` string, nullable — Indicator-level notes.
      - `note_classif` string, nullable — Classification-level notes.
      - `decimals` integer, nullable — Decimal precision recommended by ILOSTAT.
    - `count` integer, required — Number of observations returned.
  - `meta` SugraMeta, required — Metadata attached to every /api/v1/* response envelope.
    - `endpoint` string, required — Requested endpoint path.
    - `data_time` string, required — ISO 8601 UTC timestamp of the source data, not of the request.
    - `response_time` string, required — ISO 8601 UTC timestamp when this response was produced.
    - `provider` string, required — API name and version.
    - `source` string, nullable — Identifier of the primary upstream source used for this response.
    - `attribution` string, nullable — Human-readable attribution mandated by an upstream source (e.g. a securities regulator or self-regulatory organization). Present only on responses whose source requires the owner and source to be clearly identified. Do not remove or alter it when using the response.
    - `fallback_used` boolean, nullable — True when the primary source failed and a fallback produced the data.
    - `fallback_chain` string[], nullable — Ordered list of sources attempted, in the order they were tried.
    - `cached` boolean, nullable — True when this response was served from the internal cache.
    - `stale` boolean, nullable — True when the cached response was returned after the upstream rate-limited or errored. Clients can use this to detect degraded data.

## Other responses

- `401` — Missing or invalid `x-api-key` header.
- `422` — Validation Error
- `429` — Daily rate limit exceeded. Check `X-RateLimit-Reset` for the next window.
- `503` — Upstream source is temporarily unavailable. Retry after a short delay.

---

[API](https://skmtc.net/sugra/apis/sugra-api.md) · [All operations](https://skmtc.net/sugra/apis/sugra-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sugra/sugra-api/versions/dcf7427e6897/schema)
