---
title: "INT241 Excise Pre-Validation"
method: POST
path: "/customs/excise/traders/pre-validate"
tags: ["Traders"]
---

# INT241 Excise Pre-Validation

`POST /customs/excise/traders/pre-validate`

## Headers

- `x-correlation-id` string, uuid
- `Content-Type` 'application/json', required
- `Accept` 'application/json', required

## Request body

- object
  - `exciseRegistrationNumber` string, required
  - `entityGroup` 'UK Record' | 'EU Trader' | 'EU Warehouse' | 'UK Temporary Authorisation' | 'EU Temporary Authorisation', required
  - `validateProductAuthorisationRequest` object[], required
    - `product` object, required
      - `exciseProductCode` string, required — The excise product category code

## Response `200`

Return Excise confirmation

- object
  - `validationTimestamp` string, required
  - `exciseRegistrationNumber` string, required
  - `entityGroup` 'UK Record' | 'EU Trader' | 'EU Warehouse' | 'UK Temporary Authorisation' | 'EU Temporary Authorisation', required
  - `validTrader` boolean, required
  - `errorCode` '1' | '2' | '3' | '4' | '5' | '6' — The 'errorCode' for an invalid trader i.e., when validTrader = "false".<br /> 1 = Pending<br /> 2 = Expired<br /> 3 = Withdrawn<br /> 4 = Cancelled<br /> 5 = Used<br /> 6 = Not Found
  - `errorText` string
  - `traderType` '1' | '2' | '3' | '4' | '5' | '6' | '7' — 1 = Warehouse Keeper<br /> 2 = Tax Warehouse<br /> 3 = Registered Consignor<br /> 4 = Registered Consignee<br /> 5 = Temporary Registered Consignee<br /> 6 = Temporary Registered Authorisation<br /> 7 = Other
  - `validateProductAuthorisationResponse` object
    - `valid` boolean, required
    - `productError` object[]
      - `exciseProductCode` string, required — The excise product category code
      - `errorCode` '1' | '2' | '3', required — 1 = Unrecognised EPC<br /> 2 = Unauthorised EPC<br /> 3 = EPC exceeded
      - `errorText` string, required — The 'errorText' will be populated with:<br /> 'Unrecognised EPC' if errorCode = 1<br />'Unauthorised EPC' if errorCode = 2<br />'EPC exceeded' if errorCode = 3

## Other responses

- `400` — Incorrect data, incorrect data format, missing parameters
- `500` — Return 500 error for any 5XX errors

---

[API](https://skmtc.dev/hmrc/apis/excise-movement-control-system-api.md) · [All operations](https://skmtc.dev/hmrc/apis/excise-movement-control-system-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hmrc/excise-movement-control-system-api/revisions/219deb5ade71/schema)
