Skip to main content

Products

The shared medicine catalogue, looked up by GS1 GTIN.

List products

GET https://api.dawatrack.com/partner-api/v1/products/

Browse the medicine catalogue, with search and filters.

Scope products:read Limit 5,000 per day

Query parameters

  • dosage_form enum Optional
    Possible values: CAPCRMDISPDROPSEAREFFEYEGELGRANIMPLINHINJLOZNASALOINOTHERPATCHPESSPWDSOLSPRAYSUPSUSPSYPTAB
  • is_controlled boolean Optional
  • page integer Optional

    A page number within the paginated result set.

  • page_size integer Optional

    Number of results to return per page.

  • schedule enum Optional
    Possible values: CONTROLLEDOTCPPOM
  • search string Optional

    A search term.

Example request

curl -X GET https://api.dawatrack.com/partner-api/v1/products/ \
  -H "Authorization: Bearer $DAWATRACK_TOKEN"
import requests

token = "..."  # from POST /oauth/token/
response = requests.get(
    "https://api.dawatrack.com/partner-api/v1/products/",
    headers={"Authorization": f"Bearer {token}"},
)
response.raise_for_status()
print(response.json())
const token = "..."; // from POST /oauth/token/
const response = await fetch("https://api.dawatrack.com/partner-api/v1/products/", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${token}`,
  },
});
console.log(await response.json());

Response fields

A page of results. These are the fields of each item in results. See Pagination.

  • id integer Read-only

    The record's id.

  • gtin string or null

    The product's GS1 GTIN, as 14 digits.

  • generic_name string

    The active ingredient.

  • brand_name string

    The brand name, if any.

  • strength string

    The strength, such as 500mg.

  • dosage_form string

    The dosage form code.

  • dosage_form_display string Read-only

    The dosage form, in words.

  • schedule string

    PPB's scheduling: `OTC`, `P` (pharmacy-only), `POM` (prescription-only) or `CONTROLLED`. The older codes `SCHH`, `SCHH1` and `SCHA` are read as `POM`, and `SCHX` as `CONTROLLED`.

  • manufacturer string

    The manufacturer.

  • ndc_code string
  • is_controlled boolean

    Whether this is a controlled drug.

  • is_refrigerated boolean

    Whether it needs cold storage.

  • is_active boolean

    Whether this record is active.

  • ppb_registration_number string or null Read-only
  • ppb_registration_date date or null Read-only
  • ppb_registration_expiry_date date or null Read-only
  • country_of_origin string Read-only
  • is_locally_manufactured boolean or null Read-only
  • local_technical_representative string Read-only
  • needs_review boolean Read-only
  • import_source string Read-only
  • ppb_verified boolean Read-only

    True only when the record came from the PPB product register and needs no review. Being in the catalogue is not the same as being PPB-verified.

  • pack_size integer or null Read-only
  • unit_of_measure string Read-only
  • manufacturer_licence_number string Read-only
  • manufacturing_site string Read-only
  • manufacturing_site_gln string Read-only
  • manufacturer_address string Read-only
  • marketing_authorisation_holder string Read-only
  • ppb_application_number string Read-only
  • ppb_retention_number string Read-only
  • route_of_administration string Read-only
  • shelf_life_months integer or null Read-only
  • storage_min_celsius string or null Read-only
  • storage_max_celsius string or null Read-only
  • storage_conditions string Read-only
  • atc_code string Read-only
  • therapeutic_class string Read-only
  • keml_listed boolean or null Read-only
  • primary_pack_image string or null Read-only
  • secondary_pack_image string or null Read-only
  • packaging_level string Read-only
  • is_serialized boolean Read-only
  • secondary_gtin string Read-only
  • units_per_secondary integer or null Read-only
  • secondaries_per_tertiary integer or null Read-only
  • tertiary_identification string Read-only
  • tertiary_gtin string Read-only
  • owned_by_you boolean Read-only

    True when the calling partner is the product's owner.

  • is_draft boolean Read-only

    A draft is out of the catalogue until it has what activation needs.

  • missing_for_activation array of strings Read-only

    What the product still needs before it can go live (empty when it is live or complete).

  • declared_by string Read-only

    The manufacturer that declares this product on DawaTrack, or blank: then its details are provisional, gathered from PPB's register and those who stock it.

  • verified boolean Read-only

    True when the product's manufacturer declares it on DawaTrack (its details are the manufacturer's own).

  • ppb_register object or null Read-only

    Owner only (null otherwise): the product checked against PPB's published register. hold is the reason your shipments of it are refused, or empty; flags are where it and the register disagree.

Example response

JSON
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 42,
      "gtin": "06164004321562",
      "generic_name": "Amoxicillin",
      "brand_name": "",
      "strength": "500mg",
      "dosage_form": "CAP",
      "dosage_form_display": "Capsule",
      "schedule": "POM",
      "manufacturer": "Example Pharmaceuticals Ltd",
      "ndc_code": "ndc_code",
      "is_controlled": true,
      "is_refrigerated": true,
      "is_active": true,
      "ppb_registration_number": "CTD1234",
      "ppb_registration_date": "2026-10-10",
      "ppb_registration_expiry_date": "2026-10-10",
      "country_of_origin": "Kenya",
      "is_locally_manufactured": true,
      "local_technical_representative": "",
      "needs_review": false,
      "import_source": "PPB_KENYA",
      "ppb_verified": false,
      "pack_size": 1,
      "unit_of_measure": "unit_of_measure",
      "manufacturer_licence_number": "manufacturer_licence_number",
      "manufacturing_site": "manufacturing_site",
      "manufacturing_site_gln": "manufacturing_site_gln",
      "manufacturer_address": "manufacturer_address",
      "marketing_authorisation_holder": "marketing_authorisation_holder",
      "ppb_application_number": "ppb_application_number",
      "ppb_retention_number": "ppb_retention_number",
      "route_of_administration": "route_of_administration",
      "shelf_life_months": 1,
      "storage_min_celsius": "",
      "storage_max_celsius": "",
      "storage_conditions": "storage_conditions",
      "atc_code": "atc_code",
      "therapeutic_class": "therapeutic_class",
      "keml_listed": false,
      "primary_pack_image": "",
      "secondary_pack_image": "",
      "packaging_level": "packaging_level",
      "is_serialized": true,
      "secondary_gtin": "secondary_gtin",
      "units_per_secondary": 1,
      "secondaries_per_tertiary": 1,
      "tertiary_identification": "tertiary_identification",
      "tertiary_gtin": "tertiary_gtin",
      "owned_by_you": false,
      "is_draft": true,
      "missing_for_activation": [
        "string"
      ],
      "declared_by": "declared_by",
      "verified": false,
      "ppb_register": {}
    }
  ]
}

Status codes

200OK
401No valid access token
403Your credential lacks the scope, partner type or environment this needs
429Rate limit exceeded

Register or update a product

POST https://api.dawatrack.com/partner-api/v1/products/

Register a product you manufacture, or update one your credential already owns.

Scope products:write Production credentials only Limit 5,000 per day

A refused write names the field: {"strength": ["This field is required."]}, with the message also in detail.

The product is matched by gtin first, then by generic name, strength and dosage form if no GTIN is given. You can only create a new product or update one you own.

A new gtin must have a correct GS1 check digit (its last digit); a wrong one is 400 and the message says what the digit should be. Check it against the barcode on the pack.

Returns 201 when a product is created and 200 when an existing one is updated.

A product goes live only with everything the supplier portal requires: GTIN, generic name, strength, dosage form, pack size, unit of measure, PPB registration number and expiry, manufacturer, route of administration, shelf life, storage temperature and marketing authorisation holder. Until then it is created as a draft (is_draft: true, out of the catalogue; it can't be commissioned, packed or shipped) and missing_for_activation lists what it lacks; a draft goes live on the call that completes it. Send draft: true to keep it a draft. A product already live stays live.

If the product is already in the catalogue with no manufacturer (most products came from the PPB register), nothing is changed: the call opens an ownership claim and returns 202 with claim.id, claim.status and claim.evidence_received. DawaTrack staff decide it on evidence that the GTIN is yours, which you upload on the supplier portal's Product ownership page. Until it is approved you can't register the product's serials or pack it.

A gtin new to the product must be under the GS1 Company Prefix your supplier account declared on My Account; otherwise 400.

Optional fields: brand_name, pack_size, unit_of_measure, ppb_registration_number, ppb_registration_date, ppb_registration_expiry_date, manufacturer_licence_number, manufacturing_site, manufacturing_site_gln (a GS1 GLN, check digit checked), manufacturer_address, marketing_authorisation_holder, ppb_application_number, ppb_retention_number, route_of_administration (ORAL, TOPICAL, IV, IM, SC, INHALATION and the rest of the list), shelf_life_months (1 to 120), storage_min_celsius and storage_max_celsius (8 or below marks it refrigerated), storage_conditions, atc_code (WHO format, e.g. J01CA04), therapeutic_class, keml_listed (true, false or null; PPB's Annex I), country_of_origin, local_technical_representative, packaging_level, is_serialized, and the packaging hierarchy: secondary_gtin, units_per_secondary, secondaries_per_tertiary, tertiary_identification (GTIN or SSCC) and tertiary_gtin. Each is written only when you send it, so leaving one out keeps its current value. They are checked as on the supplier portal; a bad one is 400 and the message names the field.

A GTIN names one trade item at any pack level: a pack GTIN can't be another product's GTIN, and each level needs its own.

Once any batch of the GTIN is on the ledger, the GTIN, generic name, strength, dosage form, pack size, unit of measure and packaging hierarchy are locked: a change is 409. One that is still empty can be filled once. Registration and manufacturing fields stay editable.

Request body

JSON. Send Content-Type: application/json.

  • gtin string Optional

    The product's GS1 GTIN, as 14 digits.

  • generic_name string Required

    The active ingredient.

  • strength string Required

    The strength, such as 500mg.

  • dosage_form string Required

    The dosage form code.

  • schedule string Optional

    PPB's scheduling: `OTC`, `P` (pharmacy-only), `POM` (prescription-only) or `CONTROLLED`. The older codes `SCHH`, `SCHH1` and `SCHA` are read as `POM`, and `SCHX` as `CONTROLLED`.

  • manufacturer string Optional

    The manufacturer.

  • ndc_code string Optional
  • is_controlled boolean Optional

    Whether this is a controlled drug.

  • is_refrigerated boolean Optional

    Whether it needs cold storage.

  • brand_name string Optional

    The brand name, if any.

  • pack_size integer or null Optional
  • unit_of_measure string Optional
  • ppb_registration_number string Optional
  • ppb_registration_date date or null Optional
  • ppb_registration_expiry_date date or null Optional
  • manufacturer_licence_number string Optional
  • manufacturing_site string Optional
  • manufacturing_site_gln string Optional

    GS1 GLN (13 digits, check digit checked) of the site.

  • manufacturer_address string Optional
  • marketing_authorisation_holder string Optional
  • ppb_application_number string Optional
  • ppb_retention_number string Optional
  • route_of_administration string Optional

    ORAL, TOPICAL, IV, IM, SC, INHALATION, ... (the code list).

  • shelf_life_months integer or null Optional
  • storage_min_celsius string or null Optional
  • storage_max_celsius string or null Optional

    8 or below marks it refrigerated.

  • storage_conditions string Optional
  • atc_code string Optional

    WHO ATC code, e.g. J01CA04.

  • therapeutic_class string Optional
  • keml_listed boolean or null Optional
  • country_of_origin string Optional
  • local_technical_representative string Optional
  • packaging_level string Optional
  • is_serialized boolean Optional
  • secondary_gtin string Optional
  • units_per_secondary integer or null Optional
  • secondaries_per_tertiary integer or null Optional
  • tertiary_identification enum Optional
    Possible values: GTINSSCC
  • tertiary_gtin string Optional
  • draft boolean Optional

    Keep the product a draft (out of the catalogue; can't be commissioned, packed or shipped). Otherwise it goes live once it has everything activation needs (see missing_for_activation).

Example request

curl -X POST https://api.dawatrack.com/partner-api/v1/products/ \
  -H "Authorization: Bearer $DAWATRACK_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "gtin": "06164004321562",
    "generic_name": "Amoxicillin",
    "strength": "500mg",
    "dosage_form": "CAP",
    "schedule": "POM",
    "is_controlled": false
  }'
import uuid
import requests

token = "..."  # from POST /oauth/token/
response = requests.post(
    "https://api.dawatrack.com/partner-api/v1/products/",
    headers={"Authorization": f"Bearer {token}", "Idempotency-Key": str(uuid.uuid4())},
    json={
      "gtin": "06164004321562",
      "generic_name": "Amoxicillin",
      "strength": "500mg",
      "dosage_form": "CAP",
      "schedule": "POM",
      "is_controlled": False
    },
)
response.raise_for_status()
print(response.json())
const token = "..."; // from POST /oauth/token/
const response = await fetch("https://api.dawatrack.com/partner-api/v1/products/", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${token}`,
    "Idempotency-Key": crypto.randomUUID(),
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "gtin": "06164004321562",
    "generic_name": "Amoxicillin",
    "strength": "500mg",
    "dosage_form": "CAP",
    "schedule": "POM",
    "is_controlled": false
  }),
});
console.log(await response.json());

