openapi: 3.0.4
info:
title: Insights.Api Balancing Mechanism Dynamic Load Shape API
version: '1.0'
description: Dynamic data.
servers:
- url: https://data.elexon.co.uk/bmrs/api/v1
tags:
- name: Load Shape
description: Load shape period data and load shape totals data as calculated by the Load Shaping Service
paths:
/lss/load-shape-period:
get:
tags:
- Load Shape
summary: Load shape period data (IF022)
description: "This endpoint enables the retrieval of load shape period (IF022) data for a specified date and settlement period range.\n\nFor more information on Load shape data & load shape categories please view the\nLSS method statement.\n \nDate parameter must be provided in the exact format yyyy-MM-dd."
parameters:
- name: date
in: query
description: The settlement date to return load shape period data for. This must be in the format yyyy-MM-dd.
required: true
schema:
type: string
format: date
example: '2026-03-01'
example: '2026-03-01'
- name: settlementPeriodFrom
in: query
description: Optional settlement period range start (inclusive).
schema:
type: integer
format: int32
example: 1
example: 1
- name: settlementPeriodTo
in: query
description: Optional settlement period range end (inclusive).
schema:
type: integer
format: int32
example: 10
example: 10
- name: format
in: query
description: Response data format. Use json/xml to include metadata.
schema:
enum:
- json
- xml
- csv
type: string
responses:
'200':
description: Data retrieved
content:
text/plain:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapePeriodData'
application/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapePeriodData'
text/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapePeriodData'
application/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapePeriodData'
text/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapePeriodData'
text/csv:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapePeriodData'
'400':
description: Error with query parameters - see response for details
'429':
description: Too many requests
'500':
description: Server error - please try again later
/lss/load-shape-period/stream:
get:
tags:
- Load Shape
summary: Load shape period data stream (IF022)
description: "This endpoint provides a stream of load shape period (IF022) data for a specified date and settlement period range.\nFor more information on Load shape data & load shape categories please view the\nLSS method statement.\n \nDate parameters must be provided in the exact format yyyy-MM-dd."
parameters:
- name: fromDate
in: query
description: The settlement date range start (inclusive). This must be in the format yyyy-MM-dd.
required: true
schema:
type: string
format: date
example: '2026-03-01'
example: '2026-03-01'
- name: toDate
in: query
description: The settlement date range end (inclusive). This must be in the format yyyy-MM-dd.
required: true
schema:
type: string
format: date
example: '2026-03-02'
example: '2026-03-02'
- name: settlementPeriodFrom
in: query
description: Optional settlement period range start (inclusive).
schema:
type: integer
format: int32
example: 40
example: 40
- name: settlementPeriodTo
in: query
description: Optional settlement period range end (inclusive).
schema:
type: integer
format: int32
example: 2
example: 2
responses:
'200':
description: Data retrieved
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Data.Entities.LoadShapePeriodData'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Data.Entities.LoadShapePeriodData'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Data.Entities.LoadShapePeriodData'
'400':
description: Error with query parameters - see response for details
'429':
description: Too many requests
'500':
description: Server error - please try again later
/lss/load-shape-totals:
get:
tags:
- Load Shape
summary: Load shape totals data (IF023)
description: "This endpoint enables the retrieval of Load shape totals data (IF023) for a specified settlement day.\nFor more information on Load shape data & load shape categories please view the\nLSS method statement.\n \nDate parameter must be provided in the exact format yyyy-MM-dd."
parameters:
- name: fromDate
in: query
description: The settlement date range start (inclusive). This must be in the format yyyy-MM-dd.
required: true
schema:
type: string
format: date
example: '2026-03-01'
example: '2026-03-01'
- name: toDate
in: query
description: The settlement date range end (inclusive). This must be in the format yyyy-MM-dd.
required: true
schema:
type: string
format: date
example: '2026-03-31'
example: '2026-03-31'
- name: format
in: query
description: Response data format. Use json/xml to include metadata.
schema:
enum:
- json
- xml
- csv
type: string
responses:
'200':
description: Data retrieved
content:
text/plain:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
application/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
text/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
application/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
text/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
text/csv:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
'400':
description: Error with query parameters - see response for details
'429':
description: Too many requests
'500':
description: Server error - please try again later
/lss/load-shape-totals/stream:
get:
tags:
- Load Shape
summary: Load shape totals data stream (IF023)
description: "This endpoint provides a stream of load shape totals (IF023) data for a specified date range.\nFor more information on Load shape data & load shape categories please view the\nLSS method statement.\n \nDate parameters must be provided in the exact format yyyy-MM-dd."
parameters:
- name: fromDate
in: query
description: The settlement date range start (inclusive). This must be in the format yyyy-MM-dd.
required: true
schema:
type: string
format: date
example: '2026-03-01'
example: '2026-03-01'
- name: toDate
in: query
description: The settlement date range end (inclusive). This must be in the format yyyy-MM-dd.
required: true
schema:
type: string
format: date
example: '2026-03-31'
example: '2026-03-31'
responses:
'200':
description: Data retrieved
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
'400':
description: Error with query parameters - see response for details
'429':
description: Too many requests
'500':
description: Server error - please try again later
components:
schemas:
Insights.Api.Models.Data.Entities.LoadShapeTotalsData:
type: object
properties:
sourceFileName:
type: string
nullable: true
sourceFileDatetime:
type: string
format: date-time
settlementDate:
type: string
format: date
gspGroupId:
type: string
nullable: true
connectionTypeIndicator:
type: string
nullable: true
marketSegmentIndicator:
type: string
nullable: true
domesticPremiseIndicator:
type: string
nullable: true
measurementQuantityId:
type: string
nullable: true
runNumber:
type: integer
format: int32
eventCode:
type: string
nullable: true
settlementPeriodDuration:
type: integer
format: int32
loadShapeDayTotal:
type: number
format: double
loadShapeDayPeakTotal:
type: number
format: double
nullable: true
loadShapeDayOffPeakTotal:
type: number
format: double
nullable: true
loadShape7DayRollingTotal:
type: number
format: double
loadShape7DayRollingPeakTotal:
type: number
format: double
nullable: true
loadShape7DayRollingOffPeakTotal:
type: number
format: double
nullable: true
loadShapeRollingAnnualTotal:
type: number
format: double
additionalProperties: false
Insights.Api.Models.Metadata.ApiResponseSourceMetadata:
type: object
properties:
datasets:
type: array
items:
type: string
nullable: true
example:
- DATASET
additionalProperties: false
Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapeTotalsData:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Data.Entities.LoadShapeTotalsData'
nullable: true
metadata:
$ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
additionalProperties: false
Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Data.Entities.LoadShapePeriodData:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Data.Entities.LoadShapePeriodData'
nullable: true
metadata:
$ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
additionalProperties: false
Insights.Api.Models.Data.Entities.LoadShapePeriodData:
type: object
properties:
sourceFileName:
type: string
nullable: true
sourceFileDatetime:
type: string
format: date-time
settlementDate:
type: string
format: date
settlementPeriodStartDateTime:
type: string
format: date-time
settlementPeriodEndDateTime:
type: string
format: date-time
settlementPeriod:
type: integer
format: int32
gspGroupId:
type: string
nullable: true
connectionTypeIndicator:
type: string
nullable: true
marketSegmentIndicator:
type: string
nullable: true
domesticPremiseIndicator:
type: string
nullable: true
measurementQuantityId:
type: string
nullable: true
runNumber:
type: integer
format: int32
eventCode:
type: string
nullable: true
settlementPeriodDuration:
type: integer
format: int32
loadShapePeriodValue:
type: number
format: double
defaultLoadShapeFlag:
type: string
nullable: true
additionalProperties: false