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

# Submit IF-038 with Event Code DirectContractMSRemove message for validation

`POST /validate/IF-038/DirectContractMSRemove`

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

## Request body

- object[]
  - `payload` IF038DirectContractMSRemove — IF038 for event code DirectContractMSRemove / DirectContractDSRemove
    - `CommonBlock` object, required — MHHS Common Block for IF-038
      - `S0` object, required — Sender Header block
        - `interfaceID` 'IF-038', required
        - `schemaVersion` '011', required — Version of the message schema used in the exchange
        - `eventCode` '[DirectContractMSRemove]', 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.

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