> ## Documentation Index
> Fetch the complete documentation index at: https://docs.auth.energy/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve individual CIM XML Difference Model file from a Development Project

> Returns a single CIM XML Difference Model file (EQ, SC, or GL) from within a Development Project archive. Difference Models contain both forwardDifferences (additions) and reverseDifferences (deletions) against a base Full Model.




## OpenAPI

````yaml /neso-dsi/api/ltds_grid_modelling_openapi.yaml get /stage3/development-projects/{projectId}/{cimFile}
openapi: 3.1.0
info:
  title: LTDS Grid Modelling Data Exchange API
  description: >
    API specification for the Long Term Development Statement (LTDS) Grid
    Modelling data exchange, as defined in LTDS Grid Modelling Annex 2 – Data
    Exchange Specifications Version 6 (published 22 February 2026).

    Data is exchanged as CIM XML (RDF/XML) files conforming to LTDS merged
    profiles derived from CGMES v3.0. Files are organised into .zip archives and
    published via a web page per licence area.

    This API covers: - Stage 2 publications (Fault Level, System Capacity
    existing & future year 1) - Stage 3 publications (NETS solved cases, Fault
    Level, System Capacity, Development Projects)

    Owned by Ofgem. Maintained by the GB CIM Advisory Group facilitated by BSI.
  version: 6.0.0
  contact:
    name: GB CIM Advisory Group (facilitated by BSI)
  license:
    name: © Ofgem – All rights reserved
servers:
  - url: https://ltds.{licenceArea}.example.com/grid-modelling
    description: >
      Per-licence-area LTDS publication endpoint. Replace {licenceArea} with the
      appropriate licence area code.
    variables:
      licenceArea:
        enum:
          - EPN
          - EMIDS
          - LPN
          - SPM
          - WMIDS
          - NPgN
          - SPENW
          - SHEPD
          - SPD
          - SPN
          - SEPD
          - SWALES
          - SWEST
          - NPgY
        default: EPN
        description: >
          Licence area code for the DNO: EPN=East England (UK Power Networks),
          EMIDS=East Midlands (National Grid Electricity Distribution),
          LPN=London (UK Power Networks), SPM=North Wales/Merseyside/Cheshire
          (SP Energy Networks), WMIDS=West Midlands (National Grid Electricity
          Distribution), NPgN=North East England (Northern Powergrid),
          SPENW=North West England (Electricity North West), SHEPD=North
          Scotland (Scottish and Southern Electricity Networks), SPD=South and
          Central Scotland (SP Energy Networks), SPN=South East England (UK
          Power Networks), SEPD=Southern England (Scottish and Southern
          Electricity Networks), SWALES=South Wales (National Grid Electricity
          Distribution), SWEST=South West England (National Grid Electricity
          Distribution), NPgY=Yorkshire (Northern Powergrid)
security: []
tags:
  - name: Stage 2 Publications
    description: >
      LTDS Stage 2 publication endpoints. Covers Existing Fault Level, Existing
      System Capacity, and Future Year 1 System Capacity cases.
  - name: Stage 3 Publications
    description: >
      LTDS Stage 3 publication endpoints. Covers NETS Maximum/Minimum Demand
      solved cases, Fault Level, System Capacity (existing and 5 future years),
      and firm grid Development Projects.
  - name: CIM XML Files
    description: >
      Individual CIM XML file retrieval within a published .zip archive. Files
      conform to LTDS merged profiles serialised as RDF/XML.
