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

# Submit IF-041 with Event Code ReadingRemote message for validation

`POST /validate/IF-041/ReadingRemote`

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

## Request body

- object[]
  - `payload` IF041Payload — IF041 Smart/Advanced Readings
    - `CommonBlock` object, required — MHHS Common Block for IF-041
      - `S0` object, required — Sender Header block
        - `interfaceID` 'IF-041', required
        - `schemaVersion` '011', required — Version of the message schema used in the exchange
        - `eventCode` '[ReadingRemote]' | '[ReadingRemv]' | '[ReadingInstl]' | '[ReadingEnergisationChg]' | '[ReadingCOR]' | '[ReadingOnSite]' | '[ReadingCOS]' | '[DSEstimate]' | '[SupplierAgreedCOS]' | '[ReadingOverride]', 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 — IF041 Custom data block
      - `B064List` B064[]
        - `meterID` string, required — Meter ID
        - `cumulativeRegisterReading` string, required — kWh Consumption (9,3) format - leading
        - `cumulativeRegisterReadingDateTime` string, required — ISO 8601 Date/time
        - `readingMethod` 'A' | 'C' | 'E' | 'S', required — Indicates how the meter reading was obtained
        - `siteVisitCheckCode` '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '29' | '30' | '31' | '32' | '33' | '34' | '35' | '36' | '37' | '38' | '39' | '40' | '41' | '42' | '43' | '44' | '50' | '51' | '52' | '53' | '54' | '55' | '56' | '57' | '58' | '88' | '89', nullable, required — A code identifying either nature of checks made/to be made on metering equipment during a site visit or identifying reason for failure to obtain readings.
      - `B065List` B065[]
        - `meterID` string, required — Meter ID
        - `configurableRegisterReadingDate` string, required — ISO 8601 Date/time
        - `configurableRegisterID` string, required — Register ID relating to a specific configurable (billing) register on a Smart Meter
        - `configurableRegisterReading` string, required — kWh Consumption (9,3) format - leading

## 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)
