Elexon System API

Transmission System data.

OpenAPI Specification

elexon-system-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Insights.Api Balancing Mechanism Dynamic System API
  version: '1.0'
  description: Dynamic data.
servers:
- url: https://data.elexon.co.uk/bmrs/api/v1
tags:
- name: System
  description: Transmission System data.
paths:
  /system/frequency:
    get:
      tags:
      - System
      summary: System frequency (FREQ)
      description: 'This endpoint allows for retrieving a collection of recent system frequency data from National Grid ESO. Results

        can be filtered by a range of DateTime parameters. This endpoint is useful for ad-hoc querying frequency data.'
      parameters:
      - name: from
        in: query
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        schema:
          type: string
          format: date-time
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          - csv
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
            text/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
            text/csv:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
  /system/frequency/stream:
    get:
      tags:
      - System
      summary: System frequency (FREQ) stream
      description: 'This endpoint allows for retrieving a stream of recent system frequency data from National Grid ESO. Results can

        be filtered by a range of DateTime parameters. This endpoint has an optimised JSON payload and aimed at frequent

        request for the frequency data.'
      parameters:
      - name: from
        in: query
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemFrequency'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemFrequency'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemFrequency'
  /system/warnings:
    get:
      tags:
      - System
      summary: System warnings (SYSWARN)
      description: 'This endpoint provides system warnings data. Results can be filtered by warning type and a range of DateTime parameters.

        - If no parameters are specified then the latest message is returned

        - If just a warning type is specified then the latest message of that type is returned

        - If just publish times are specified then all messages within that range are returned'
      parameters:
      - name: warningType
        in: query
        schema:
          type: string
          example: IT SYSTEMS OUTAGE
        example: IT SYSTEMS OUTAGE
      - name: publishDateTimeFrom
        in: query
        schema:
          type: string
          format: date-time
          example: 2023/06/01 07:00
        example: 2023/06/01 07:00
      - name: publishDateTimeTo
        in: query
        schema:
          type: string
          format: date-time
          example: 2023/06/30 10:00
        example: 2023/06/30 10:00
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          - csv
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
            text/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
            text/csv:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
  /system/demand-control-instructions:
    get:
      tags:
      - System
      summary: Demand control instructions (DCI)
      description: 'This endpoint provides demand control instruction data, filtered by the time range of the instruction.

        There is no date range limit on parameters.

        If no query parameters are supplied all data is returned.'
      parameters:
      - name: from
        in: query
        schema:
          type: string
          format: date-time
          example: 2021-04-30T00:00Z
        example: 2021-04-30T00:00Z
      - name: to
        in: query
        schema:
          type: string
          format: date-time
          example: 2021-04-30T20:00Z
        example: 2021-04-30T20:00Z
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          - csv
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
            text/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
            text/csv:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
components:
  schemas:
    Insights.Api.Models.Responses.Misc.SystemWarningsData:
      type: object
      properties:
        publishTime:
          type: string
          format: date-time
          nullable: true
          example: 2022-09-20T00:00Z
        warningType:
          type: string
          nullable: true
          example: IT SYSTEMS OUTAGE
        warningText:
          type: string
          nullable: true
          example: NATIONAL GRID NOTIFICATION of excess energy prices used for settlement outside of BALIT for SO to SO Transactions
      additionalProperties: false
    Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemWarningsData'
          nullable: true
        metadata:
          $ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
      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.Responses.Misc.DemandControlInstructionData:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
          nullable: true
        metadata:
          $ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
      additionalProperties: false
    Insights.Api.Models.Responses.Misc.DemandControlInstructionData:
      type: object
      properties:
        mRID:
          type: string
          nullable: true
          example: DCI_202104300853_00000030
        revisionNumber:
          type: integer
          format: int32
          example: 1
        publishTime:
          type: string
          format: date-time
          nullable: true
          example: '2021-04-30T08:53:39Z'
        publishingPeriodCommencingTime:
          type: string
          format: date-time
          example: '2021-04-30T08:53:39Z'
        affectedDso:
          type: string
          nullable: true
          example: SP(D)
        demandControlId:
          type: string
          nullable: true
          example: '00135'
        instructionSequence:
          type: integer
          format: int32
          example: 1
        demandControlEventFlag:
          type: string
          example: I
        timeFrom:
          type: string
          format: date-time
          example: '2021-04-30T12:45:00Z'
        timeTo:
          type: string
          format: date-time
          nullable: true
          example: '2021-04-30T13:09:00Z'
        volume:
          type: number
          format: double
          example: 68
        systemManagementActionFlag:
          type: string
          nullable: true
          example: T
        amendmentFlag:
          type: string
          nullable: true
          example: ORI
      additionalProperties: false
    Insights.Api.Models.Responses.Misc.SystemFrequency:
      type: object
      properties:
        measurementTime:
          type: string
          format: date-time
        frequency:
          type: number
          format: double
      additionalProperties: false
    Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemFrequency'
          nullable: true
        metadata:
          $ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
      additionalProperties: false