paths:
  /stage3/development-projects/{projectId}/{cimFile}:
    get:
      tags:
        - CIM XML Files
      summary: >-
        Retrieve individual CIM XML Difference Model file from a Development
        Project
      description: >
        Returns a single CIM XML Difference Model file (EQ, SC, or GL) from
        within a Development Project archive. Difference Models contain both
        forwardDifferences (additions) and reverseDifferences (deletions)
        against a base Full Model.
      operationId: getStage3DevelopmentProjectFile
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
        - $ref: '#/components/parameters/DevelopmentProjectFile'
        - $ref: '#/components/parameters/PublicationYear'
        - $ref: '#/components/parameters/Period'
        - $ref: '#/components/parameters/ZipVersion'
      responses:
        '200':
          description: CIM XML Difference Model file (RDF/XML)
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/CIMXMLDifferenceModel'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    DevelopmentProjectFile:
      name: cimFile
      in: path
      required: true
      description: CIM XML Difference Model file within a Development Project archive
      schema:
        type: string
        enum:
          - EQ.xml
          - SC.xml
          - GL.xml
        example: EQ.xml
    PublicationYear:
      name: publicationYear
      in: query
      required: true
      description: 4-digit calendar year of the LTDS publication
      schema:
        type: integer
        example: 2026
    Period:
      name: period
      in: query
      required: true
      description: >
        2-digit publication cycle number within the year. 01 = May publication
        cycle; 02 = November publication cycle.
      schema:
        type: string
        enum:
          - '01'
          - '02'
        example: '01'
    ZipVersion:
      name: version
      in: query
      required: false
      description: >
        Version number of the .zip file. Starts at 1 for the initial
        publication; incremented by 1 for each correction within the cycle.
        Independent of md:Model.version inside the CIM XML files.
      schema:
        type: integer
        minimum: 1
        default: 1
        example: 1
  schemas:
    CIMXMLDifferenceModel:
      type: object
      description: >
        A CIM XML Difference Model file serialised as RDF/XML (IEC 61970-552).
        Describes grid changes as additions (forwardDifferences) and deletions
        (reverseDifferences) against a base Full Model.

        RDF namespaces used: - md:
        http://iec.ch/TC57/61970-552/ModelDescription/1# - dm:
        http://iec.ch/TC57/61970-552/DifferenceModel/1# - cim:
        http://iec.ch/TC57/CIM100# - eu: http://iec.ch/TC57/CIM100-European# -
        gb: http://ofgem.gov.uk/ns/CIM/LTDS/Extensions# - rdf:
        http://www.w3.org/1999/02/22-rdf-syntax-ns#
      properties:
        header:
          $ref: '#/components/schemas/DifferenceModelHeader'
        forwardDifferences:
          type: array
          description: >-
            Grid objects/attributes/associations to be ADDED to the base Full
            Model
          items:
            $ref: '#/components/schemas/CIMObject'
        reverseDifferences:
          type: array
          description: >-
            Grid objects/attributes/associations to be DELETED from the base
            Full Model
          items:
            $ref: '#/components/schemas/CIMObject'
      required:
        - header
    DifferenceModelHeader:
      type: object
      description: >
        dm:DifferenceModel header as defined in IEC 61970-552 and the LTDS
        Header Profile. Appears at the beginning of every CIM XML Difference
        Model file.
      properties:
        mRID:
          type: string
          format: uuid
          description: Unique UUID identifier of this dm:DifferenceModel
          example: 39132026-9039-4a3f-9961-71F5529CEAA1
        created:
          type: string
          format: date-time
          description: >
            Date/time the Difference Model was serialised (md:Model.created).
            Format: yyyy-mm-ddThh:mm:nn.nnnZ
          example: '2026-05-01T10:35:00.000Z'
        scenarioTime:
          type: string
          format: date-time
          description: >
            Anticipated in-service date/time of the development project
            (md:Model.scenarioTime). Format: yyyy-mm-ddThh:mm:00.000Z
          example: '2028-03-01T00:00:00.000Z'
        description:
          type: string
          description: Free-form description of the set of grid changes
          example: New 132kV substation and feeder additions – Project PROJ-NE-2026A
        modelingAuthoritySet:
          $ref: '#/components/schemas/LicenceAreaKind'
        version:
          type: string
          description: DNO-chosen version string, independent of .zip version number
          example: '1.0'
        profile:
          type: array
          description: Version IRI(s) of the LTDS merged profile(s) this file conforms to
          items:
            $ref: '#/components/schemas/ProfileVersionIRI'
          minItems: 1
        dependentOn:
          type: array
          description: >
            UUIDs of other Difference Models on which this Difference Model
            depends. Zero to many entries.
          items:
            type: string
            format: uuid
      required:
        - mRID
        - created
        - scenarioTime
        - modelingAuthoritySet
        - profile
    CIMObject:
      type: object
      description: >
        A generic CIM grid instance object serialised in RDF/XML. All instances
        of classes inheriting from IdentifiedObject carry both an
        rdf:ID/rdf:about resource identifier AND an explicit
        cim:IdentifiedObject.mRID attribute.
      properties:
        mRID:
          type: string
          format: uuid
          description: >
            IdentifiedObject.mRID – present as both rdf:ID/rdf:about and as an
            explicit attribute value per IEC 61970-552.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        type:
          type: string
          description: >
            CIM class name (e.g. cim:ACLineSegment, cim:PowerTransformer,
            cim:EnergyConsumer, cim:GeneratingUnit, cim:Switch).
          example: cim:ACLineSegment
        name:
          type: string
          description: IdentifiedObject.name
          example: LINE-132-ALPHA-BETA
        description:
          type: string
          description: IdentifiedObject.description
        attributes:
          type: object
          description: >
            Profile-defined attributes for this CIM object, as key-value pairs
            where keys are fully-qualified CIM attribute names.
          additionalProperties: true
          example:
            cim:ACLineSegment.r: 0.1
            cim:ACLineSegment.x: 0.4
            cim:ACLineSegment.bch: 0
            gb:ACLineSegment.ratedU: 132000
        associations:
          type: object
          description: >
            Profile-defined associations as key-value pairs where values are
            rdf:resource references (UUIDs) to associated objects.
          additionalProperties:
            type: string
            format: uuid
          example:
            cim:ConductingEquipment.BaseVoltage: d9e8f7c6-b5a4-3210-fedc-ba9876543210
      required:
        - mRID
        - type
    Error:
      type: object
      properties:
        code:
          type: integer
          example: 404
        message:
          type: string
          example: >-
            Publication not found for the specified licence area, year and
            period.
      required:
        - code
        - message
    LicenceAreaKind:
      type: string
      description: DNO licence area code (gb:LicenceAreaKind)
      enum:
        - EPN
        - EMIDS
        - LPN
        - SPM
        - WMIDS
        - NPgN
        - SPENW
        - SHEPD
        - SPD
        - SPN
        - SEPD
        - SWALES
        - SWEST
        - NPgY
      example: EPN
    ProfileVersionIRI:
      type: string
      format: uri
      description: >
        Version IRI of an LTDS merged profile or CGMES v3.0 profile, as
        documented in the applicable .rdf file as owl:versionIRI. Available from
        the BSI GB CIM Engagement Hub.
      example: http://iec.ch/TC57/ns/CIM/CoreEquipment-EU/3.0
  responses:
    NotFound:
      description: >
        The requested publication, archive or CIM XML file was not found. This
        may indicate the publication cycle has not yet been released, the
        parameters are incorrect, or no correction version exists.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'

````