---
title: "GetDemographicsCapability"
method: GET
path: "/api/resilience/v1/get-demographics-capability"
tags: ["ResilienceService"]
---

# GetDemographicsCapability

`GET /api/resilience/v1/get-demographics-capability`

## Request

- Base URL: `https://api.worldmonitor.app`
- URL: `https://api.worldmonitor.app/api/resilience/v1/get-demographics-capability`
- Auth: one of:
  - API key in header `X-WorldMonitor-Key`
  - API key in header `X-Api-Key`
  - HTTP bearer

GetDemographicsCapability returns age, education and industrial-workforce observations for one country. PRO-gated. Requires entitlement tier >= 1.

## Query parameters

- `countryCode` string, required
- `jmespath` string

## Response `200`

OK

- WorldmonitorResilienceV1GetDemographicsCapabilityResponse
  - `countryCode` string
  - `available` boolean: True when at least one validated observation exists for the country.
  - `fetchedAt` string: ISO-8601 time the canonical snapshot was generated.
  - `stages` WorldmonitorResilienceV1DemographicsCapabilityStage[]
    - `name` string: Stable stage name: wpp, education, or ilostat.
    - `status` string: Seeder state, normally fresh, retained, or unavailable.
    - `fetchedAt` string: ISO-8601 time of the data retained for this stage.
    - `recordCount` integer: Number of country records retained for the stage.
    - `newestObservationYear` integer: Most recent source observation year retained for the stage.
  - `ageStructure` WorldmonitorResilienceV1DemographicsAgeStructure
    - `available` boolean
    - `medianAgeYears` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `oldAgeDependencyRatioPercent` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `totalDependencyRatioPercent` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `workingAgePopulationPeople` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `workingAgePopulationProjected10yPeople` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
  - `education` WorldmonitorResilienceV1DemographicsEducation
    - `available` boolean
    - `tertiaryEnrollmentGrossPercent` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `stemGraduatesSharePercent` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `researchersPerMillion` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
  - `industrialWorkforce` WorldmonitorResilienceV1DemographicsIndustrialWorkforce
    - `available` boolean
    - `craftTradesEmploymentPeople` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `plantMachineOperatorsEmploymentPeople` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `trainedIndustrialWorkforcePeople` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.
    - `manufacturingEmploymentSharePercent` WM11: CapabilityObservation keeps a measured zero distinct from a missing value.
      - `available` boolean: True when value, year, source and unit pass validation.
      - `value` number, double: Numeric observation. Read available first: zero is also the proto3 placeholder.
      - `year` integer: Source year; not the seed year.
      - `source` string: Provider or dataset attribution.
      - `unit` string: Unit: percent, people, or years.
      - `sourceStatus` string: Provider or input status; absent is unknown.

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key.
- `403`: PRO entitlement access denied.
- `429`: Rate limit exceeded.
- `503`: Service unavailable. Billing-verification responses include code and X-Billing-Verification; other gateway infrastructure failures use the generic GatewayError shape.
- `default`: Gateway or handler error response.

---

[API](https://skmtc.dev/worldmonitor/apis/worldmonitor-api.md) · [All operations](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/revisions/e3dc8463a5c9?raw)
