Elexon REMIT API

REMIT messages, including previous revisions.

OpenAPI Specification

elexon-remit-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Insights.Api Balancing Mechanism Dynamic REMIT API
  version: '1.0'
  description: Dynamic data.
servers:
- url: https://data.elexon.co.uk/bmrs/api/v1
tags:
- name: REMIT
  description: REMIT messages, including previous revisions.
paths:
  /remit:
    get:
      tags:
      - REMIT
      summary: Bulk fetch message details by IDs
      description: This endpoint provides one or more REMIT messages based on the given message IDs.
      parameters:
      - name: messageId
        in: query
        required: true
        schema:
          type: array
          items:
            type: integer
            format: int32
          example:
          - 1
          - 2
          - 3
          - 4
        example:
        - 1
        - 2
        - 3
        - 4
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          type: string
      responses:
        '200':
          description: Data retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId'
        '429':
          description: Too many requests
        '400':
          description: Error with query parameters - see response for details
        '404':
          description: No data found for given query parameters
        '500':
          description: Server error - please try again later
  /remit/{messageId}:
    get:
      tags:
      - REMIT
      summary: Fetch message details by ID
      description: This endpoint provides a REMIT message based on a given message ID.
      parameters:
      - name: messageId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          type: string
      responses:
        '200':
          description: Data retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId'
        '429':
          description: Too many requests
        '400':
          description: Error with query parameters - see response for details
        '404':
          description: No data found for given id
        '500':
          description: Server error - please try again later
  /remit/search:
    get:
      tags:
      - REMIT
      summary: Fetch message details by mRID
      description: 'This endpoint provides one or more REMIT messages based on the given mRID and revision number. If none is given

        it returns the REMIT message revision with the latest revision number.'
      parameters:
      - name: mrid
        in: query
        required: true
        schema:
          type: string
          example: 48X000000000080X-NGET-RMT-00014669
        example: 48X000000000080X-NGET-RMT-00014669
      - name: revisionNumber
        in: query
        schema:
          type: integer
          format: int32
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          type: string
      responses:
        '200':
          description: Data retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId'
        '429':
          description: Too many requests
        '400':
          description: Error with query parameters - see response for details
        '404':
          description: No data found for given query parameters
        '500':
          description: Server error - please try again later
  /remit/revisions:
    get:
      tags:
      - REMIT
      summary: List all message revisions
      description: 'This endpoint provides all revisions for a given REMIT message.

        The message can be specified in two ways:

        - the mRID

        - the message ID of a specific revision, which will return the entire list of revisions for that message'
      parameters:
      - name: mrid
        in: query
        schema:
          type: string
          example: 48X000000000080X-NGET-RMT-00014669
        example: 48X000000000080X-NGET-RMT-00014669
      - name: messageId
        in: query
        schema:
          type: integer
          format: int32
          example: 1
        example: 1
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          type: string
      responses:
        '200':
          description: Data retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
        '429':
          description: Too many requests
        '400':
          description: Error with query parameters - see response for details
        '404':
          description: No data found for given query parameters
        '500':
          description: Server error - please try again later
  /remit/list/by-publish:
    get:
      tags:
      - REMIT
      summary: List messages by publish time
      description: "This endpoint provides a list of REMIT message identifiers based on the publish time and other optional parameters.\n            \n- Filtering by LatestRevisionOnly (default = true):\n   if true, include only the latest revision of each message.\n            \n- Filtering by ProfileOnly (default = false):\n    if true, include only messages with an outage profile."
      parameters:
      - name: from
        in: query
        required: true
        schema:
          type: string
          format: date-time
          example: 2023/04/13 07:00
        example: 2023/04/13 07:00
      - name: to
        in: query
        required: true
        schema:
          type: string
          format: date-time
          example: 2023/04/14 07:00
        example: 2023/04/14 07:00
      - name: participantId
        in: query
        schema:
          type: string
          example: EECL
        example: EECL
      - name: assetId
        in: query
        schema:
          type: string
          example: T_RATSGT-2
        example: T_RATSGT-2
      - name: messageType
        in: query
        schema:
          type: string
          example: UnavailabilitiesOfElectricityFacilities
        example: UnavailabilitiesOfElectricityFacilities
      - name: unavailabilityType
        in: query
        schema:
          type: string
          example: Planned
        example: Planned
      - name: eventType
        in: query
        schema:
          type: array
          items:
            type: string
          example:
          - Production Unavailability
          - Transmission unavailability
        example:
        - Production Unavailability
        - Transmission unavailability
      - name: fuelType
        in: query
        schema:
          type: array
          items:
            type: string
          example:
          - Fossil Hard coal
          - Biomass
        example:
        - Fossil Hard coal
        - Biomass
      - name: latestRevisionOnly
        in: query
        schema:
          type: boolean
          example: true
        example: true
      - name: profileOnly
        in: query
        schema:
          type: boolean
          example: false
        example: false
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          type: string
      responses:
        '200':
          description: Data retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
        '429':
          description: Too many requests
        '400':
          description: Error with query parameters - see response for details
        '500':
          description: Server error - please try again later
  /remit/list/by-publish/stream:
    get:
      tags:
      - REMIT
      summary: List messages by publish time (stream)
      description: "This endpoint provides a list of REMIT message identifiers based on the publish time and other optional parameters.\n            \n- Filtering by LatestRevisionOnly (default = true):\n   if true, include only the latest revision of each message.\n            \n- Filtering by ProfileOnly (default = false):\n    if true, include only messages with an outage profile.\n            \nThis endpoint has an optimised JSON payload and is aimed at frequent requests for this data."
      parameters:
      - name: from
        in: query
        required: true
        schema:
          type: string
          format: date-time
          example: 2023/04/13 07:00
        example: 2023/04/13 07:00
      - name: to
        in: query
        required: true
        schema:
          type: string
          format: date-time
          example: 2023/04/14 07:00
        example: 2023/04/14 07:00
      - name: participantId
        in: query
        schema:
          type: string
          example: EECL
        example: EECL
      - name: assetId
        in: query
        schema:
          type: string
          example: T_RATSGT-2
        example: T_RATSGT-2
      - name: messageType
        in: query
        schema:
          type: string
          example: UnavailabilitiesOfElectricityFacilities
        example: UnavailabilitiesOfElectricityFacilities
      - name: unavailabilityType
        in: query
        schema:
          type: string
          example: Planned
        example: Planned
      - name: eventType
        in: query
        schema:
          type: array
          items:
            type: string
          example:
          - Production Unavailability
          - Transmission unavailability
        example:
        - Production Unavailability
        - Transmission unavailability
      - name: fuelType
        in: query
        schema:
          type: array
          items:
            type: string
          example:
          - Fossil Hard coal
          - Biomass
        example:
        - Fossil Hard coal
        - Biomass
      - name: latestRevisionOnly
        in: query
        schema:
          type: boolean
          example: true
        example: true
      - name: profileOnly
        in: query
        schema:
          type: boolean
          example: false
        example: false
      responses:
        '200':
          description: Data retrieved
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
        '429':
          description: Too many requests
        '400':
          description: Error with query parameters - see response for details
        '500':
          description: Server error - please try again later
  /remit/list/by-event:
    get:
      tags:
      - REMIT
      summary: List messages by event time
      description: "This endpoint provides a list of REMIT message identifiers based on the event start time, end time and other optional parameters.\n            \n- Filtering by LatestRevisionOnly (default = true):\n   if true, include only the latest revision of each message.\n            \n- Filtering by ProfileOnly (default = false):\n    if true, include only messages with an outage profile."
      parameters:
      - name: from
        in: query
        required: true
        schema:
          type: string
          format: date-time
          example: 2023/04/13 07:00
        example: 2023/04/13 07:00
      - name: to
        in: query
        required: true
        schema:
          type: string
          format: date-time
          example: 2023/04/14 07:00
        example: 2023/04/14 07:00
      - name: participantId
        in: query
        schema:
          type: string
          example: EECL
        example: EECL
      - name: assetId
        in: query
        schema:
          type: string
          example: T_RATSGT-2
        example: T_RATSGT-2
      - name: messageType
        in: query
        schema:
          type: string
          example: UnavailabilitiesOfElectricityFacilities
        example: UnavailabilitiesOfElectricityFacilities
      - name: unavailabilityType
        in: query
        schema:
          type: string
          example: Planned
        example: Planned
      - name: eventType
        in: query
        schema:
          type: array
          items:
            type: string
          example:
          - Production Unavailability
          - Transmission unavailability
        example:
        - Production Unavailability
        - Transmission unavailability
      - name: fuelType
        in: query
        schema:
          type: array
          items:
            type: string
          example:
          - Fossil Hard coal
          - Biomass
        example:
        - Fossil Hard coal
        - Biomass
      - name: latestRevisionOnly
        in: query
        schema:
          type: boolean
          example: true
        example: true
      - name: profileOnly
        in: query
        schema:
          type: boolean
          example: false
        example: false
      - name: format
        in: query
        description: Response data format. Use json/xml to include metadata.
        schema:
          enum:
          - json
          - xml
          type: string
      responses:
        '200':
          description: Data retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
        '429':
          description: Too many requests
        '400':
          description: Error with query parameters - see response for details
        '500':
          description: Server error - please try again later
  /remit/list/by-event/stream:
    get:
      tags:
      - REMIT
      summary: List messages by event time (stream)
      description: "This endpoint provides a list of REMIT message identifiers based on the event start, end time and other optional parameters.\n            \n- Filtering by LatestRevisionOnly (default = true):\n   if true, include only the latest revision of each message.\n            \n- Filtering by ProfileOnly (default = false):\n    if true, include only messages with an outage profile.\n            \nThis endpoint has an optimised JSON payload and is aimed at frequent requests for this data."
      parameters:
      - name: from
        in: query
        required: true
        schema:
          type: string
          format: date-time
          example: 2023/04/13 07:00
        example: 2023/04/13 07:00
      - name: to
        in: query
        required: true
        schema:
          type: string
          format: date-time
          example: 2023/04/14 07:00
        example: 2023/04/14 07:00
      - name: participantId
        in: query
        schema:
          type: string
          example: EECL
        example: EECL
      - name: assetId
        in: query
        schema:
          type: string
          example: T_RATSGT-2
        example: T_RATSGT-2
      - name: messageType
        in: query
        schema:
          type: string
          example: UnavailabilitiesOfElectricityFacilities
        example: UnavailabilitiesOfElectricityFacilities
      - name: unavailabilityType
        in: query
        schema:
          type: string
          example: Planned
        example: Planned
      - name: eventType
        in: query
        schema:
          type: array
          items:
            type: string
          example:
          - Production Unavailability
          - Transmission unavailability
        example:
        - Production Unavailability
        - Transmission unavailability
      - name: fuelType
        in: query
        schema:
          type: array
          items:
            type: string
          example:
          - Fossil Hard coal
          - Biomass
        example:
        - Fossil Hard coal
        - Biomass
      - name: latestRevisionOnly
        in: query
        schema:
          type: boolean
          example: true
        example: true
      - name: profileOnly
        in: query
        schema:
          type: boolean
          example: false
        example: false
      responses:
        '200':
          description: Data retrieved
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
        '429':
          description: Too many requests
        '400':
          description: Error with query parameters - see response for details
        '500':
          description: Server error - please try again later
