Singularity Interchange API

The Interchange API from Singularity — 2 operation(s) for interchange.

OpenAPI Specification

singularity-energy-interchange-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Singularity Grid Carbon Emissions Interchange 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: Interchange
paths:
  /v2/interchange:
    get:
      operationId: getInterchange
      tags:
      - Interchange
      summary: Get interchange (power flow) events between regions
      description: Returns interchange / region-flow events describing power flow between regions over a time window.
      parameters:
      - name: region
        in: query
        required: true
        schema:
          type: string
      - name: start
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: end
        in: query
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Interchange events.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionEventList'
  /v2/interchange/latest:
    get:
      operationId: getLatestInterchange
      tags:
      - Interchange
      summary: Get the latest interchange (power flow) event for a region
      parameters:
      - name: region
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The latest interchange event.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionEvent'
components:
  schemas:
    RegionEvent:
      type: object
      description: A region event record (e.g. carbon intensity, fuel mix, or interchange) at a point in time.
      properties:
        dedup_key:
          type: string
          description: Deduplication key uniquely identifying the event.
        region:
          type: string
        event_type:
          type: string
          enum:
          - carbon_intensity
          - generated_fuel_mix
          - marginal_fuel_mix
          - consumed_fuel_mix
          - interchange
        start_date:
          type: string
          format: date-time
        data:
          type: object
          description: Event payload (intensity value in lbs/MWh, fuel-mix breakdown, or interchange values), shape varies by event_type.
    RegionEventList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/RegionEvent'
        meta:
          type: object
          description: Pagination metadata (page, per_page, totals).
  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.