---
title: "Submit IF-001 with Event Code ChangeOfSupplier message for validation"
method: POST
path: "/validate/IF-001/ChangeOfSupplier"
tags: ["DIP Message Validation Endpoints"]
---

# Submit IF-001 with Event Code ChangeOfSupplier message for validation

`POST /validate/IF-001/ChangeOfSupplier`

## Request

- Base URL: `https://dip-api-documentation.elexon.co.uk`
- URL: `https://dip-api-documentation.elexon.co.uk/validate/IF-001/ChangeOfSupplier`
- Auth: API key in header `X-API-Key`

Allows a Market Participant to validate a single messages for debugging purposes only

## Request body

- object[]
  - `payload` IF001ChangeOfSupplier: IF001 Message
    - `CommonBlock` object, required
      - `S0` object, required: Sender Header block
        - `interfaceID` 'IF-001', required
        - `schemaVersion` '011', required: Version of the message schema used in the exchange
        - `eventCode` '[ChangeOfSupplier]', required
      - `S1` S1, required: Sender Common block
        - `environmentTag` 'PRD' | 'SITB' | 'SIT' | 'UIT' | 'DEV', required: Environment Tag
        - `subText` string, nullable, required: SubText
        - `senderUniqueReference` string, required: Sender Unique Reference
        - `senderTimestamp` string, required: ISO 8601 Date/time
        - `senderDIPID` string, required: DIP Participant Id
        - `senderRoleID` string, required: DIP Participant Role
        - `senderCorrelationID` string, nullable, required: Correlation Id
        - `DIPConnectionProviderID` string, nullable, required: DIP Participant Id
      - `A0` A0: Addressing block
        - `primaryRecipients` DT006NDIPParticipantID[], required: Primary Recipient - array of Ids; set by Sender
        - `secondaryRecipients` DT006NDIPParticipantID[], required: Secondary Recipient - array of Ids; set by DIP
        - `always` DT006NDIPParticipantID[], required: Always Recipient - array of Ids; set by DIP
      - `D0` D0: DIP Block
        - `transactionID` string, required: Transaction ID
        - `transactionTimestamp` string, required: ISO 8601 Date/time
        - `publicationID` string, required: DIP Publication ID
        - `initialCorrelationID` string, nullable, required: Correlation Id
        - `replayIndicator` boolean, required: Set by the DIP to denote that a txn is being replayed
        - `serviceTicketURL` string, nullable, required: URL
      - `M0` M0, required: MPAN Core
        - `MPANCore` string, required: MPAN Core
        - `distributorDIPID` string, required: DIP Participant Id
        - `GSPGroupID` '_A' | '_B' | '_C' | '_D' | '_E' | '_F' | '_G' | '_H' | '_J' | '_K' | '_L' | '_M' | '_N' | '_P', required: Identifies the distinct grid supply point group (physical region of the country) where the metering point is located.
    - `CustomBlock` object, required: IF001 Custom data block
      - `B013` B013, required: CSS Registration Request Id
        - `CSSRegistrationID` string, required: CSS Registration ID
      - `B002` B002, required: Incoming Supplier Information
        - `incomingSupplierDIPID` string, required: DIP Participant Id
        - `incomingSupplierMPID` string, required: Legacy MPID
        - `supplierEffectiveFromDate` string, required: ISO 8601 Date/time
      - `B003` B003, required: Outgoing Supplier Information
        - `outgoingSupplierDIPID` string, required: DIP Participant Id
        - `outgoingSupplierMPID` string, required: Legacy MPID
        - `supplierEffectiveToDate` string, required: ISO 8601 Date/time
      - `B004` B004, required: MPAN CSS Dom Indicator
        - `domesticPremiseIndicator` boolean, required: A flag that indicates if the MPAN of the registration appointment is used to identify a domestic premises.
        - `domesticPremiseIndicatorEffectiveFromDate` string, required: ISO 8601 Date/time
      - `B005` B005: Incumbent/Outgoing Service Providers
        - `currentMeteringServiceDIPID` string, nullable, required: DIP Participant Id
        - `currentMeteringServiceMPID` string, nullable, required: Legacy MPID
        - `currentDataServiceDIPID` string, nullable, required: DIP Participant Id
        - `currentDataServiceMPID` string, nullable, required: Legacy MPID
      - `B006` B006: CDC Info
        - `customerDirectContractMeteringService` boolean, required: An indicator to show if a direct customer contract exists between the customer at the metering service provider.
        - `customerDirectContractMeteringServiceDIPID` string, nullable, required: DIP Participant Id
        - `customerDirectContractDataService` boolean, required: An indicator to show if a direct customer contract exists between the customer at the data service provider.
        - `customerDirectContractDataServiceDIPID` string, nullable, required: DIP Participant Id
      - `B022` B022, required: MPAN Address
        - `meteringPointPostcode` string, nullable, required: UK Post Code
        - `addressLine1` string, nullable, required: Address Line
        - `addressLine2` string, nullable, required: Address Line
        - `addressLine3` string, nullable, required: Address Line
        - `addressLine4` string, nullable, required: Address Line
        - `addressLine5` string, nullable, required: Address Line
        - `addressLine6` string, nullable, required: Address Line
        - `addressLine7` string, nullable, required: Address Line
        - `addressLine8` string, nullable, required: Address Line
        - `addressLine9` string, nullable, required: Address Line
      - `B023` B023, required: MPAN Connection Info
        - `connectionTypeIndicator` 'W' | 'L' | 'H' | 'E' | 'U', required: A code to indicate the type of connection.
        - `connectionTypeEffectiveFromDate` string, required: ISO 8601 Date/time
        - `energyDirection` 'I' | 'E', required: Indicates the direction of energy at a metering point. Values can be I = import / E = export
        - `meteredIndicator` boolean, required: An indicator to show whether the Consumption Component is for a metered supply or unmetered supply.
      - `B024` B024, required: MPAN DUOS Tariff ID
        - `DUOSTariffID` string, required: Reference to identify the DUoS Tariff assigned to an MPAN
        - `DUOSTariffIDEffectiveFromDate` string, required: ISO 8601 Date/time
      - `B025` B025, required: MPAN Energisation Info
        - `energisationStatus` 'D' | 'E' | 'U', required: Indicates if the metering point is considered energised (i.e. connected to the distribution system) and therefore active for settlement purposes.
        - `energisationStatusEffectiveFromDate` string, required: ISO 8601 Date/time
      - `B026` B026, required: MPAN Segment Info
        - `marketSegmentIndicator` 'U' | 'S' | 'A', required: An enumeration of Smart/Advanced/Unmetered.
        - `marketSegmentIndicatorEffectiveFromDate` string, required: ISO 8601 Date/time
      - `B027` B027: Assumed Annual Consumption
        - `annualConsumption` string, required: kWh Consumption (9,3) format - leading
        - `annualConsumptionEffectiveFromDate` string, required: ISO 8601 Date/time
        - `annualConsumptionQualityIndicator` 'A' | '1' | '2' | '3' | '4' | '5' | 'D', required: Assumed Annual Consumption Quality Indicator
      - `B029` B029: DCC Enrolment Status
        - `DCCServiceFlag` 'A' | 'I' | 'N', required: A flag indicating the status of services being provided by the DCC for the metering point.
        - `DCCEffectiveFromDate` string, required: ISO 8601 Date/time
      - `B030` B030: IHD Info
        - `IHDInstallStatus` 'I' | 'D' | 'E' | 'F', nullable, required: Information from the Supplier regarding the In Home Display at a metering point.
        - `IHDEffectiveFromDate` string, required: ISO 8601 Date/time
      - `B031` B031: SMSO Info
        - `SMSOID` string, nullable, required: The Id of the operator a Supplier has procured data and communication services from in respect of a Metering System (applies only to certain types of SMETS1 Metering).
        - `SMSOEffectiveFromDate` string, required: ISO 8601 Date/time
      - `B032` B032: MPAN Legacy info
        - `profileClass` string, nullable, required: A legacy classification, retained soley for a subset of Traditional Meters, to assist with the allocation of gross consumption to individual Settlement Periods.
        - `profileClassEffectiveFromDate` string, nullable, required: ISO 8601 Date/time
        - `SSC` string, nullable, required: A legacy classification, retained soley for a subset of Traditional Meters, to assist with the allocation of gross consumption to individual Settlement Periods.
        - `SSCEffectiveFromDate` string, nullable, required: ISO 8601 Date/time
      - `B035List` B035[]
        - `linkedImportExportMPAN` string, required: MPAN Core
        - `linkedMPANEnergyDirection` 'I' | 'E', required: The Energy Direction (Import or Export) of a Linked MPAN
        - `importExportMPANSupplierDIPID` string, nullable, required: DIP Participant Id
        - `importExportMPANSupplierMPID` string, nullable, required: Legacy MPID
      - `B037List` B037[]
        - `primaryMPAN` string, nullable, required: MPAN Core
        - `secondaryMPAN` string, nullable, required: MPAN Core

## Response `201`

Message OK

- string

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error

---

[API](https://skmtc.dev/elexon/apis/mhhs-dip.md) - [All operations](https://skmtc.dev/elexon/apis/mhhs-dip/llms.txt) - [OpenAPI document](https://skmtc.dev/elexon/apis/mhhs-dip/revisions/d9dfdef064ae?raw)