components:
  schemas:
    Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId:
      type: object
      properties:
        dataset:
          type: string
          nullable: true
          example: REMIT
        mrid:
          type: string
          nullable: true
          example: 11XINNOGY------2-NGET-RMT-00084421
        revisionNumber:
          type: integer
          format: int32
          example: 25
        publishTime:
          type: string
          format: date-time
          example: '2023-01-31T17:39:15Z'
        createdTime:
          type: string
          format: date-time
          example: '2023-01-31T17:39:15Z'
        messageType:
          type: string
          nullable: true
          example: UnavailabilitiesOfElectricityFacilities
        messageHeading:
          type: string
          nullable: true
          example: Planned Unavailability of Generation Unit
        eventType:
          type: string
          nullable: true
          example: Production unavailability
        unavailabilityType:
          type: string
          nullable: true
          example: Planned
        participantId:
          type: string
          nullable: true
          example: 11XINNOGY------2
        registrationCode:
          type: string
          nullable: true
          example: 11XINNOGY------2
        assetId:
          type: string
          nullable: true
          example: T_DIDCB5
        assetType:
          type: string
          nullable: true
          example: Production
        affectedUnit:
          type: string
          nullable: true
          example: DIDCB5
        affectedUnitEIC:
          type: string
          nullable: true
          example: 48W000000DIDCB5C
        affectedArea:
          type: string
          nullable: true
          example: N
        biddingZone:
          type: string
          nullable: true
          example: 10YGB----------A
        fuelType:
          type: string
          nullable: true
          example: Fossil Gas
        normalCapacity:
          type: number
          format: double
          nullable: true
          example: 780
        availableCapacity:
          type: number
          format: double
          nullable: true
          example: 320
        unavailableCapacity:
          type: number
          format: double
          nullable: true
          example: 361
        eventStatus:
          type: string
          nullable: true
          example: Inactive
        eventStartTime:
          type: string
          format: date-time
          example: '2022-08-23T06:59:00Z'
        eventEndTime:
          type: string
          format: date-time
          nullable: true
          example: '2022-08-25T05:20:30Z'
        durationUncertainty:
          type: string
          nullable: true
          example: +- 1 day
        cause:
          type: string
          nullable: true
          example: Other
        relatedInformation:
          type: string
          nullable: true
          example: Status changed to Completed
        outageProfile:
          type: array
          items:
            $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.DatasetRows.OutageProfileData'
          nullable: true
          example:
          - startTime: '2023-02-03T21:06:31.000Z'
            endTime: '2023-02-03T21:10:00.000Z'
            capacity: 436
        id:
          type: integer
          format: int32
          example: 1
      additionalProperties: false
    ? Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl
    : type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl'
          nullable: true
        metadata:
          $ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
      additionalProperties: false
    Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Insights.Api.Models.Responses.Transparency.Remit.RemitMessageWithId'
          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.Transparency.Remit.DatasetRows.OutageProfileData:
      type: object
      properties:
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        capacity:
          type: number
          format: double
      additionalProperties: false
    Insights.Api.Models.Responses.Transparency.Remit.RemitMessageIdentifierWithUrl:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 24
        mrid:
          type: string
          nullable: true
          example: 11XINNOGY------2-NGET-RMT-00084421
        revisionNumber:
          type: integer
          format: int32
          example: 2
        createdTime:
          type: string
          format: date-time
          example: '2023-01-31T17:39:15Z'
        publishTime:
          type: string
          format: date-time
          example: '2023-01-31T17:15:31Z'
        url:
          type: string
          nullable: true
          example: https://data.elexon.co.uk/bmrs/api/v1/remit/24
      additionalProperties: false