Response fields

  • id integer Read-only

    The record's id.

  • gtin string or null

    The product's GS1 GTIN, as 14 digits.

  • generic_name string

    The active ingredient.

  • brand_name string

    The brand name, if any.

  • strength string

    The strength, such as 500mg.

  • dosage_form string

    The dosage form code.

  • dosage_form_display string Read-only

    The dosage form, in words.

  • schedule string

    PPB's scheduling: `OTC`, `P` (pharmacy-only), `POM` (prescription-only) or `CONTROLLED`. The older codes `SCHH`, `SCHH1` and `SCHA` are read as `POM`, and `SCHX` as `CONTROLLED`.

  • manufacturer string

    The manufacturer.

  • ndc_code string
  • is_controlled boolean

    Whether this is a controlled drug.

  • is_refrigerated boolean

    Whether it needs cold storage.

  • is_active boolean

    Whether this record is active.

  • ppb_registration_number string or null Read-only
  • ppb_registration_date date or null Read-only
  • ppb_registration_expiry_date date or null Read-only
  • country_of_origin string Read-only
  • is_locally_manufactured boolean or null Read-only
  • local_technical_representative string Read-only
  • needs_review boolean Read-only
  • import_source string Read-only
  • ppb_verified boolean Read-only

    True only when the record came from the PPB product register and needs no review. Being in the catalogue is not the same as being PPB-verified.

  • pack_size integer or null Read-only
  • unit_of_measure string Read-only
  • manufacturer_licence_number string Read-only
  • manufacturing_site string Read-only
  • manufacturing_site_gln string Read-only
  • manufacturer_address string Read-only
  • marketing_authorisation_holder string Read-only
  • ppb_application_number string Read-only
  • ppb_retention_number string Read-only
  • route_of_administration string Read-only
  • shelf_life_months integer or null Read-only
  • storage_min_celsius string or null Read-only
  • storage_max_celsius string or null Read-only
  • storage_conditions string Read-only
  • atc_code string Read-only
  • therapeutic_class string Read-only
  • keml_listed boolean or null Read-only
  • primary_pack_image string or null Read-only
  • secondary_pack_image string or null Read-only
  • packaging_level string Read-only
  • is_serialized boolean Read-only
  • secondary_gtin string Read-only
  • units_per_secondary integer or null Read-only
  • secondaries_per_tertiary integer or null Read-only
  • tertiary_identification string Read-only
  • tertiary_gtin string Read-only
  • owned_by_you boolean Read-only

    True when the calling partner is the product's owner.

  • is_draft boolean Read-only

    A draft is out of the catalogue until it has what activation needs.

  • missing_for_activation array of strings Read-only

    What the product still needs before it can go live (empty when it is live or complete).

  • declared_by string Read-only

    The manufacturer that declares this product on DawaTrack, or blank: then its details are provisional, gathered from PPB's register and those who stock it.

  • verified boolean Read-only

    True when the product's manufacturer declares it on DawaTrack (its details are the manufacturer's own).

  • ppb_register object or null Read-only

    Owner only (null otherwise): the product checked against PPB's published register. hold is the reason your shipments of it are refused, or empty; flags are where it and the register disagree.

