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

# Submit IF-021 with Event Code ReactivePower message for validation

`POST /validate/IF-021/ReactivePower`

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

## Request body

- object[]
  - `payload` IF021Payload — IF-021 UTC Settlement Period Consumption Data
    - `CommonBlock` object, required — MHHS Common Block for IF-021
      - `S0` object, required — Sender Header block
        - `interfaceID` 'IF-021', required
        - `schemaVersion` '011', required — Version of the message schema used in the exchange
        - `eventCode` '[ActivePower]' | '[ReactivePower]', 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 — IF021 Custom data block
      - `B044` B044, required — Issuing Data Service
        - `issuingDataServiceDIPID` string, required — DIP Participant Id
      - `B067` B067, required — Connection Type
        - `connectionTypeIndicator` 'W' | 'L' | 'H' | 'E' | 'U', required — A code to indicate the type of connection.
        - `connectionTypeEffectiveFromDate` string, required — ISO 8601 Date/time
      - `B900` B900, required — MQID (B045) Settlement Day Consumption periods (B901)
        - `MQID` B045, required — MQ ID
          - `measurementQuantityID` 'AI' | 'AE' | 'RI' | 'RE', required — Identifies the type of the quantity that is measured by the Settlement Period Value.
        - `settlementDayConsumptionPeriods` B901[], required
          - `settlementDay` B046, required — Settlement Day
            - `settlementDayDate` string, required — ISO 8601 Date/time
            - `periodDuration` integer, required — The settlement period duration in minutes.
          - `consumptionPeriods` B047[], required
            - `sp` string, required — ISO 8601 Date/time
            - `v` string, required — kWh Consumption (9,3) format - leading
            - `q` 'A' | 'E' | 'E0' | 'E1' | 'E2' | 'E3' | 'E4' | 'E5' | 'E6' | 'E7' | 'E8' | 'E9' | 'ZE' | 'ZE1' | 'ZE2' | 'ZE3' | 'A1' | 'A2' | 'A3' | 'AAE1' | 'AAE2' | 'AAE3' | 'EAE1' | 'EAE2' | 'EAE3' | 'EA1' | 'EA2' | 'EA3' | 'EA4' | 'EA5' | 'EA6' | 'EA7' | 'EA8' | 'EA9' | 'EA10' | 'EA11' | 'EA12' | 'EA13', required — Describes if the Settlement Period Value is an actual or an estimate.
            - `e` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10', nullable, required — Used inconjunction with Settlement Period Quality Indicator to explain why data has been estimated
            - `arc` 'A' | 'E' | 'M' | 'R' | 'S' | 'T' | 'X', nullable, required — Consumption Amendment Reason Code

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