---
title: "Create a goods record for a Trader Goods Profile"
method: POST
path: "/customs/traders/goods-profiles/{eori}/records"
tags: ["Goods records"]
---

# Create a goods record for a Trader Goods Profile

`POST /customs/traders/goods-profiles/{eori}/records`

Create a goods record for the good that is being moved.

## Path parameters

- `eori` string, required — The traders' EORI number. The first 2 letters are the country code, like GB followed by 12 to 15 digits.

## Headers

- `Content-Type` string, required
- `Accept` string, required
- `Authorization` string, required

## Request body

- object
  - `actorId` string, required — EORI number of the user making the change. This may be different to the eori. The first 2 letters are the country code, like GB or XI followed by 12 to 15 digits.
  - `traderRef` string, required — Unique product reference traders use to identify the goods. For example a Stock Keeping Unit (SKU) code. If the trader does not provide a traderRef, the front end should duplicate the goodsDescription field and pass this as traderRef.
  - `comcode` string, required — A code specific to goods that must be 6, 8, or 10 digits long. Only numeric values are allowed.
  - `goodsDescription` string, required — A description of the goods that the trader can choose. This field does not need to be unique.
  - `countryOfOrigin` string, required — Country where the product came from. This is a char field with 2 letters in it as per ISO 3166 standards. You can also refer to CDS Appendix 13 [Country codes for the Customs Declaration Service](https://www.gov.uk/government/publications/country-codes-for-the-customs-declaration-service).
  - `category` 1 | 2 | 3 — To be retrieved using the Online Trade Tariff API. The category of the goods based on applicable restrictions, prohibitions or any exemptions the trader may hold.
  - `assessments` object[] — Array of category assessment data describing the measures which apply to the trader's movement of goods, and how the trader is exempt (if applicable).
    - `assessmentId` string — The ID of the category assessment(s) retrieved from the [Trade Tariff Green Lanes API](https://api.trade-tariff.service.gov.uk/green-lanes.html#get-green-lanes-category-assessments)
    - `primaryCategory` integer — The primary category of the assessment
    - `condition` object — A collection of data detailing the condition the trader meets to exempt the category assessment
      - `type` string — The type of condition/exemption as provided by the [Trade Tariff Green Lanes API](https://api.trade-tariff.service.gov.uk/green-lanes.html#get-green-lanes-category-assessments)
      - `conditionId` string — The ID/code of the condition as provided by the [Trade Tariff Green Lanes API](https://api.trade-tariff.service.gov.uk/green-lanes.html#get-green-lanes-category-assessments)
      - `conditionDescription` string — The description of the condition as provided by the [Trade Tariff Green Lanes API](https://api.trade-tariff.service.gov.uk/green-lanes.html#get-green-lanes-category-assessments)
      - `conditionTraderText` string — A free text statement provided by the trader if required in the CDS guidance
  - `supplementaryUnit` number — Supplementary units are sometimes needed on H8 declarations and provide a quantity of goods in a specified unit of measurement.
  - `measurementUnit` string — Measurement units define the required unit of measure when a supplementary unit is needed on an H8 declaration. Measurement units are defined in the [Trade Tariff commodities API measurement documentation.](https://api.trade-tariff.service.gov.uk/reference-data.html#measurement-units)
  - `comcodeEffectiveFromDate` string, date-time, required — Date in the Online Tariff Tool (OTT) when authorised usage of a commodity code came into effect.
  - `comcodeEffectiveToDate` string, date-time — Date in the OTT when authorised usage of a commodity code expired or will expire.

## Response `201`

TGP record was successfully created

- object
  - `recordId` string, uuid, required — ID of the record for the TGP Product in the TGP Core database (UUID)
  - `eori` string, required — The traders' EORI number. The first 2 letters are the country code, like GB followed by 12 to 15 digits.
  - `actorId` string, required — EORI number of the user making the change. This may be different to the eori. The first 2 letters are the country code, like GB or XI followed by 12 to 15 digits.
  - `traderRef` string, required — Unique product reference traders use to identify the goods. For example a Stock Keeping Unit (SKU) code. If the trader does not provide a traderRef, the front end should duplicate the goodsDescription field and pass this as traderRef.
  - `comcode` string, required — A code specific to goods that must be 6, 8, or 10 digits long. Only numeric values are allowed.
  - `adviceStatus` 'Not Requested' | 'Requested' | 'In progress' | 'Information Requested' | 'Advice request withdrawn' | 'Advice Provided' | 'Advice not provided', required — Indicates the advice status of a record if the trader has requested that HMRC review their commodity code.
  - `goodsDescription` string, required — A description of the goods that the trader can choose. This field does not need to be unique.
  - `countryOfOrigin` string, required — Country where the product came from. This is a char field with 2 letters in it as per ISO 3166 standards. You can also refer to CDS Appendix 13 [Country codes for the Customs Declaration Service](https://www.gov.uk/government/publications/country-codes-for-the-customs-declaration-service).
  - `category` 1 | 2 | 3 — To be retrieved using the Online Trade Tariff API. The category of the goods based on applicable restrictions, prohibitions or any exemptions the trader may hold.
  - `assessments` object[] — Array of category assessment data describing the measures which apply to the trader's movement of goods, and how the trader is exempt (if applicable).
    - `assessmentId` string — The ID of the category assessment(s) retrieved from the [Trade Tariff Green Lanes API](https://api.trade-tariff.service.gov.uk/green-lanes.html#get-green-lanes-category-assessments)
    - `primaryCategory` integer — The primary category of the assessment
    - `condition` object — A collection of data detailing the condition the trader meets to exempt the category assessment
      - `type` string — The type of condition/exemption as provided by the [Trade Tariff Green Lanes API](https://api.trade-tariff.service.gov.uk/green-lanes.html#get-green-lanes-category-assessments)
      - `conditionId` string — The ID/code of the condition as provided by the [Trade Tariff Green Lanes API](https://api.trade-tariff.service.gov.uk/green-lanes.html#get-green-lanes-category-assessments)
      - `conditionDescription` string — The description of the condition as provided by the [Trade Tariff Green Lanes API](https://api.trade-tariff.service.gov.uk/green-lanes.html#get-green-lanes-category-assessments)
      - `conditionTraderText` string — A free text statement provided by the trader if required in the CDS guidance
  - `supplementaryUnit` number — Supplementary units are sometimes needed on H8 declarations and provide a quantity of goods in a specified unit of measurement.
  - `measurementUnit` string — Measurement units define the required unit of measure when a supplementary unit is needed on an H8 declaration. Measurement units are defined in the [Trade Tariff commodities API measurement documentation.](https://api.trade-tariff.service.gov.uk/reference-data.html#measurement-units)
  - `comcodeEffectiveFromDate` string, date-time, required — Date in the Online Tariff Tool (OTT) when authorised usage of a commodity code came into effect.
  - `comcodeEffectiveToDate` string, date-time — Date in the OTT when authorised usage of a commodity code expired or will expire.
  - `version` integer, required — Version of the TGP record.
  - `active` boolean, required — Status of the TGP record.
  - `toReview` boolean, required — The state of the record and if the trader needs to review it.
  - `reviewReason` string — The commodity code has expired. You'll need to change the commodity code and categorise the goods. The country of origin is not valid. You'll need to change the country of origin and categorise the record. The commodity code or restrictions have changed. You'll need to categorise the record. HMRC have reviewed the record. The goods description is unclear. If you want to use this record on an IMMI, you'll need to amend the goods description. HMRC have reviewed this record. The goods description does not have enough detail. If you want to use this record on an IMMI, you'll need to amend the goods description. HMRC have reviewed this record. The commodity code and goods description do not match. If you want to use this record on an IMMI, you'll need to amend the commodity code and the goods description.
  - `declarable` 'IMMI Ready' | 'Not Ready For IMMI' | 'Not Ready For Use', required — Status of TGP record for H8 declarations.
  - `ukimsNumber` string, required — The traders' UK Internal Market Scheme registration number.
  - `nirmsNumber` string — The traders' Northern Ireland Retail Movement Scheme registration number.
  - `niphlNumber` string — The traders' Northern Ireland Plant Health Label scheme registration number.
  - `createdDateTime` string, date-time, required — Timestamp when the record was created.
  - `updatedDateTime` string, date-time, required — Timestamp when the record was last updated.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden; User was valid, but not allowed to perform this action
- `500` — Internal Server Error

---

[API](https://skmtc.net/hmrc/apis/trader-goods-profiles.md) · [All operations](https://skmtc.net/hmrc/apis/trader-goods-profiles/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hmrc/trader-goods-profiles/revisions/29ed42a10dd5/schema)
