---
title: "Asset detail with monthly emission time series"
method: GET
path: "/api/v1/environment/ct/sources/{source_id}"
tags: ["Environment"]
---

# Asset detail with monthly emission time series

`GET /api/v1/environment/ct/sources/{source_id}`

Fetch a single asset-level source by numeric identifier. Returns monthly rows from January 2021 onward when `time_granularity=month`, else annual rows back to 2015. Response includes the totals block over the selected window, the per-row emission / activity / capacity series, reported owners, subsector rank, and a multi-dimensional confidence matrix. Data sourced from Climate TRACE under CC BY 4.0.

## Path parameters

- `source_id` integer, required — Numeric source identifier assigned by Climate TRACE (see `id` on /sources rows).

## Query parameters

- `start` string — Start of the time series. Accepts year (YYYY) or ISO date (YYYY-MM-DD).
- `end` string — End of the time series. Same formats as `start`.
- `time_granularity` string — Granularity for the emission rows. Monthly data is available from 2021-01 onward; annual data back to 2015.
- `gas` string — Gas identifier from /definitions/gases.

## Response `200`

Full source record with totals, emission time series, owners, and confidence matrix.

- EnvelopeCtSourceDetailPayload
  - `data` CtSourceDetailPayload, required — Response payload for `/environment/ct/sources/{source_id}`.
    - `source` CtSourceDetail, required — Single-source detail response from `/sources/:id`.
      - `id` integer, nullable — Numeric source identifier.
      - `name` string, nullable — Display name of the source.
      - `sector` string, nullable — Top-level sector slug.
      - `subsector` string, nullable — Subsector slug.
      - `country` string, nullable — ISO 3166-1 alpha-3 country code.
      - `adminId` string, nullable — GADM administrative area identifier at the finest reported level.
      - `cityId` string, nullable — GHS Functional Urban Area identifier when applicable.
      - `assetType` string, nullable — Physical asset type.
      - `sourceType` string, nullable — Observation geometry (`point-source`, `area-source`, `line-source`).
      - `centroid` CtCentroid — Geographic centroid of a source in EPSG:4326 (WGS84).
        - `longitude` number, nullable — Longitude in decimal degrees (EPSG:4326 / WGS84).
        - `latitude` number, nullable — Latitude in decimal degrees (EPSG:4326 / WGS84).
        - `srid` integer, nullable — Spatial reference identifier. Always 4326 for WGS84 lon/lat.
      - `capacity` number, nullable — Nameplate capacity of the asset.
      - `capacityUnits` string, nullable — Units for the `capacity` value.
      - `totals` CtTotals — Aggregate totals block attached to /rankings and /sources/emissions responses. On `/rankings/countries`, this block carries `gas`, `emissionsQuantity`, `start`, `end`. On `/sources/emissions`, the block is `{summaries, timeseries}` (no start / end). On `/sources/{id}`, the block carries per-source units (`activityUnits`, `capacityUnits`). Fields across these three shapes are merged here and marked Optional.
        - `start` string, nullable — ISO 8601 start of the aggregation window (rankings).
        - `end` string, nullable — ISO 8601 end of the aggregation window (rankings).
        - `gas` string, nullable — Gas identifier the totals refer to.
        - `emissionsQuantity` number, nullable — Total emissions over the window in tonnes of the reported gas.
        - `emissionsFactor` number, nullable — Emissions factor attached to a single-source totals block.
        - `emissionsFactorUnits` string, nullable — Units for the emissions factor on single-source totals.
        - `activity` number, nullable — Activity volume attached to a single-source totals block.
        - `activityUnits` string, nullable — Units for the `activity` value.
        - `capacity` number, nullable — Nameplate capacity attached to a single-source totals block.
        - `capacityUnits` string, nullable — Units for the `capacity` value.
        - `capacityFactor` number, nullable — Capacity factor attached to a single-source totals block.
        - `summaries` CtTotalsSummary[], nullable — Gas-level summaries across the aggregation window (/sources/emissions).
          - `gas` string, nullable — Gas identifier the row refers to.
          - `emissionsQuantity` number, nullable — Total emissions in tonnes of the reported gas.
          - `percentage` number, nullable — Share of the aggregation total, expressed as a 0-100 percentage.
        - `timeseries` CtTotalsTimeseriesRow[], nullable — Period-level breakdown (monthly where available, else annual).
          - `year` integer, nullable — Calendar year of the aggregate row.
          - `month` integer, nullable — Calendar month (1-12) for monthly rows.
          - `gas` string, nullable — Gas identifier the aggregate row refers to.
          - `sector` string, nullable — Sector slug - present on `sectors.timeseries[]` and `subsectors.timeseries[]`.
          - `subsector` string, nullable — Subsector slug - present on `subsectors.timeseries[]`.
          - `emissionsQuantity` number, nullable — Aggregate emissions in tonnes of the reported gas.
      - `emissions` CtEmissionsRow[], nullable — Monthly (2021+) or annual (2015+) emission rows for the source.
        - `year` integer, nullable — Calendar year the row applies to.
        - `month` integer, nullable — Calendar month (1-12) for monthly rows. Absent on annual rows.
        - `gas` string, nullable — Gas identifier the row refers to.
        - `emissionsQuantity` number, nullable — Emissions total for the period in tonnes of the reported gas.
        - `emissionsFactor` number, nullable — Period-level emissions factor when published.
        - `activity` number, nullable — Activity volume observed in the period.
        - `capacity` number, nullable — Nameplate capacity applicable to the period.
        - `capacityFactor` number, nullable — Capacity factor for the period when published.
      - `owners` CtOwner[], nullable — Reported ownership links - may contain duplicates upstream.
        - `id` string, nullable — Climate TRACE internal owner identifier (prefix `E1...`).
        - `name` string, nullable — Legal or commercial name of the owning entity.
        - `share` number, nullable — Reported share of ownership (0 to 1), when published.
        - `source` string, nullable — Upstream source of the ownership mapping, when published.
      - `subsectorRanks` CtSubsectorRank[], nullable — Rank of this source within its subsector for one or more periods.
        - `year` integer, nullable — Calendar year the rank applies to.
        - `rank` integer, nullable — 1-based rank of the source within its subsector for the year.
      - `confidence` CtConfidenceEntry[], nullable — Confidence matrix - ratings per quality dimension.
        - `year` integer, nullable — Calendar year the ratings apply to.
        - `activity` string, nullable — Confidence in the reported activity value.
        - `asset_type` string, nullable — Confidence in the reported asset type classification.
        - `capacity` string, nullable — Confidence in the reported capacity value.
        - `capacity_factor` string, nullable — Confidence in the reported capacity factor / utilization value.
        - `ch4_emissions` string, nullable — Confidence in the reported CH4 emissions.
        - `ch4_emissions_factor` string, nullable — Confidence in the reported CH4 emissions factor.
        - `co2_emissions` string, nullable — Confidence in the reported CO2 emissions.
        - `co2_emissions_factor` string, nullable — Confidence in the reported CO2 emissions factor.
        - `n2o_emissions` string, nullable — Confidence in the reported N2O emissions.
        - `n2o_emissions_factor` string, nullable — Confidence in the reported N2O emissions factor.
        - `other_gas_emissions` string, nullable — Confidence in the reported emissions for gases other than CO2 / CH4 / N2O.
        - `other_gas_emissions_factor` string, nullable — Confidence in the corresponding emissions factor.
        - `total_co2e_100yrgwp` string, nullable — Confidence in the aggregated CO2e using GWP100.
        - `total_co2e_20yrgwp` string, nullable — Confidence in the aggregated CO2e using GWP20.
  - `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/4e2740743eb4/schema)
