openapi: 3.0.0 info: title: EIA APIv2 AEO SEP API description: Swagger UI interface for EIA's APIv2. You can also explore EIA's API using the [Opendata Query Browser](https://www.eia.gov/opendata/browser/). For this UI, you must use your EIA `api key` to apply filters and return data. You can register for an API Key at [https://www.eia.gov/opendata/](https://www.eia.gov/opendata/) version: 2.1.0 servers: - url: https://api.eia.gov security: - api_key: [] tags: - name: SEP description: Access to State Electricity Profiles paths: /v2/electricity/state-electricity-profiles/capability/facet/{facet_id}: parameters: - $ref: '#/components/parameters/facetId' get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facet' /v2/electricity/state-electricity-profiles/emissions-by-state-by-fuel/facet/{facet_id}: parameters: - $ref: '#/components/parameters/facetId' get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facet' /v2/electricity/state-electricity-profiles/energy-efficiency/facet/{facet_id}: parameters: - $ref: '#/components/parameters/facetId' get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facet' /v2/electricity/state-electricity-profiles/meters/facet/{facet_id}: parameters: - $ref: '#/components/parameters/facetId' get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facet' /v2/electricity/state-electricity-profiles/net-metering/facet/{facet_id}: parameters: - $ref: '#/components/parameters/facetId' get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facet' /v2/electricity/state-electricity-profiles/source-disposition/facet/{facet_id}: parameters: - $ref: '#/components/parameters/facetId' get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facet' /v2/electricity/state-electricity-profiles/summary/facet/{facet_id}: parameters: - $ref: '#/components/parameters/facetId' get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facet' /v2/electricity/state-electricity-profiles/capability: get: tags: - SEP responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/final-route' /v2/electricity/state-electricity-profiles/capability/facet: get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facets' /v2/electricity/state-electricity-profiles/capability/data: get: tags: - SEP description: API data with query params parameters: - $ref: '#/components/parameters/data' - $ref: '#/components/parameters/facets' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/length' - $ref: '#/components/parameters/offset' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' post: tags: - SEP summary: Class CapabilityDataController description: Electricity capability dataset controller. requestBody: $ref: '#/components/requestBodies/dataParams' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' /v2/electricity/state-electricity-profiles/emissions-by-state-by-fuel: get: tags: - SEP responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/final-route' /v2/electricity/state-electricity-profiles/emissions-by-state-by-fuel/facet: get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facets' /v2/electricity/state-electricity-profiles/emissions-by-state-by-fuel/data: get: tags: - SEP description: API data with query params parameters: - $ref: '#/components/parameters/data' - $ref: '#/components/parameters/facets' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/length' - $ref: '#/components/parameters/offset' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' post: tags: - SEP summary: Return sep emissions-by-state-by-fuel Data description: 'Class EmissionsByStateByFuelController Electricity emissions EmissionsByStateByFuelController dataset controller.' requestBody: $ref: '#/components/requestBodies/dataParams' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' /v2/electricity/state-electricity-profiles/energy-efficiency: get: tags: - SEP responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/final-route' /v2/electricity/state-electricity-profiles/energy-efficiency/facet: get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facets' /v2/electricity/state-electricity-profiles/energy-efficiency/data: get: tags: - SEP description: API data with query params parameters: - $ref: '#/components/parameters/data' - $ref: '#/components/parameters/facets' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/length' - $ref: '#/components/parameters/offset' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' post: tags: - SEP summary: Return sep energy-effiency Data description: 'Class EnergyEfficiencyController Electricity EnergyEfficiencyController dataset controller.' requestBody: $ref: '#/components/requestBodies/dataParams' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' /v2/electricity/state-electricity-profiles/meters: get: tags: - SEP responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/final-route' /v2/electricity/state-electricity-profiles/meters/facet: get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facets' /v2/electricity/state-electricity-profiles/meters/data: get: tags: - SEP description: API data with query params parameters: - $ref: '#/components/parameters/data' - $ref: '#/components/parameters/facets' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/length' - $ref: '#/components/parameters/offset' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' post: tags: - SEP summary: Return sep meters Data description: Class MetersController requestBody: $ref: '#/components/requestBodies/dataParams' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' /v2/electricity/state-electricity-profiles/net-metering: get: tags: - SEP responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/final-route' /v2/electricity/state-electricity-profiles/net-metering/facet: get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facets' /v2/electricity/state-electricity-profiles/net-metering/data: get: tags: - SEP description: API data with query params parameters: - $ref: '#/components/parameters/data' - $ref: '#/components/parameters/facets' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/length' - $ref: '#/components/parameters/offset' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' post: tags: - SEP summary: Return sep net-metering Data description: 'Class NetMeteringController Nuclear Outages data set top-level controller.' requestBody: $ref: '#/components/requestBodies/dataParams' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' /v2/electricity/sep: get: tags: - SEP summary: Class SEPController description: Nuclear Outages data set top-level controller. responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/route' /v2/electricity/state-electricity-profiles/source-disposition: get: tags: - SEP responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/final-route' /v2/electricity/state-electricity-profiles/source-disposition/facet: get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facets' /v2/electricity/state-electricity-profiles/source-disposition/data: get: tags: - SEP description: API data with query params parameters: - $ref: '#/components/parameters/data' - $ref: '#/components/parameters/facets' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/length' - $ref: '#/components/parameters/offset' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' post: tags: - SEP summary: Return sep source-disposition Data description: 'Class SourceDispositionDataController Electricity SourceDisposition dataset controller.' requestBody: $ref: '#/components/requestBodies/dataParams' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' /v2/electricity/state-electricity-profiles/summary: get: tags: - SEP responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/final-route' /v2/electricity/state-electricity-profiles/summary/facet: get: tags: - SEP responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/facets' /v2/electricity/state-electricity-profiles/summary/data: get: tags: - SEP description: API data with query params parameters: - $ref: '#/components/parameters/data' - $ref: '#/components/parameters/facets' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/length' - $ref: '#/components/parameters/offset' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' post: tags: - SEP summary: Return sep summary Data description: 'Class SourceSummaryDataController Electricity SourceSummary dataset controller.' requestBody: $ref: '#/components/requestBodies/dataParams' responses: '400': description: Invalid input '200': description: successful operation content: application/json: schema: $ref: '#/components/responses/data' components: schemas: FinalRoute: properties: id: type: string name: type: string description: type: string frequency: type: array items: $ref: '#/components/schemas/Frequency' facets: type: array items: $ref: '#/components/schemas/FacetMetaData' data: {} startPeriod: type: string endPeriod: type: string defaultDateFormat: type: string defaultFrequency: type: string type: object Routes: properties: routes: type: array items: type: string id: type: string name: type: string description: type: string type: object DataResponseContainer: properties: apiVersion: type: string request: $ref: '#/components/schemas/RouteRequest' response: $ref: '#/components/schemas/DataResponse' type: object Facet: properties: id: type: string name: type: string alias: type: string type: object FacetMetaData: properties: id: type: string description: type: string type: object Frequency: properties: id: type: string description: type: string format: type: string query: type: string type: object DataResponse: properties: data: {} dateFormat: type: string description: type: string frequency: type: string total: type: integer type: object FinalRouteResponseContainer: properties: apiVersion: type: string request: $ref: '#/components/schemas/RouteRequest' response: $ref: '#/components/schemas/FinalRouteResponse' type: object FacetOptionListContainer: properties: apiVersion: type: string request: $ref: '#/components/schemas/RouteRequest' response: $ref: '#/components/schemas/FacetOptionList' type: object Sort: properties: column: type: string direction: type: string type: object DataParams: properties: data: type: array items: type: string facets: type: object frequency: type: string start: type: string end: type: string sort: type: array items: $ref: '#/components/schemas/Sort' length: type: integer offset: type: integer type: object FinalRouteResponse: properties: response: $ref: '#/components/schemas/FinalRoute' request: $ref: '#/components/schemas/RouteRequest' type: object FacetOptionList: properties: totalFacetOptions: type: integer facetOptions: type: array items: type: string type: object RouteResponseContainer: properties: apiVersion: type: string request: $ref: '#/components/schemas/RouteRequest' response: $ref: '#/components/schemas/RouteResponse' type: object RouteResponse: properties: response: $ref: '#/components/schemas/Routes' request: $ref: '#/components/schemas/RouteRequest' type: object RouteRequest: properties: command: type: array items: type: string params: {} type: object FacetDetails: properties: totalFacets: type: integer facets: type: array items: $ref: '#/components/schemas/Facet' type: object FacetDetailsContainer: properties: apiVersion: type: string request: $ref: '#/components/schemas/RouteRequest' response: $ref: '#/components/schemas/FacetDetails' type: object responses: final-route: description: List of API data sets content: application/json: schema: $ref: '#/components/schemas/FinalRouteResponseContainer' data: description: API Data content: application/json: schema: $ref: '#/components/schemas/DataResponseContainer' facets: description: List of facet options content: application/json: schema: $ref: '#/components/schemas/FacetOptionListContainer' facet: description: Facet details content: application/json: schema: $ref: '#/components/schemas/FacetDetailsContainer' route: description: List of API data sets content: application/json: schema: $ref: '#/components/schemas/RouteResponseContainer' parameters: end: name: end in: query description: End date to filter by required: false schema: type: string offset: name: offset in: query description: Offset of returned data required: false schema: type: integer length: name: length in: query description: Max length of returned data required: false schema: type: integer start: name: start in: query description: Start date to filter by required: false schema: type: string facets: name: facets in: query description: Facets to filter by required: false schema: type: object data: name: data in: query description: Data columns to filter by required: false schema: type: array items: type: string facetId: name: facet_id in: path description: Facet ID required: true schema: type: string sort: name: sort in: query description: How to sort returned data required: false schema: $ref: '#/components/schemas/Sort' frequency: name: frequency in: query description: Frequency to filter by required: false schema: type: string requestBodies: dataParams: description: Parameters for data call required: true content: application/json: schema: $ref: '#/components/schemas/DataParams' securitySchemes: api_key: type: apiKey name: api_key in: query externalDocs: description: EIA's API Technical Documentation url: https://www.eia.gov/opendata/documentation.php