Example response

JSON
{
  "id": 42,
  "gtin": "06164004321562",
  "generic_name": "Amoxicillin",
  "brand_name": "",
  "strength": "500mg",
  "dosage_form": "CAP",
  "dosage_form_display": "Capsule",
  "schedule": "POM",
  "manufacturer": "Example Pharmaceuticals Ltd",
  "ndc_code": "ndc_code",
  "is_controlled": true,
  "is_refrigerated": true,
  "is_active": true,
  "ppb_registration_number": "CTD1234",
  "ppb_registration_date": "2026-10-10",
  "ppb_registration_expiry_date": "2026-10-10",
  "country_of_origin": "Kenya",
  "is_locally_manufactured": true,
  "local_technical_representative": "",
  "needs_review": false,
  "import_source": "PPB_KENYA",
  "ppb_verified": false,
  "pack_size": 1,
  "unit_of_measure": "unit_of_measure",
  "manufacturer_licence_number": "manufacturer_licence_number",
  "manufacturing_site": "manufacturing_site",
  "manufacturing_site_gln": "manufacturing_site_gln",
  "manufacturer_address": "manufacturer_address",
  "marketing_authorisation_holder": "marketing_authorisation_holder",
  "ppb_application_number": "ppb_application_number",
  "ppb_retention_number": "ppb_retention_number",
  "route_of_administration": "route_of_administration",
  "shelf_life_months": 1,
  "storage_min_celsius": "",
  "storage_max_celsius": "",
  "storage_conditions": "storage_conditions",
  "atc_code": "atc_code",
  "therapeutic_class": "therapeutic_class",
  "keml_listed": false,
  "primary_pack_image": "",
  "secondary_pack_image": "",
  "packaging_level": "packaging_level",
  "is_serialized": true,
  "secondary_gtin": "secondary_gtin",
  "units_per_secondary": 1,
  "secondaries_per_tertiary": 1,
  "tertiary_identification": "tertiary_identification",
  "tertiary_gtin": "tertiary_gtin",
  "owned_by_you": false,
  "is_draft": true,
  "missing_for_activation": [
    "string"
  ],
  "declared_by": "declared_by",
  "verified": false,
  "ppb_register": {}
}

