Singularity Emissions API

The Emissions API from Singularity — 3 operation(s) for emissions.

OpenAPI Specification

singularity-energy-emissions-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Singularity Grid Carbon Emissions API
  description: The Singularity Grid Carbon API provides hourly, location-specific electricity grid emissions intelligence - generated, consumed, and marginal carbon intensity, fuel mix, generation events, interchange (power flow), and emissions forecasts - across ISOs and balancing authorities in the U.S. and Canada. Endpoints and request shapes below are derived from Singularity's public documentation and the official open-source Python SDK (singularity-energy-python-sdk). Field-level schemas are documented at a representative level; consult the official docs for exhaustive response bodies.
  termsOfService: https://singularity.energy
  contact:
    name: Singularity Support
    email: support@singularity.energy
  version: '1.0'
servers:
- url: https://api.singularity.energy
  description: Singularity Grid Carbon API
security:
- ApiKeyAuth: []
tags:
- name: Emissions
paths:
  /v1/emissions/all-factors:
    get:
      operationId: getAllEmissionFactors
      tags:
      - Emissions
      summary: List all emission factor sources and values
      description: Retrieves all available emission factor sources and their values.
      responses:
        '200':
          description: A catalog of emission factor sources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmissionFactors'
  /v1/emissions/calculate-intensity/generated:
    post:
      operationId: calculateGeneratedCarbonIntensity
      tags:
      - Emissions
      summary: Calculate generated carbon intensity from a fuel mix
      description: Computes the generated carbon-intensity emissions rate (lbs/MWh) for a supplied generated fuel mix, region, and emission factor source.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeneratedIntensityRequest'
      responses:
        '200':
          description: The computed generated carbon intensity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntensityResult'
  /v1/emissions/calculate-intensity/marginal:
    post:
      operationId: calculateMarginalCarbonIntensity
      tags:
      - Emissions
      summary: Calculate marginal carbon intensity from fuel mix percentages
      description: Computes the marginal carbon-intensity emissions rate (lbs/MWh) for supplied marginal fuel mix percentages, region, and emission factor source.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarginalIntensityRequest'
      responses:
        '200':
          description: The computed marginal carbon intensity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntensityResult'
components:
  schemas:
    IntensityResult:
      type: object
      properties:
        carbon_intensity:
          type: number
          description: Computed emissions rate in lbs/MWh.
        region:
          type: string
        source:
          type: string
    EmissionFactors:
      type: object
      description: Catalog of emission factor sources and their values, keyed by source.
      additionalProperties: true
    GeneratedIntensityRequest:
      type: object
      properties:
        genfuelmix:
          type: object
          description: Generated fuel mix (fuel category to generation amount).
        region:
          type: string
        source:
          type: string
          description: Emission factor source to use.
      required:
      - genfuelmix
      - region
    MarginalIntensityRequest:
      type: object
      properties:
        fuelmix_percents:
          type: object
          description: Marginal fuel mix as percentages by fuel category.
        region:
          type: string
        source:
          type: string
          description: Emission factor source to use.
      required:
      - fuelmix_percents
      - region
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API key passed in the X-Api-Key request header. A User-Agent header is also required.