---
title: "Get dataset coverage and account access"
method: GET
path: "/v1/commodities/{code}/coverage"
tags: ["Commodities"]
---

# Get dataset coverage and account access

`GET /v1/commodities/{code}/coverage`

Returns the versioned, customer-safe coverage contract for one catalog
code. History bounds come from an asynchronously refreshed materialized
snapshot; this request does not scan the raw price table. Availability
and account entitlement are separate so callers can distinguish missing
data from plan access.

## Path parameters

- `code` string, required

## Response `200`

Versioned dataset coverage contract

- DatasetCoverageResponse
  - `status` 'success', required
  - `data` DatasetCoverage, required
    - `schema_version` '1.0', required
    - `generated_at` string, date-time, required
    - `code` string, required
    - `name` string, required
    - `category` string, required
    - `geography` string, nullable
    - `currency` string, required
    - `unit` string, required
    - `availability` 'active' | 'stale' | 'discontinued' | 'source_limited' | 'unavailable' | 'empty', required
    - `availability_reason` string, nullable
    - `source_class` 'official_or_public_source' | 'published_market_reference', required
    - `expected_cadence` string, required
    - `latest` object, required
      - `as_of` string, date-time, nullable, required
      - `stale` boolean, nullable, required
      - `age_days` integer, nullable, required
    - `history` object, required
      - `available_from` string, date, nullable, required
      - `available_to` string, date, nullable, required
      - `granularities` string[], required
      - `coverage_type` 'observed_series' | 'unknown', required
      - `measured_at` string, date-time, nullable, required
      - `sample_count` integer, nullable, required
    - `delivery` string[], required
    - `access` object, required — Account-aware access states derived from canonical entitlement policies
    - `usage_review` object, required
      - `public_display` string, required
      - `redistribution` string, required

## Other responses

- `401` — Unauthorized - Invalid API key
- `404` — Commodity code is unknown
- `500` — Unexpected server error. Retry transient failures with bounded backoff and retain the request ID when contacting support.

---

[API](https://skmtc.net/oilpriceapi/apis/oil-price-api-v1.md) · [All operations](https://skmtc.net/oilpriceapi/apis/oil-price-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oilpriceapi/oil-price-api-v1/revisions/5a5ce424cacc/schema)