Status codes

200OK
201Created
202Accepted: queued for processing
400The request is invalid, for example a malformed GTIN or a missing field
401No valid access token
403Your credential lacks the scope, partner type or environment this needs
409Conflict: a request with this Idempotency-Key is in progress, or the record already exists
429Rate limit exceeded

Fetch a product

GET https://api.dawatrack.com/partner-api/v1/products/{gtin}/

Look up one product by its GS1 GTIN. 8, 12, 13 and 14 digit GTINs are accepted.

Scope products:read Limit 5,000 per day

Check ppb_verified before treating a product as PPB-registered. It is true only for records from the PPB register that need no review.

Path parameters

  • gtin string Required

Example request

curl -X GET https://api.dawatrack.com/partner-api/v1/products/06164004321562/ \
  -H "Authorization: Bearer $DAWATRACK_TOKEN"
import requests

token = "..."  # from POST /oauth/token/
response = requests.get(
    "https://api.dawatrack.com/partner-api/v1/products/06164004321562/",
    headers={"Authorization": f"Bearer {token}"},
)
response.raise_for_status()
print(response.json())
const token = "..."; // from POST /oauth/token/
const response = await fetch("https://api.dawatrack.com/partner-api/v1/products/06164004321562/", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${token}`,
  },
});
console.log(await response.json());

Response fields

  • id integer Read-only

    The record's id.

  • gtin string or null

    The product's GS1 GTIN, as 14 digits.

  • generic_name string

    The active ingredient.

  • brand_name string

    The brand name, if any.

  • strength string

    The strength, such as 500mg.

  • dosage_form string

    The dosage form code.

  • dosage_form_display string Read-only

    The dosage form, in words.

  • schedule string

    PPB's scheduling: `OTC`, `P` (pharmacy-only), `POM` (prescription-only) or `CONTROLLED`. The older codes `SCHH`, `SCHH1` and `SCHA` are read as `POM`, and `SCHX` as `CONTROLLED`.

  • manufacturer string

    The manufacturer.

  • ndc_code string
  • is_controlled boolean

    Whether this is a controlled drug.

  • is_refrigerated boolean

    Whether it needs cold storage.

  • is_active boolean

    Whether this record is active.

  • ppb_registration_number string or null Read-only
  • ppb_registration_date date or null Read-only
  • ppb_registration_expiry_date date or null Read-only
  • country_of_origin string Read-only
  • is_locally_manufactured boolean or null Read-only
  • local_technical_representative string Read-only
  • needs_review boolean Read-only
  • import_source string Read-only
  • ppb_verified boolean Read-only

    True only when the record came from the PPB product register and needs no review. Being in the catalogue is not the same as being PPB-verified.

  • pack_size integer or null Read-only
  • unit_of_measure string Read-only
  • manufacturer_licence_number string Read-only
  • manufacturing_site string Read-only
  • manufacturing_site_gln string Read-only
  • manufacturer_address string Read-only
  • marketing_authorisation_holder string Read-only
  • ppb_application_number string Read-only
  • ppb_retention_number string Read-only
  • route_of_administration string Read-only
  • shelf_life_months integer or null Read-only
  • storage_min_celsius string or null Read-only
  • storage_max_celsius string or null Read-only
  • storage_conditions string Read-only
  • atc_code string Read-only
  • therapeutic_class string Read-only
  • keml_listed boolean or null Read-only
  • primary_pack_image string or null Read-only
  • secondary_pack_image string or null Read-only
  • packaging_level string Read-only
  • is_serialized boolean Read-only
  • secondary_gtin string Read-only
  • units_per_secondary integer or null Read-only
  • secondaries_per_tertiary integer or null Read-only
  • tertiary_identification string Read-only
  • tertiary_gtin string Read-only
  • owned_by_you boolean Read-only

    True when the calling partner is the product's owner.

  • is_draft boolean Read-only

    A draft is out of the catalogue until it has what activation needs.

  • missing_for_activation array of strings Read-only

    What the product still needs before it can go live (empty when it is live or complete).

  • declared_by string Read-only

    The manufacturer that declares this product on DawaTrack, or blank: then its details are provisional, gathered from PPB's register and those who stock it.

  • verified boolean Read-only

    True when the product's manufacturer declares it on DawaTrack (its details are the manufacturer's own).

  • ppb_register object or null Read-only

    Owner only (null otherwise): the product checked against PPB's published register. hold is the reason your shipments of it are refused, or empty; flags are where it and the register disagree.

Example response

JSON
{
  "id": 42,
  "gtin": "06164004321562",
  "generic_name": "Amoxicillin",
  "brand_name": "",
  "strength": "500mg",
  "dosage_form": "CAP",
  "dosage_form_display": "Capsule",
  "schedule": "POM",
  "manufacturer": "Example Pharmaceuticals Ltd",
  "ndc_code": "ndc_code",
  "is_controlled": true,
  "is_refrigerated": true,
  "is_active": true,
  "ppb_registration_number": "CTD1234",
  "ppb_registration_date": "2026-10-10",
  "ppb_registration_expiry_date": "2026-10-10",
  "country_of_origin": "Kenya",
  "is_locally_manufactured": true,
  "local_technical_representative": "",
  "needs_review": false,
  "import_source": "PPB_KENYA",
  "ppb_verified": false,
  "pack_size": 1,
  "unit_of_measure": "unit_of_measure",
  "manufacturer_licence_number": "manufacturer_licence_number",
  "manufacturing_site": "manufacturing_site",
  "manufacturing_site_gln": "manufacturing_site_gln",
  "manufacturer_address": "manufacturer_address",
  "marketing_authorisation_holder": "marketing_authorisation_holder",
  "ppb_application_number": "ppb_application_number",
  "ppb_retention_number": "ppb_retention_number",
  "route_of_administration": "route_of_administration",
  "shelf_life_months": 1,
  "storage_min_celsius": "",
  "storage_max_celsius": "",
  "storage_conditions": "storage_conditions",
  "atc_code": "atc_code",
  "therapeutic_class": "therapeutic_class",
  "keml_listed": false,
  "primary_pack_image": "",
  "secondary_pack_image": "",
  "packaging_level": "packaging_level",
  "is_serialized": true,
  "secondary_gtin": "secondary_gtin",
  "units_per_secondary": 1,
  "secondaries_per_tertiary": 1,
  "tertiary_identification": "tertiary_identification",
  "tertiary_gtin": "tertiary_gtin",
  "owned_by_you": false,
  "is_draft": true,
  "missing_for_activation": [
    "string"
  ],
  "declared_by": "declared_by",
  "verified": false,
  "ppb_register": {}
}

Status codes

200OK
400The request is invalid, for example a malformed GTIN or a missing field
401No valid access token
403Your credential lacks the scope, partner type or environment this needs
404Not found, or not visible to your credential
429Rate limit exceeded

Partner API v1. The API reference is generated from the API's own code.