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

# Submit IF-033 with Event Code MSAppSPRequest message for validation

`POST /validate/IF-033/MSAppSPRequest`

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

## Request body

- object[]
  - `payload` IF033MSAppSPRequest — MHHS Common Block for IF-033 MSAppSPRequest
    - `CommonBlock` object, required
      - `S0` object, required — Sender Header block
        - `interfaceID` 'IF-033', required
        - `schemaVersion` '011', required — Version of the message schema used in the exchange
        - `eventCode` '[MSAppSPRequest]', 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 — IF033 Custom data block for MSAppSPRequest
      - `B012` B012, required — Service Provider Appointment Requesting Supplier
        - `serviceProviderAppointmentRequestingSupplierDIPID` string, required — DIP Participant Id
        - `serviceProviderAppointmentRequestingSupplierMPID` string, required — Legacy MPID
      - `B013` B013 — CSS Registration Request Id
        - `CSSRegistrationID` string, required — CSS Registration ID
      - `B070` B070, required — Proposed MeteringService
        - `proposedMeteringServiceDIPID` string, required — DIP Participant Id
        - `proposedMeteringServiceMPID` string, required — Legacy MPID
        - `proposedMeteringServiceDIPEffectiveFromDate` string, required — ISO 8601 Date/time
        - `contractReferenceMeteringService` string, nullable, required — The unique reference of the contractual agreement between a supplier and the data service.
        - `appointmentScenario` 'COS' | 'CSP' | 'USP' | 'SEG' | 'MCA' | 'MCS' | 'ALG', required — Code used to identify the scenario around a Service Provider Appointment.
      - `B072` B072 — Incumbent MeteringService
        - `incumbentMeteringServiceDIPID` string, required — DIP Participant Id
        - `incumbentMeteringServiceMPID` string, required — Legacy MPID
      - `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
      - `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
      - `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
      - `B905List` B905[]
        - `existingMeter` B074 — MPAN Exiting Meter Info
          - `meterID` string, required — Meter ID
          - `meterType` 'CHECK' | 'H' | 'K' | 'LAG_' | 'LEAD_' | 'MAIN_' | 'N' | 'NCAMR' | 'NSS' | 'RCAMR' | 'RCAMY' | 'S' | 'S1' | 'S2A' | 'S2AD' | 'S2ADE' | 'S2B' | 'S2BD' | 'S2BDE' | 'S2C' | 'S2CD' | 'S2CDE' | 'SPECL' | 'T' | '2ADF' | '2ADEF' | '2AEF' | '2AF' | '2BF' | '2BDF' | '2BDEF' | '2BEF' | '2CDEF' | '2CF' | '2CDF' | '2CEF', required — The type of meter, in relation to its capabilities. E.g. AMR.S1, S2, S2ADE
          - `manufacturersMakeAndType` string, nullable, required — The Meter Manufacturer Make and Type
          - `ESMEGUID` string, nullable, required — The Smart Device ID for a smart meter. This is also known as the DCC GUID and is further defined within the DCC interface specifications.
          - `meterLocation` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z', required — The actual location of the metering system within the site
          - `numberOfDisplayedRegisterDigits` integer, nullable, required — Number of digits/dials to the left of the decimal point, of the Cumulative Register.
          - `meterInstallationDate` string, required — ISO 8601 Date/time
        - `existingMAP` B075 — MPAN Exiting Meter Map Info
          - `meterAssetProviderID` string, required — The market-wide reference for the provider of the meter equipment.
          - `meterAssetProviderEffectiveFromDate` string, required — ISO 8601 Date/time
      - `B907List` B907[]
        - `existingMeter` B035, required — Linked Import/Export MPAN Info
          - `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
        - `historyMAP` B910[]
          - `existingMeter` B036, required — Linked Import/Export Meter Info
            - `meterID` string, required — Meter ID
            - `meterType` 'CHECK' | 'H' | 'K' | 'LAG_' | 'LEAD_' | 'MAIN_' | 'N' | 'NCAMR' | 'NSS' | 'RCAMR' | 'RCAMY' | 'S' | 'S1' | 'S2A' | 'S2AD' | 'S2ADE' | 'S2B' | 'S2BD' | 'S2BDE' | 'S2C' | 'S2CD' | 'S2CDE' | 'SPECL' | 'T' | '2ADF' | '2ADEF' | '2AEF' | '2AF' | '2BF' | '2BDF' | '2BDEF' | '2BEF' | '2CDEF' | '2CF' | '2CDF' | '2CEF', required — The type of meter, in relation to its capabilities. E.g. AMR.S1, S2, S2ADE
            - `manufacturersMakeAndType` string, nullable, required — The Meter Manufacturer Make and Type
            - `ESMEGUID` string, nullable, required — The Smart Device ID for a smart meter. This is also known as the DCC GUID and is further defined within the DCC interface specifications.
            - `meterLocation` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z', required — The actual location of the metering system within the site
            - `numberOfDisplayedRegisterDigits` integer, nullable, required — Number of digits/dials to the left of the decimal point, of the Cumulative Register.
            - `meterInstallationDate` string, required — ISO 8601 Date/time
          - `historyMAP` B075[]
            - `meterAssetProviderID` string, required — The market-wide reference for the provider of the meter equipment.
            - `meterAssetProviderEffectiveFromDate` string, required — ISO 8601 Date/time
      - `B908List` B908[]
        - `existingMeter` B037, required — Linked Related MPAN Info
          - `primaryMPAN` string, nullable, required — MPAN Core
          - `secondaryMPAN` string, nullable, required — MPAN Core
        - `historyMAP` B911[]
          - `existingMeter` B038, required — Linked Related Meter Info
            - `meterID` string, required — Meter ID
            - `meterType` 'CHECK' | 'H' | 'K' | 'LAG_' | 'LEAD_' | 'MAIN_' | 'N' | 'NCAMR' | 'NSS' | 'RCAMR' | 'RCAMY' | 'S' | 'S1' | 'S2A' | 'S2AD' | 'S2ADE' | 'S2B' | 'S2BD' | 'S2BDE' | 'S2C' | 'S2CD' | 'S2CDE' | 'SPECL' | 'T' | '2ADF' | '2ADEF' | '2AEF' | '2AF' | '2BF' | '2BDF' | '2BDEF' | '2BEF' | '2CDEF' | '2CF' | '2CDF' | '2CEF', required — The type of meter, in relation to its capabilities. E.g. AMR.S1, S2, S2ADE
            - `manufacturersMakeAndType` string, nullable, required — The Meter Manufacturer Make and Type
            - `ESMEGUID` string, nullable, required — The Smart Device ID for a smart meter. This is also known as the DCC GUID and is further defined within the DCC interface specifications.
            - `meterLocation` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z', required — The actual location of the metering system within the site
            - `numberOfDisplayedRegisterDigits` integer, nullable, required — Number of digits/dials to the left of the decimal point, of the Cumulative Register.
            - `meterInstallationDate` string, required — ISO 8601 Date/time
          - `historyMAP` B075[]
            - `meterAssetProviderID` string, required — The market-wide reference for the provider of the meter equipment.
            - `meterAssetProviderEffectiveFromDate` string, required — ISO 8601 Date/time

## Response `201`

Message OK

- string

## Other responses

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

---

[API](https://skmtc.net/elexon/apis/mhhs-dip.md) · [All operations](https://skmtc.net/elexon/apis/mhhs-dip/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elexon/mhhs-dip/versions/d3e2d9f8faff/schema)
