{
  "info": {
    "name": "border.bot API",
    "description": "Classify products to HS/HTS codes and calculate duties, taxes, fees and landed cost for cross-border parcels.\n\n**Versions**: This is **v1**, the current version. Within a version, changes are only additive (new endpoints, new optional fields, new enum values). Breaking changes ship as a new version; every version and its dates: https://api.border.bot/versions\n\n**Authentication**: create an API client in the dashboard (Developers → API clients) and keep its client id and secret on your server. Trade them for an access token with `POST https://api.border.bot/oauth2/token` (form fields `grant_type=client_credentials`, `client_id`, `client_secret`); the token lasts `expires_in` seconds (an hour). Send it as `Authorization: Bearer <access_token>`, and fetch a new one shortly before it expires or after a 401.\n\n**Credits**: billable requests use prepaid credits (see `GET /v1/pricing`). Prices are set server-side; failed requests are refunded automatically. Every response includes `X-Request-Id` (a UUID; quote it to support) and `API-Version`; billable responses include `X-Credits-Charged` and `X-Credits-Remaining`.\n\n**Retries**: send an `Idempotency-Key` header on POST requests; repeating it returns the original result without charging again.\n\n**Rate limits**: 120 requests per 60 seconds per API client, and per IP address for public endpoints. Responses carry the IETF `RateLimit-Policy` header (`\"key\";q=120;w=60` with a client, `\"ip\";q=120;w=60` without). Over the limit you get 429 `rate_limited` with `RateLimit: \"key\";r=0;t=60` and `Retry-After` in seconds; wait that long before retrying.\n\n**Errors**: `{ \"error\": { \"code\", \"message\", \"details\"? } }` with a stable `code` (e.g. 402 `insufficient_credits`, 429 `rate_limited`).\n\n**MCP**: use border.bot from Claude, ChatGPT, Codex, Cursor, VS Code and other MCP clients at `https://mcp.border.bot/mcp` (OAuth, no API client). Setup guides: https://border.bot/mcp\n\nDocs: https://border.bot/docs. Set the collection variables clientId and clientSecret (from an API client in the dashboard); Postman fetches the access token.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "oauth2",
    "oauth2": [
      {
        "key": "grant_type",
        "value": "client_credentials",
        "type": "string"
      },
      {
        "key": "accessTokenUrl",
        "value": "{{tokenUrl}}",
        "type": "string"
      },
      {
        "key": "clientId",
        "value": "{{clientId}}",
        "type": "string"
      },
      {
        "key": "clientSecret",
        "value": "{{clientSecret}}",
        "type": "string"
      },
      {
        "key": "client_authentication",
        "value": "body",
        "type": "string"
      },
      {
        "key": "addTokenTo",
        "value": "header",
        "type": "string"
      },
      {
        "key": "tokenName",
        "value": "border.bot",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.border.bot"
    },
    {
      "key": "tokenUrl",
      "value": "https://api.border.bot/oauth2/token"
    },
    {
      "key": "clientId",
      "value": ""
    },
    {
      "key": "clientSecret",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Classification",
      "description": "HS/HTS codes.",
      "item": [
        {
          "name": "Classify a product",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/classify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"description\": \"Men's short-sleeve t-shirt, 100% cotton, knitted\",\n  \"destinationCountry\": \"US\",\n  \"originCountry\": \"PT\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Find the HS/HTS code for a product shipped to `destinationCountry`. Give a description, a product page URL, or both. Costs the mode’s credits (`GET /v1/classify/modes` lists the modes and their prices); a weak answer may escalate to another mode at no extra charge. Failed requests are refunded automatically.\n\nAPI client scope: `classify`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"description\": \"Men's short-sleeve t-shirt, 100% cotton, knitted\",\n  \"destinationCountry\": \"US\",\n  \"originCountry\": \"PT\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Find the HS/HTS code for a product shipped to `destinationCountry`. Give a description, a product page URL, or both. Costs the mode’s credits (`GET /v1/classify/modes` lists the modes and their prices); a weak answer may escalate to another mode at no extra charge. Failed requests are refunded automatically.\n\nAPI client scope: `classify`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"hsCode\": \"8471300100\",\n    \"hsCodeFormatted\": \"8471.30.01.00\",\n    \"nomenclature\": \"us\",\n    \"schedule\": \"US\",\n    \"destinationCountry\": \"US\",\n    \"description\": \"Portable automatic data processing machines, weighing not more than 10 kg\",\n    \"hierarchy\": [\n      {\n        \"level\": \"chapter\",\n        \"code\": \"84\",\n        \"description\": \"Nuclear reactors, boilers, machinery and mechanical appliances; parts thereof\"\n      },\n      {\n        \"level\": \"heading\",\n        \"code\": \"8471\",\n        \"description\": \"Automatic data processing machines and units thereof\"\n      },\n      {\n        \"level\": \"subheading\",\n        \"code\": \"847130\",\n        \"description\": \"Portable machines\"\n      },\n      {\n        \"level\": \"tariff\",\n        \"code\": \"8471300100\",\n        \"description\": \"Portable automatic data processing machines, weighing not more than 10 kg\"\n      }\n    ],\n    \"confidence\": \"high\",\n    \"score\": 0.94,\n    \"probability\": 0.94,\n    \"needsReview\": false,\n    \"reasoning\": \"A 14-inch laptop is a portable automatic data processing machine; at 1.4 kg it is under the 10 kg limit of 8471.30.\",\n    \"customsDescription\": \"Laptop computer, 14-inch\",\n    \"alternatives\": [\n      {\n        \"hsCode\": \"8471410150\",\n        \"hsCodeFormatted\": \"8471.41.01.50\",\n        \"description\": \"Other automatic data processing machines comprising in the same housing at least a CPU and an input and output unit\",\n        \"score\": 0.04,\n        \"confidence\": \"low\"\n      }\n    ],\n    \"mode\": \"pro\",\n    \"modesRun\": [\n      \"pro\"\n    ],\n    \"upstreamRequestId\": null,\n    \"rulings\": [],\n    \"dataSource\": {\n      \"version\": \"HTS 2026 Revision 7\",\n      \"importedAt\": \"2026-10-14T18:04:08.512Z\",\n      \"datasets\": [\n        {\n          \"dataset\": \"US:hs\",\n          \"seq\": 42,\n          \"releaseId\": \"01a1502a-2fb3-7e6b-8e4d-a46e75afb07b\",\n          \"version\": \"HTS 2026 Revision 7\",\n          \"liveSince\": \"2026-10-14T18:04:08.512Z\"\n        }\n      ]\n    },\n    \"engine\": \"borderbot\",\n    \"restrictions\": {\n      \"available\": true,\n      \"matches\": [\n        {\n          \"id\": \"restriction_17f4af75ba5554\",\n          \"ruleType\": \"restriction\",\n          \"title\": \"FDA: may be required\",\n          \"summary\": \"FDA data may be required (radiation-emitting electronic products).\",\n          \"agency\": \"FDA\",\n          \"flag\": \"FD1\",\n          \"requirement\": \"may_be_required\",\n          \"confidence\": \"HIGH\",\n          \"sourceUrl\": \"https://www.cbp.gov/document/technical-documentation/ace-appendix-pga\",\n          \"sourceRef\": \"PGA FD1\"\n        }\n      ],\n      \"note\": null\n    },\n    \"filings\": [\n      {\n        \"country\": \"US\",\n        \"agency\": \"Food and Drug Administration\",\n        \"flags\": [\n          {\n            \"flag\": \"FD1\",\n            \"requirement\": \"may_be_required\",\n            \"source\": \"border\",\n            \"code\": \"8471300100\"\n          }\n        ],\n        \"category\": null,\n        \"requirement\": \"may_be_required\",\n        \"rulesLoaded\": false\n      }\n    ]\n  },\n  \"credits\": {\n    \"charged\": 2,\n    \"remaining\": 98,\n    \"usageId\": \"usg_01m5dc29tdkdmpffnd43jmg1w5\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Classify up to 25 products",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/classify/batch",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify",
                "batch"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\n    {\n      \"description\": \"Men's short-sleeve t-shirt, 100% cotton, knitted\",\n      \"destinationCountry\": \"US\"\n    },\n    {\n      \"description\": \"Stainless steel water bottle, 750 ml\",\n      \"destinationCountry\": \"GB\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Each item is a classify request, run four at a time and charged as one classification by its own mode; one failing (an unclassifiable description, insufficient credits) never stops the others and is refunded. With an `Idempotency-Key`, each item replays on its own.\n\nAPI client scope: `classify`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify/batch",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify",
                    "batch"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"items\": [\n    {\n      \"description\": \"Men's short-sleeve t-shirt, 100% cotton, knitted\",\n      \"destinationCountry\": \"US\"\n    },\n    {\n      \"description\": \"Stainless steel water bottle, 750 ml\",\n      \"destinationCountry\": \"GB\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Each item is a classify request, run four at a time and charged as one classification by its own mode; one failing (an unclassifiable description, insufficient credits) never stops the others and is refunded. With an `Idempotency-Key`, each item replays on its own.\n\nAPI client scope: `classify`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"results\": [\n      {\n        \"index\": 0,\n        \"ok\": false,\n        \"classification\": {\n          \"hsCode\": \"6109100012\",\n          \"hsCodeFormatted\": \"6109.10.00.12\",\n          \"nomenclature\": \"us\",\n          \"destinationCountry\": \"string\",\n          \"description\": \"string\",\n          \"englishDescription\": \"T-shirts, singlets and other vests, knitted: of cotton\",\n          \"hierarchy\": [\n            {\n              \"level\": \"chapter\",\n              \"code\": \"string\",\n              \"description\": \"string\"\n            }\n          ],\n          \"levels\": [\n            {\n              \"level\": \"chapter\",\n              \"code\": \"610910\",\n              \"description\": \"Of cotton\"\n            }\n          ],\n          \"supplementaryUnits\": [\n            {\n              \"code\": \"string\",\n              \"abbreviation\": \"string\",\n              \"label\": \"string\",\n              \"unit\": \"string\",\n              \"direction\": \"both\",\n              \"origins\": [\n                \"string\"\n              ]\n            }\n          ],\n          \"confidence\": \"high\",\n          \"score\": 0,\n          \"probability\": 0,\n          \"needsReview\": false,\n          \"reasoning\": \"string\",\n          \"customsDescription\": \"string\",\n          \"alternatives\": [\n            {\n              \"hsCode\": \"string\",\n              \"hsCodeFormatted\": \"string\",\n              \"description\": \"string\",\n              \"englishDescription\": \"string\",\n              \"levels\": [\n                {\n                  \"level\": \"chapter\",\n                  \"code\": \"610910\",\n                  \"description\": \"Of cotton\"\n                }\n              ],\n              \"score\": 0,\n              \"confidence\": \"high\",\n              \"supplementaryUnits\": [\n                {\n                  \"code\": \"string\",\n                  \"abbreviation\": \"string\",\n                  \"label\": \"string\",\n                  \"unit\": \"string\",\n                  \"direction\": \"both\",\n                  \"origins\": [\n                    \"string\"\n                  ]\n                }\n              ],\n              \"restrictions\": {\n                \"available\": false,\n                \"matches\": [\n                  {\n                    \"id\": \"restriction_0a1b2c3d4e5f60\",\n                    \"ruleType\": \"prohibition\",\n                    \"title\": \"FDA: may be required\",\n                    \"summary\": \"string\",\n                    \"agency\": \"FDA\",\n                    \"flag\": \"FD1\",\n                    \"requirement\": \"required\",\n                    \"confidence\": \"HIGH\",\n                    \"sourceUrl\": \"string\",\n                    \"sourceRef\": \"string\"\n                  }\n                ],\n                \"note\": \"string\"\n              },\n              \"filings\": [\n                {\n                  \"country\": \"string\",\n                  \"agency\": \"U.S. Consumer Product Safety Commission\",\n                  \"requirement\": \"required\",\n                  \"flags\": [\n                    {\n                      \"flag\": \"CP2\",\n                      \"requirement\": \"required\",\n                      \"source\": \"agency\",\n                      \"code\": \"string\"\n                    }\n                  ],\n                  \"category\": \"Toys\",\n                  \"rulesLoaded\": false\n                }\n              ]\n            }\n          ],\n          \"filings\": [\n            {\n              \"country\": \"string\",\n              \"agency\": \"U.S. Consumer Product Safety Commission\",\n              \"requirement\": \"required\",\n              \"flags\": [\n                {\n                  \"flag\": \"CP2\",\n                  \"requirement\": \"required\",\n                  \"source\": \"agency\",\n                  \"code\": \"string\"\n                }\n              ],\n              \"category\": \"Toys\",\n              \"rulesLoaded\": false\n            }\n          ],\n          \"restrictions\": {\n            \"available\": false,\n            \"matches\": [\n              {\n                \"id\": \"restriction_0a1b2c3d4e5f60\",\n                \"ruleType\": \"prohibition\",\n                \"title\": \"FDA: may be required\",\n                \"summary\": \"string\",\n                \"agency\": \"FDA\",\n                \"flag\": \"FD1\",\n                \"requirement\": \"required\",\n                \"confidence\": \"HIGH\",\n                \"sourceUrl\": \"string\",\n                \"sourceRef\": \"string\"\n              }\n            ],\n            \"note\": \"string\"\n          },\n          \"mode\": \"pro\",\n          \"modesRun\": [\n            \"string\"\n          ],\n          \"upstreamRequestId\": \"string\",\n          \"schedule\": \"string\",\n          \"readFromUrl\": \"string\",\n          \"readFromImage\": \"string\",\n          \"rulings\": [\n            {\n              \"rulingNumber\": \"string\",\n              \"code\": \"string\",\n              \"subject\": \"string\",\n              \"url\": \"string\"\n            }\n          ],\n          \"dataSource\": {\n            \"version\": \"string\",\n            \"importedAt\": \"string\",\n            \"datasets\": [\n              {\n                \"dataset\": \"US:rates\",\n                \"seq\": 0,\n                \"releaseId\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n                \"version\": \"string\",\n                \"liveSince\": \"string\"\n              }\n            ]\n          },\n          \"engine\": \"borderbot\",\n          \"identifiedAs\": \"string\",\n          \"webSources\": [\n            {\n              \"url\": \"https://www.example.com/products/sn99\",\n              \"title\": \"Out of Office SN99 sneaker\"\n            }\n          ],\n          \"materialUncertain\": false,\n          \"valueUncertain\": false,\n          \"product\": {\n            \"url\": \"string\",\n            \"finalUrl\": \"string\",\n            \"siteName\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"brand\": \"string\",\n            \"sku\": \"string\",\n            \"gtin\": \"string\",\n            \"mpn\": \"string\",\n            \"category\": \"string\",\n            \"material\": \"string\",\n            \"color\": \"string\",\n            \"price\": 0,\n            \"currency\": \"string\",\n            \"images\": [\n              \"string\"\n            ],\n            \"countryOfOrigin\": \"string\",\n            \"originEvidence\": \"string\",\n            \"sources\": [\n              \"json-ld\"\n            ],\n            \"summary\": \"string\"\n          },\n          \"origin\": {\n            \"country\": \"string\",\n            \"confidence\": \"high\",\n            \"source\": \"user\",\n            \"evidence\": \"string\",\n            \"candidates\": [\n              {\n                \"country\": \"string\",\n                \"score\": 0\n              }\n            ],\n            \"probability\": 0,\n            \"alternates\": [\n              {\n                \"country\": \"string\",\n                \"probability\": 0\n              }\n            ],\n            \"signals\": [\n              {\n                \"kind\": \"user\",\n                \"country\": \"string\",\n                \"weight\": 0,\n                \"evidence\": \"string\"\n              }\n            ],\n            \"needsReview\": false,\n            \"reviewReason\": \"string\",\n            \"reviewThreshold\": 0,\n            \"reasoning\": \"string\"\n          }\n        },\n        \"error\": {\n          \"code\": \"string\",\n          \"message\": \"string\"\n        }\n      }\n    ]\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0\n  }\n}"
            }
          ]
        },
        {
          "name": "Find an agency product code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/classify/regulator",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify",
                "regulator"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"description\": \"<string>\",\n  \"destinationCountry\": \"<string>\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "The product code the destination’s import agency asks for, in that agency’s coding scheme: for the US, FDA’s import product code (e.g. `16AYN07`) for foods, drugs, devices, cosmetics and other goods FDA regulates. The answer names the `agency` and `scheme`, lists the code’s `parts` in order, and says whether the agency’s own check accepted it. Costs 1 credit; goods the agency doesn’t regulate are refused (`details.reason: \"not_regulated\"`, with `details.agency`) and refunded.\n\nAPI client scope: `classify`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify/regulator",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify",
                    "regulator"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"description\": \"<string>\",\n  \"destinationCountry\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "The product code the destination’s import agency asks for, in that agency’s coding scheme: for the US, FDA’s import product code (e.g. `16AYN07`) for foods, drugs, devices, cosmetics and other goods FDA regulates. The answer names the `agency` and `scheme`, lists the code’s `parts` in order, and says whether the agency’s own check accepted it. Costs 1 credit; goods the agency doesn’t regulate are refused (`details.reason: \"not_regulated\"`, with `details.agency`) and refunded.\n\nAPI client scope: `classify`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"agency\": \"FDA\",\n    \"agencyName\": \"U.S. Food and Drug Administration\",\n    \"scheme\": \"us-fda\",\n    \"codeName\": \"FDA product code\",\n    \"destinationCountry\": \"string\",\n    \"productCode\": \"16AYN07\",\n    \"validated\": false,\n    \"checked\": false,\n    \"parts\": [\n      {\n        \"level\": \"industry\",\n        \"label\": \"Industry\",\n        \"code\": \"16\",\n        \"description\": \"Fishery/Seafood Products\"\n      }\n    ],\n    \"product\": {\n      \"code\": \"string\",\n      \"description\": \"string\"\n    },\n    \"confidence\": 0,\n    \"reasoning\": \"string\",\n    \"dataSource\": {\n      \"version\": \"string\",\n      \"importedAt\": \"string\",\n      \"datasets\": [\n        {\n          \"dataset\": \"US:rates\",\n          \"seq\": 0,\n          \"releaseId\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n          \"version\": \"string\",\n          \"liveSince\": \"string\"\n        }\n      ]\n    }\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0,\n    \"usageId\": \"string\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Classification modes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/classify/modes?destination=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify",
                "modes"
              ],
              "query": [
                {
                  "key": "destination",
                  "value": "",
                  "description": "ISO-2 destination: what each mode offers there (photos sent inline need border.bot’s own classifier).",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "The classification modes you can use (admin configures them: today `mini`, `pro` and `max`), with what each costs and reads, in general or for one destination: whether it reads a product photo, and a photo sent inline, and which mode runs when a request names none. A product page URL works in every mode. No authentication needed."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify/modes?destination=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify",
                    "modes"
                  ],
                  "query": [
                    {
                      "key": "destination",
                      "value": "",
                      "description": "ISO-2 destination: what each mode offers there (photos sent inline need border.bot’s own classifier).",
                      "disabled": true
                    }
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "The classification modes you can use (admin configures them: today `mini`, `pro` and `max`), with what each costs and reads, in general or for one destination: whether it reads a product photo, and a photo sent inline, and which mode runs when a request names none. A product page URL works in every mode. No authentication needed."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"destination\": \"string\",\n    \"engine\": \"borderbot\",\n    \"defaultMode\": \"string\",\n    \"modes\": [\n      {\n        \"mode\": \"pro\",\n        \"label\": \"string\",\n        \"description\": \"string\",\n        \"available\": false,\n        \"credits\": 0,\n        \"photos\": false,\n        \"inlinePhotos\": false\n      }\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Blocked codes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/classify/blocklist",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify",
                "blocklist"
              ]
            },
            "description": "Codes your classifications never suggest: a blocked line, or every line under a blocked heading, is skipped and the next best answers. Free.\n\nAPI client scope: `settings`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify/blocklist",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify",
                    "blocklist"
                  ]
                },
                "description": "Codes your classifications never suggest: a blocked line, or every line under a blocked heading, is skipped and the next best answers. Free.\n\nAPI client scope: `settings`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"code\": \"string\",\n      \"codeFormatted\": \"string\",\n      \"destination\": \"string\",\n      \"reason\": \"string\",\n      \"createdBy\": \"string\",\n      \"createdAt\": \"string\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Block a code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/classify/blocklist",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify",
                "blocklist"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"6109.10\",\n  \"destination\": \"US\",\n  \"reason\": \"Our broker files these under 6109.90\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Never suggest this code (or any line under it) again, for one destination or all. Adding a code that is already blocked updates its reason. Free; up to 5,000 codes.\n\nAPI client scope: `settings`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify/blocklist",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify",
                    "blocklist"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"6109.10\",\n  \"destination\": \"US\",\n  \"reason\": \"Our broker files these under 6109.90\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Never suggest this code (or any line under it) again, for one destination or all. Adding a code that is already blocked updates its reason. Free; up to 5,000 codes.\n\nAPI client scope: `settings`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"code\": \"string\",\n    \"codeFormatted\": \"string\",\n    \"destination\": \"string\",\n    \"reason\": \"string\",\n    \"createdBy\": \"string\",\n    \"createdAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Unblock a code",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/classify/blocklist?code=&destination=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify",
                "blocklist"
              ],
              "query": [
                {
                  "key": "code",
                  "value": "",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "destination",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Lets classifications suggest the code again. Free.\n\nAPI client scope: `settings`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify/blocklist?code=&destination=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify",
                    "blocklist"
                  ],
                  "query": [
                    {
                      "key": "code",
                      "value": "",
                      "description": "",
                      "disabled": false
                    },
                    {
                      "key": "destination",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "Lets classifications suggest the code again. Free.\n\nAPI client scope: `settings`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"removed\": false\n  }\n}"
            }
          ]
        },
        {
          "name": "Block many codes",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/classify/blocklist/import",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify",
                "blocklist",
                "import"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"codes\": [\n    {\n      \"code\": \"6109.10\",\n      \"destination\": \"US\",\n      \"reason\": \"Our broker files these under 6109.90\"\n    },\n    {\n      \"code\": \"9503\"\n    }\n  ],\n  \"replace\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Block a list of codes at once, or with `replace: true` make the list exactly these. All or nothing: an import that would pass 5,000 codes changes nothing. Free.\n\nAPI client scope: `settings`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify/blocklist/import",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify",
                    "blocklist",
                    "import"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"codes\": [\n    {\n      \"code\": \"6109.10\",\n      \"destination\": \"US\",\n      \"reason\": \"Our broker files these under 6109.90\"\n    },\n    {\n      \"code\": \"9503\"\n    }\n  ],\n  \"replace\": false\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Block a list of codes at once, or with `replace: true` make the list exactly these. All or nothing: an import that would pass 5,000 codes changes nothing. Free.\n\nAPI client scope: `settings`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"added\": 0,\n    \"updated\": 0,\n    \"removed\": 0,\n    \"total\": 0\n  }\n}"
            }
          ]
        },
        {
          "name": "Say whether a classification was right",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/classify/feedback",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "classify",
                "feedback"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"usageId\": \"use_01J9ZK8Q7X4N2M\",\n  \"destinationCountry\": \"US\",\n  \"description\": \"Yoga mat, 6 mm, TPE\",\n  \"predictedCode\": \"3926909985\",\n  \"verdict\": \"wrong\",\n  \"correctCode\": \"9506910030\",\n  \"reason\": \"Exercise equipment, not an article of plastics\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Tell border.bot a code was right, or what it should have been. Corrections are reviewed and become test cases the classifier must pass. With the classification’s `usageId`, sending again replaces your earlier verdict until it is reviewed. Free; up to 1,000 a day.\n\nAPI client scope: `classify`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/classify/feedback",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "classify",
                    "feedback"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"usageId\": \"use_01J9ZK8Q7X4N2M\",\n  \"destinationCountry\": \"US\",\n  \"description\": \"Yoga mat, 6 mm, TPE\",\n  \"predictedCode\": \"3926909985\",\n  \"verdict\": \"wrong\",\n  \"correctCode\": \"9506910030\",\n  \"reason\": \"Exercise equipment, not an article of plastics\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Tell border.bot a code was right, or what it should have been. Corrections are reviewed and become test cases the classifier must pass. With the classification’s `usageId`, sending again replaces your earlier verdict until it is reviewed. Free; up to 1,000 a day.\n\nAPI client scope: `classify`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"replaced\": false,\n    \"kept\": false\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Landed cost",
      "description": "Duties, taxes and fees.",
      "item": [
        {
          "name": "Calculate duties, taxes and landed cost",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/calculate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "calculate"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"hsCode\": \"6109.10.00.12\",\n  \"originCountry\": \"CN\",\n  \"destinationCountry\": \"US\",\n  \"value\": 120,\n  \"currency\": \"USD\",\n  \"shippingCost\": 15\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Duties, taxes, fees and the landed cost for one HS code / origin / destination (the destinations `GET /countries` marks `landedCost`), or for a catalogue product by `sku` or `productId` (its approved code for the destination, origin, value, weight and content). Costs 1 credit. Unsupported destinations return 422 `unsupported_country` without charging.\n\nAPI client scope: `calculate`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/calculate",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "calculate"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"hsCode\": \"6109.10.00.12\",\n  \"originCountry\": \"CN\",\n  \"destinationCountry\": \"US\",\n  \"value\": 120,\n  \"currency\": \"USD\",\n  \"shippingCost\": 15\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Duties, taxes, fees and the landed cost for one HS code / origin / destination (the destinations `GET /countries` marks `landedCost`), or for a catalogue product by `sku` or `productId` (its approved code for the destination, origin, value, weight and content). Costs 1 credit. Unsupported destinations return 422 `unsupported_country` without charging.\n\nAPI client scope: `calculate`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"hsCode\": \"6109100012\",\n    \"hsCodeFormatted\": \"6109.10.00.12\",\n    \"originCountry\": \"CN\",\n    \"destinationCountry\": \"US\",\n    \"currency\": \"USD\",\n    \"exchangeRate\": 1,\n    \"transportMode\": \"air\",\n    \"shipmentChannel\": \"courier\",\n    \"shippingTerms\": null,\n    \"deMinimis\": null,\n    \"customsValue\": 100,\n    \"lines\": [\n      {\n        \"kind\": \"duty\",\n        \"name\": \"Customs duty\",\n        \"type\": \"CUSTOMS_DUTY\",\n        \"code\": \"61091000\",\n        \"rate\": \"16.5%\",\n        \"amount\": 16.5,\n        \"agreement\": null\n      },\n      {\n        \"kind\": \"duty\",\n        \"name\": \"Section 301 forced labour, China (12.5%)\",\n        \"type\": \"S301_FORCED_LABOUR\",\n        \"code\": \"9903.05.31\",\n        \"rate\": \"12.5%\",\n        \"amount\": 12.5,\n        \"agreement\": null,\n        \"legalBasis\": \"Section 301 (failure to prohibit imports made with forced labour, 60 economies); USTR notice 91 FR 47318 (FR 2026-15181); CBP CSMS 69326983; HTSUS ch. 99 subch. III U.S. note 52\",\n        \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\"\n      },\n      {\n        \"kind\": \"duty\",\n        \"name\": \"Section 301 China, list 4A (7.5%)\",\n        \"type\": \"S301_CN\",\n        \"code\": \"9903.88.15\",\n        \"rate\": \"7.5%\",\n        \"amount\": 7.5,\n        \"agreement\": null,\n        \"legalBasis\": \"Section 301 (China: technology transfer, IP and innovation); continued by USTR on 2026-10-07 (91 FR 64212, FR 2026-20510); HTSUS ch. 99 subch. III U.S. notes 20 and 31\",\n        \"sourceUrl\": \"https://www.federalregister.gov/d/2026-20510\"\n      }\n    ],\n    \"totals\": {\n      \"goods\": 100,\n      \"shipping\": 15,\n      \"insurance\": 0,\n      \"duties\": 36.5,\n      \"fees\": 0,\n      \"taxes\": 0,\n      \"dutiesTaxesFees\": 36.5,\n      \"landedCost\": 151.5\n    },\n    \"notes\": [],\n    \"upstreamRequestId\": null,\n    \"dataSource\": {\n      \"version\": \"HTS 2026 Revision 7\",\n      \"importedAt\": \"2026-10-14T18:04:08.512Z\",\n      \"datasets\": [\n        {\n          \"dataset\": \"US:hs\",\n          \"seq\": 42,\n          \"releaseId\": \"01a1502a-2fb3-7e6b-8e4d-a46e75afb07b\",\n          \"version\": \"HTS 2026 Revision 7\",\n          \"liveSince\": \"2026-10-14T18:04:08.512Z\"\n        }\n      ]\n    },\n    \"engine\": \"borderbot\",\n    \"schedule\": \"US\",\n    \"region\": null,\n    \"entryDate\": \"2026-10-20\",\n    \"entryType\": \"informal\",\n    \"declaration\": {\n      \"type\": \"simplified\",\n      \"term\": \"informal entry\"\n    },\n    \"filing\": {\n      \"method\": \"electronic\",\n      \"preparedBy\": \"declarant\"\n    },\n    \"estimated\": false,\n    \"needs\": [],\n    \"sources\": [\n      {\n        \"label\": \"USITC Harmonized Tariff Schedule (HTSUS)\",\n        \"url\": \"https://hts.usitc.gov/\"\n      },\n      {\n        \"label\": \"Section 301 forced labour, China (12.5%)\",\n        \"url\": \"https://www.federalregister.gov/d/2026-15181\"\n      },\n      {\n        \"label\": \"Section 301 China, list 4A (7.5%)\",\n        \"url\": \"https://www.federalregister.gov/d/2026-20510\"\n      }\n    ],\n    \"sellerTaxes\": 0,\n    \"flatDuty\": null,\n    \"validation\": [],\n    \"regulatory\": [],\n    \"tradeAgreement\": null,\n    \"rateFound\": true,\n    \"availableExemptions\": [\n      \"9903.05.91\",\n      \"9903.05.92\"\n    ],\n    \"options\": [],\n    \"claims\": {\n      \"available\": [\n        {\n          \"code\": \"9903.05.91\",\n          \"name\": \"Donations to relieve human suffering\",\n          \"affects\": \"Section 301 forced labour, China (12.5%)\",\n          \"affectsCode\": \"9903.05.31\",\n          \"kind\": null,\n          \"legalBasis\": null,\n          \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\",\n          \"proof\": null,\n          \"condition\": \"Only if the goods are donations of articles, such as food, clothing and medicine, intended to be used to relieve human suffering (50 U.S.C. 1702(b)(2)).\"\n        }\n      ],\n      \"applied\": []\n    },\n    \"entryCodes\": [\n      {\n        \"code\": \"9903.05.31\",\n        \"role\": \"additional\",\n        \"name\": \"Section 301 forced labour, China (12.5%)\",\n        \"type\": \"S301_FORCED_LABOUR\",\n        \"lines\": [\n          \"9903.05.31\"\n        ]\n      },\n      {\n        \"code\": \"9903.88.15\",\n        \"role\": \"additional\",\n        \"name\": \"Section 301 China, list 4A (7.5%)\",\n        \"type\": \"S301_CN\",\n        \"lines\": [\n          \"9903.88.15\"\n        ]\n      },\n      {\n        \"code\": \"6109100012\",\n        \"role\": \"tariff\",\n        \"name\": \"Customs duty\",\n        \"type\": \"CUSTOMS_DUTY\",\n        \"lines\": [\n          \"61091000\"\n        ]\n      }\n    ],\n    \"entryCodeOrder\": {\n      \"label\": \"CBP CSMS #69668138: order of reporting multiple HTS numbers\",\n      \"url\": \"https://content.govdelivery.com/bulletins/gd/USDHSCBP-4270d2a\"\n    }\n  },\n  \"credits\": {\n    \"charged\": 1,\n    \"remaining\": 97,\n    \"usageId\": \"usg_01m5dc29tdkdmpffnd43jmg1w5\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Calculate a whole shipment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/calculate/shipment",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "calculate",
                "shipment"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"destinationCountry\": \"GB\",\n  \"currency\": \"USD\",\n  \"shippingCost\": 12,\n  \"items\": [\n    {\n      \"hsCode\": \"6109.10\",\n      \"originCountry\": \"CN\",\n      \"value\": 60,\n      \"quantity\": 3\n    },\n    {\n      \"hsCode\": \"6204.62\",\n      \"originCountry\": \"BD\",\n      \"value\": 45\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Duties, taxes, fees and the landed cost of a cart or order to one destination: up to 50 lines (by their facts, or catalogue products by `sku`), freight and insurance shared out by value, one de minimis check, and per-entry fees charged once. Costs 1 credit per line. Priced on border.bot’s own data: a destination it doesn’t cover yet returns 422 `unsupported_country` without charging.\n\nAPI client scope: `calculate`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/calculate/shipment",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "calculate",
                    "shipment"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"destinationCountry\": \"GB\",\n  \"currency\": \"USD\",\n  \"shippingCost\": 12,\n  \"items\": [\n    {\n      \"hsCode\": \"6109.10\",\n      \"originCountry\": \"CN\",\n      \"value\": 60,\n      \"quantity\": 3\n    },\n    {\n      \"hsCode\": \"6204.62\",\n      \"originCountry\": \"BD\",\n      \"value\": 45\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Duties, taxes, fees and the landed cost of a cart or order to one destination: up to 50 lines (by their facts, or catalogue products by `sku`), freight and insurance shared out by value, one de minimis check, and per-entry fees charged once. Costs 1 credit per line. Priced on border.bot’s own data: a destination it doesn’t cover yet returns 422 `unsupported_country` without charging.\n\nAPI client scope: `calculate`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"destinationCountry\": \"string\",\n    \"currency\": \"string\",\n    \"exchangeRate\": 0,\n    \"transportMode\": \"string\",\n    \"shipmentChannel\": \"string\",\n    \"shippingTerms\": \"string\",\n    \"deMinimis\": {\n      \"threshold\": 0,\n      \"exempt\": false,\n      \"taxThreshold\": 0,\n      \"taxExempt\": false\n    },\n    \"customsValue\": 0,\n    \"lines\": [\n      {\n        \"kind\": \"duty\",\n        \"name\": \"string\",\n        \"type\": \"string\",\n        \"code\": \"string\",\n        \"rate\": \"string\",\n        \"amount\": 0,\n        \"agreement\": \"string\",\n        \"category\": \"customs_processing\",\n        \"publisher\": {\n          \"code\": \"string\",\n          \"label\": \"string\"\n        },\n        \"collectedBy\": \"border\",\n        \"estimated\": false,\n        \"exemptedBy\": \"9903.05.86\",\n        \"legalBasis\": \"Section 301 (failure to prohibit imports made with forced labour, 60 economies); USTR notice 91 FR 47318 (FR 2026-15181); CBP CSMS 69326983; HTSUS ch. 99 subch. III U.S. note 52\",\n        \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\",\n        \"exemption\": {\n          \"code\": \"9903.05.86\",\n          \"name\": \"Products listed in U.S. note 52(b)\",\n          \"application\": \"automatic\",\n          \"kind\": \"string\",\n          \"legalBasis\": \"U.S. note 52(b)\",\n          \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\",\n          \"proof\": null,\n          \"alternatives\": [\n            {\n              \"code\": \"9903.05.86\",\n              \"name\": \"Products listed in U.S. note 52(b)\",\n              \"application\": \"automatic\",\n              \"kind\": null,\n              \"legalBasis\": \"U.S. note 52(b)\",\n              \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\"\n            }\n          ]\n        }\n      }\n    ],\n    \"totals\": {\n      \"goods\": 0,\n      \"shipping\": 0,\n      \"insurance\": 0,\n      \"duties\": 0,\n      \"fees\": 0,\n      \"taxes\": 0,\n      \"dutiesTaxesFees\": 0,\n      \"landedCost\": 0\n    },\n    \"notes\": [\n      \"string\"\n    ],\n    \"upstreamRequestId\": \"string\",\n    \"dataSource\": {\n      \"version\": \"string\",\n      \"importedAt\": \"string\",\n      \"datasets\": [\n        {\n          \"dataset\": \"US:rates\",\n          \"seq\": 0,\n          \"releaseId\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n          \"version\": \"string\",\n          \"liveSince\": \"string\"\n        }\n      ]\n    },\n    \"engine\": \"borderbot\",\n    \"schedule\": \"string\",\n    \"region\": \"string\",\n    \"entryDate\": \"string\",\n    \"entryType\": \"formal\",\n    \"declaration\": {\n      \"type\": \"full\",\n      \"term\": \"string\"\n    },\n    \"filing\": {\n      \"method\": \"electronic\",\n      \"preparedBy\": \"declarant\"\n    },\n    \"estimated\": false,\n    \"needs\": [\n      \"string\"\n    ],\n    \"sources\": [\n      {\n        \"label\": \"string\",\n        \"url\": \"string\"\n      }\n    ],\n    \"sellerTaxes\": 0,\n    \"flatDuty\": {\n      \"rate\": \"string\",\n      \"amount\": 0\n    },\n    \"validation\": [\n      {\n        \"rule\": \"string\",\n        \"action\": \"reject\",\n        \"code\": \"string\",\n        \"message\": \"string\",\n        \"itemIndex\": 0\n      }\n    ],\n    \"catalog\": [\n      {\n        \"index\": 0,\n        \"productId\": \"string\",\n        \"itemId\": \"string\",\n        \"sku\": \"string\",\n        \"title\": \"string\",\n        \"schedule\": \"string\",\n        \"classificationId\": \"string\",\n        \"code\": \"string\",\n        \"filled\": [\n          \"string\"\n        ]\n      }\n    ],\n    \"items\": [\n      {\n        \"index\": 0,\n        \"hsCode\": \"string\",\n        \"hsCodeFormatted\": \"string\",\n        \"originCountry\": \"string\",\n        \"customsValue\": 0,\n        \"duty\": 0,\n        \"rateFound\": false,\n        \"tradeAgreement\": \"string\",\n        \"lines\": [\n          {\n            \"kind\": \"duty\",\n            \"name\": \"string\",\n            \"type\": \"string\",\n            \"code\": \"string\",\n            \"rate\": \"string\",\n            \"amount\": 0,\n            \"agreement\": \"string\",\n            \"category\": \"customs_processing\",\n            \"publisher\": {\n              \"code\": \"string\",\n              \"label\": \"string\"\n            },\n            \"collectedBy\": \"border\",\n            \"estimated\": false,\n            \"exemptedBy\": \"9903.05.86\",\n            \"legalBasis\": \"Section 301 (failure to prohibit imports made with forced labour, 60 economies); USTR notice 91 FR 47318 (FR 2026-15181); CBP CSMS 69326983; HTSUS ch. 99 subch. III U.S. note 52\",\n            \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\",\n            \"exemption\": {\n              \"code\": \"9903.05.86\",\n              \"name\": \"Products listed in U.S. note 52(b)\",\n              \"application\": \"automatic\",\n              \"kind\": \"string\",\n              \"legalBasis\": \"U.S. note 52(b)\",\n              \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\",\n              \"proof\": null,\n              \"alternatives\": [\n                {\n                  \"code\": \"9903.05.86\",\n                  \"name\": \"Products listed in U.S. note 52(b)\",\n                  \"application\": \"automatic\",\n                  \"kind\": null,\n                  \"legalBasis\": \"U.S. note 52(b)\",\n                  \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\"\n                }\n              ]\n            }\n          }\n        ],\n        \"regulatory\": [\n          {\n            \"code\": \"string\",\n            \"name\": \"string\",\n            \"description\": \"string\",\n            \"agency\": \"string\",\n            \"measureType\": \"string\",\n            \"condition\": \"string\"\n          }\n        ],\n        \"options\": [\n          {\n            \"tier\": \"general\",\n            \"programme\": {\n              \"code\": \"string\",\n              \"name\": \"string\",\n              \"agreement\": \"string\",\n              \"proof\": \"string\"\n            },\n            \"rate\": \"string\",\n            \"amount\": 0,\n            \"estimated\": false,\n            \"applied\": false,\n            \"condition\": {\n              \"kind\": \"pharmaceutical\",\n              \"code\": \"string\",\n              \"label\": \"string\"\n            },\n            \"quota\": \"string\",\n            \"relief\": {\n              \"code\": \"string\",\n              \"name\": \"string\",\n              \"kind\": \"autonomous_suspension\"\n            }\n          }\n        ],\n        \"claims\": {\n          \"available\": [\n            {\n              \"code\": \"9903.94.06\",\n              \"name\": \"string\",\n              \"affects\": \"string\",\n              \"affectsCode\": \"9903.94.05\",\n              \"kind\": \"string\",\n              \"legalBasis\": \"U.S. note 33(h)\",\n              \"sourceUrl\": \"string\",\n              \"proof\": \"string\",\n              \"condition\": null\n            }\n          ],\n          \"applied\": [\n            {\n              \"code\": \"string\",\n              \"name\": \"string\",\n              \"application\": \"automatic\"\n            }\n          ]\n        },\n        \"availableExemptions\": [\n          \"string\"\n        ],\n        \"contentHints\": [\n          {\n            \"code\": \"9903.82.06\",\n            \"name\": \"string\",\n            \"fields\": [\n              \"materials[steel].weightKg\",\n              \"materials[steel].origins.melt_pour\"\n            ],\n            \"note\": \"string\"\n          }\n        ],\n        \"entryCodes\": [\n          {\n            \"code\": \"9903.05.90\",\n            \"role\": \"exemption\",\n            \"name\": \"Goods under Section 232 aren’t subject to the forced-labour duties (U.S. note 52(f))\",\n            \"type\": \"S301_FORCED_LABOUR\",\n            \"lines\": [\n              \"9903.05.31\"\n            ]\n          },\n          {\n            \"code\": \"9903.94.05\",\n            \"role\": \"additional\",\n            \"name\": \"Section 232 automobile parts (25%)\",\n            \"type\": \"S232_AUTO_PARTS\",\n            \"lines\": [\n              \"9903.94.05\"\n            ]\n          },\n          {\n            \"code\": \"8471300100\",\n            \"role\": \"tariff\",\n            \"name\": \"General rate\",\n            \"type\": \"CUSTOMS_DUTY\",\n            \"lines\": [\n              \"84713001\"\n            ]\n          }\n        ],\n        \"entryCodeOrder\": {\n          \"label\": \"string\",\n          \"url\": \"string\"\n        }\n      }\n    ]\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0,\n    \"usageId\": \"string\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Duty stacking",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/calculate/stacking",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "calculate",
                "stacking"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\n    {\n      \"hsCode\": \"8479.89.94\",\n      \"originCountry\": \"CN\",\n      \"destinationCountry\": \"US\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Which duty lines apply to a code from an origin on a date, without a shipment: the base duty, then every additional measure (Section 301, 232, reciprocal…), which exemption codes remove which, the measures that depend on metal content or a claim, and the claim codes you could file. Up to 100 lines; free unless your pricing says otherwise. Answers from border.bot’s own data: a destination it doesn’t cover returns 422 `unsupported_country`.\n\nAPI client scope: `calculate`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/calculate/stacking",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "calculate",
                    "stacking"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"items\": [\n    {\n      \"hsCode\": \"8479.89.94\",\n      \"originCountry\": \"CN\",\n      \"destinationCountry\": \"US\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Which duty lines apply to a code from an origin on a date, without a shipment: the base duty, then every additional measure (Section 301, 232, reciprocal…), which exemption codes remove which, the measures that depend on metal content or a claim, and the claim codes you could file. Up to 100 lines; free unless your pricing says otherwise. Answers from border.bot’s own data: a destination it doesn’t cover returns 422 `unsupported_country`.\n\nAPI client scope: `calculate`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"results\": [\n      {\n        \"index\": 0,\n        \"ref\": \"string\",\n        \"hsCode\": \"string\",\n        \"hsCodeFormatted\": \"string\",\n        \"originCountry\": \"string\",\n        \"destinationCountry\": \"string\",\n        \"schedule\": \"string\",\n        \"entryDate\": \"string\",\n        \"rateFound\": false,\n        \"lines\": [\n          {\n            \"kind\": \"base\",\n            \"type\": \"string\",\n            \"name\": \"string\",\n            \"code\": \"string\",\n            \"rate\": \"string\",\n            \"exemptedBy\": \"string\",\n            \"exemption\": {\n              \"code\": \"9903.05.86\",\n              \"name\": \"Products listed in U.S. note 52(b)\",\n              \"application\": \"automatic\",\n              \"kind\": \"string\",\n              \"legalBasis\": \"U.S. note 52(b)\",\n              \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\",\n              \"proof\": null,\n              \"alternatives\": [\n                {\n                  \"code\": \"9903.05.86\",\n                  \"name\": \"Products listed in U.S. note 52(b)\",\n                  \"application\": \"automatic\",\n                  \"kind\": null,\n                  \"legalBasis\": \"U.S. note 52(b)\",\n                  \"sourceUrl\": \"https://www.federalregister.gov/d/2026-15181\"\n                }\n              ]\n            },\n            \"legalBasis\": \"string\",\n            \"sourceUrl\": \"string\"\n          }\n        ],\n        \"conditional\": [\n          {\n            \"name\": \"string\",\n            \"code\": \"string\",\n            \"rate\": \"string\",\n            \"condition\": \"string\"\n          }\n        ],\n        \"claimable\": [\n          {\n            \"code\": \"9903.94.06\",\n            \"name\": \"string\",\n            \"affects\": \"string\",\n            \"affectsCode\": \"9903.94.05\",\n            \"kind\": \"string\",\n            \"legalBasis\": \"U.S. note 33(h)\",\n            \"sourceUrl\": \"string\",\n            \"proof\": \"string\",\n            \"condition\": null\n          }\n        ],\n        \"entryCodes\": [\n          {\n            \"code\": \"9903.05.90\",\n            \"role\": \"exemption\",\n            \"name\": \"Goods under Section 232 aren’t subject to the forced-labour duties (U.S. note 52(f))\",\n            \"type\": \"S301_FORCED_LABOUR\",\n            \"lines\": [\n              \"9903.05.31\"\n            ]\n          },\n          {\n            \"code\": \"9903.94.05\",\n            \"role\": \"additional\",\n            \"name\": \"Section 232 automobile parts (25%)\",\n            \"type\": \"S232_AUTO_PARTS\",\n            \"lines\": [\n              \"9903.94.05\"\n            ]\n          },\n          {\n            \"code\": \"8471300100\",\n            \"role\": \"tariff\",\n            \"name\": \"General rate\",\n            \"type\": \"CUSTOMS_DUTY\",\n            \"lines\": [\n              \"84713001\"\n            ]\n          }\n        ],\n        \"entryCodeOrder\": {\n          \"label\": \"string\",\n          \"url\": \"string\"\n        },\n        \"notes\": [\n          \"string\"\n        ],\n        \"dataSource\": {\n          \"version\": \"string\",\n          \"importedAt\": \"string\",\n          \"datasets\": [\n            {\n              \"dataset\": \"US:rates\",\n              \"seq\": 0,\n              \"releaseId\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n              \"version\": \"string\",\n              \"liveSince\": \"string\"\n            }\n          ]\n        }\n      }\n    ]\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0,\n    \"usageId\": \"string\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Products",
      "description": "Product pages and country of origin.",
      "item": [
        {
          "name": "Read a product page",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/products/extract",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "products",
                "extract"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"<string>\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Fetch a product page and extract its title, brand, price, materials, images and any stated country of origin.\n\nAPI client scope: `origin`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/products/extract",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "products",
                    "extract"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Fetch a product page and extract its title, brand, price, materials, images and any stated country of origin.\n\nAPI client scope: `origin`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"url\": \"string\",\n    \"finalUrl\": \"string\",\n    \"siteName\": \"string\",\n    \"title\": \"string\",\n    \"description\": \"string\",\n    \"brand\": \"string\",\n    \"sku\": \"string\",\n    \"gtin\": \"string\",\n    \"mpn\": \"string\",\n    \"category\": \"string\",\n    \"material\": \"string\",\n    \"color\": \"string\",\n    \"price\": 0,\n    \"currency\": \"string\",\n    \"images\": [\n      \"string\"\n    ],\n    \"countryOfOrigin\": \"string\",\n    \"originEvidence\": \"string\",\n    \"sources\": [\n      \"json-ld\"\n    ],\n    \"summary\": \"string\"\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0,\n    \"usageId\": \"string\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Compliance",
      "description": "Restricted and prohibited goods (free).",
      "item": [
        {
          "name": "Check restricted goods",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/restrictions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "restrictions"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"destinationCountry\": \"US\",\n  \"originCountry\": \"CN\",\n  \"items\": [\n    {\n      \"sku\": \"LAMP-01\",\n      \"title\": \"Lithium battery desk lamp\",\n      \"hsCode\": \"9405.21\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Check items against the destination’s import prohibitions and restrictions and, when `originCountry` is given, the origin’s export rules (sanctions, agency requirements such as FDA or APHIS), plus your own rules (`/restrictions/rules`). It costs the Restrict price per item (free by default; see `GET /pricing`) and is limited to 10 checks per minute per workspace (up to 100 items each). Destinations without coverage return 422 `unsupported_country`.\n\nAPI client scope: `compliance`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/restrictions",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "restrictions"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"destinationCountry\": \"US\",\n  \"originCountry\": \"CN\",\n  \"items\": [\n    {\n      \"sku\": \"LAMP-01\",\n      \"title\": \"Lithium battery desk lamp\",\n      \"hsCode\": \"9405.21\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Check items against the destination’s import prohibitions and restrictions and, when `originCountry` is given, the origin’s export rules (sanctions, agency requirements such as FDA or APHIS), plus your own rules (`/restrictions/rules`). It costs the Restrict price per item (free by default; see `GET /pricing`) and is limited to 10 checks per minute per workspace (up to 100 items each). Destinations without coverage return 422 `unsupported_country`.\n\nAPI client scope: `compliance`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"items\": [\n      {\n        \"sku\": \"LAPTOP-14\",\n        \"title\": \"14-inch laptop\",\n        \"hsCode\": \"8471300100\",\n        \"restrictions\": [\n          {\n            \"id\": \"restriction_17f4af75ba5554\",\n            \"source\": \"platform\",\n            \"hsCode\": \"8471300100\",\n            \"imposingCountry\": \"US\",\n            \"direction\": \"IMPORT\",\n            \"ruleType\": \"restriction\",\n            \"title\": \"FDA: may be required\",\n            \"summary\": \"FDA data may be required (radiation-emitting electronic products).\",\n            \"agency\": \"FDA\",\n            \"requirement\": \"may_be_required\",\n            \"sourceUrl\": \"https://www.cbp.gov/document/technical-documentation/ace-appendix-pga\",\n            \"confidence\": \"HIGH\",\n            \"probability\": null\n          }\n        ]\n      }\n    ],\n    \"matchCount\": 1,\n    \"hasProhibitions\": false,\n    \"hasRestrictions\": true,\n    \"upstreamRequestId\": null,\n    \"engine\": \"borderbot\",\n    \"checkId\": \"01a15ac1-27b3-72dd-9b4d-5e1f66b46892\"\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 96,\n    \"usageId\": \"usg_01m5dc29tdkdmpffnd43jmg1w5\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Restricted-goods checks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/restrictions/checks?limit=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "restrictions",
                "checks"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Your restricted-goods checks, newest first (up to 200): the evidence of what was checked, for which lane, by which engine, and what matched. Free.\n\nAPI client scope: `compliance`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/restrictions/checks?limit=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "restrictions",
                    "checks"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "Your restricted-goods checks, newest first (up to 200): the evidence of what was checked, for which lane, by which engine, and what matched. Free.\n\nAPI client scope: `compliance`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n      \"actor\": \"string\",\n      \"source\": \"string\",\n      \"reference\": \"string\",\n      \"destination\": \"string\",\n      \"origin\": \"string\",\n      \"itemCount\": 0,\n      \"matchCount\": 0,\n      \"hasProhibitions\": false,\n      \"hasRestrictions\": false,\n      \"engine\": \"string\",\n      \"result\": {\n        \"items\": [\n          {\n            \"index\": 0,\n            \"sku\": \"string\",\n            \"title\": \"string\",\n            \"hsCode\": \"string\",\n            \"matches\": [\n              {\n                \"id\": \"string\",\n                \"source\": \"string\",\n                \"ruleType\": \"string\",\n                \"title\": \"string\",\n                \"imposingCountry\": \"string\",\n                \"direction\": \"string\",\n                \"agency\": \"string\"\n              }\n            ]\n          }\n        ]\n      },\n      \"createdAt\": \"string\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Agency filing checks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/comply?limit=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "comply"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Your agency filing checks, newest first (up to 200): what was checked, for which destination, and each agency’s answer (outcome, certificate, citations, exemptions, waiver, intended use). Free.\n\nAPI client scope: `compliance`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/comply?limit=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "comply"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "Your agency filing checks, newest first (up to 200): what was checked, for which destination, and each agency’s answer (outcome, certificate, citations, exemptions, waiver, intended use). Free.\n\nAPI client scope: `compliance`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n      \"actor\": \"string\",\n      \"source\": \"string\",\n      \"reference\": \"string\",\n      \"destination\": \"string\",\n      \"origin\": \"string\",\n      \"itemCount\": 0,\n      \"fileCount\": 0,\n      \"reviewCount\": 0,\n      \"engine\": \"string\",\n      \"result\": {\n        \"items\": [\n          {\n            \"index\": 0,\n            \"sku\": \"string\",\n            \"hsCode\": \"string\",\n            \"filings\": [\n              {\n                \"country\": \"string\",\n                \"agency\": \"string\",\n                \"outcome\": \"string\",\n                \"certificate\": \"string\",\n                \"citations\": [\n                  \"string\"\n                ],\n                \"exemptions\": [\n                  \"string\"\n                ],\n                \"waiver\": \"string\",\n                \"intendedUse\": \"string\",\n                \"program\": \"string\",\n                \"productCode\": \"string\",\n                \"declarations\": [\n                  \"string\"\n                ],\n                \"priorNotice\": false,\n                \"probability\": 0,\n                \"needsReview\": false\n              }\n            ]\n          }\n        ]\n      },\n      \"createdAt\": \"string\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Check agency filings (Comply)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/comply",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "comply"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"destinationCountry\": \"US\",\n  \"items\": [\n    {\n      \"sku\": \"TOY-STACK-01\",\n      \"title\": \"Wooden stacking toy for ages 3+\",\n      \"hsCode\": \"9503.00.0073\"\n    },\n    {\n      \"sku\": \"BEAR-01\",\n      \"title\": \"Plush teddy bear\",\n      \"description\": \"Polyester fill, for toddlers aged 1 and up\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "For each item, what each government agency that flags its tariff line needs for it to clear: file a certificate (with the regulations it certifies to, the certificate kind and any testing exemptions) or disclaim (the waiver and intended-use code), from the agency’s own files (for the US, CPSC’s eFiling HTS list, citation and exception codes and disclaim guidance) and the customs PGA flags. Each regulation cited comes with what complying takes besides meeting it: `testing` by a third party the agency accepts (for CPSC, a children’s product’s rules listed in 16 CFR 1112.15, with the test methods and the laboratory search) and `labelling` (the rule’s marking, labelling and warning sections). Agencies flagged but without rules loaded come back `flagged`; `agencies` limits the answer to the ones named (`CPSC`, `FDA`). Whether a regulation applies is decided per product and returned with its probability; answers below the review threshold have `needsReview`. An item without an `hsCode` is classified for the destination first (returned as its `classification`). Each check is kept as your evidence (`GET /comply` lists them). Costs the Comply price per item in credits (`GET /pricing` lists it), plus a classification in `classifyMode` for each item without a code; each is refunded if it fails. Limited to 10 checks per minute per workspace (up to 100 items each). Destinations without coverage return 422 `unsupported_country`.\n\nAPI client scope: `compliance`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/comply",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "comply"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"destinationCountry\": \"US\",\n  \"items\": [\n    {\n      \"sku\": \"TOY-STACK-01\",\n      \"title\": \"Wooden stacking toy for ages 3+\",\n      \"hsCode\": \"9503.00.0073\"\n    },\n    {\n      \"sku\": \"BEAR-01\",\n      \"title\": \"Plush teddy bear\",\n      \"description\": \"Polyester fill, for toddlers aged 1 and up\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "For each item, what each government agency that flags its tariff line needs for it to clear: file a certificate (with the regulations it certifies to, the certificate kind and any testing exemptions) or disclaim (the waiver and intended-use code), from the agency’s own files (for the US, CPSC’s eFiling HTS list, citation and exception codes and disclaim guidance) and the customs PGA flags. Each regulation cited comes with what complying takes besides meeting it: `testing` by a third party the agency accepts (for CPSC, a children’s product’s rules listed in 16 CFR 1112.15, with the test methods and the laboratory search) and `labelling` (the rule’s marking, labelling and warning sections). Agencies flagged but without rules loaded come back `flagged`; `agencies` limits the answer to the ones named (`CPSC`, `FDA`). Whether a regulation applies is decided per product and returned with its probability; answers below the review threshold have `needsReview`. An item without an `hsCode` is classified for the destination first (returned as its `classification`). Each check is kept as your evidence (`GET /comply` lists them). Costs the Comply price per item in credits (`GET /pricing` lists it), plus a classification in `classifyMode` for each item without a code; each is refunded if it fails. Limited to 10 checks per minute per workspace (up to 100 items each). Destinations without coverage return 422 `unsupported_country`.\n\nAPI client scope: `compliance`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"destination\": \"US\",\n    \"items\": [\n      {\n        \"sku\": \"BEAR-01\",\n        \"title\": \"Plush teddy bear\",\n        \"hsCode\": \"9503000090\",\n        \"classification\": {\n          \"hsCode\": \"9503000090\",\n          \"hsCodeFormatted\": \"9503.00.00.90\",\n          \"description\": \"Other\",\n          \"confidence\": \"high\",\n          \"probability\": 0.91,\n          \"mode\": \"pro\"\n        },\n        \"filings\": [\n          {\n            \"country\": \"US\",\n            \"agency\": \"U.S. Consumer Product Safety Commission\",\n            \"outcome\": \"file\",\n            \"requirement\": \"may_be_required\",\n            \"flags\": [\n              {\n                \"flag\": \"CP1\",\n                \"requirement\": \"may_be_required\",\n                \"source\": \"agency\",\n                \"code\": \"9503000090\"\n              },\n              {\n                \"flag\": \"CP1\",\n                \"requirement\": \"may_be_required\",\n                \"source\": \"border\",\n                \"code\": \"9503000090\"\n              }\n            ],\n            \"category\": \"Toys\",\n            \"certificate\": {\n              \"kind\": \"children\",\n              \"code\": \"CPC\"\n            },\n            \"citations\": [\n              {\n                \"code\": \"1278a\",\n                \"title\": \"15 USC 1278a: Total Lead Content for Children’s Products\",\n                \"probability\": 0.93,\n                \"testing\": [\n                  {\n                    \"code\": \"1112.15(b)(30)\",\n                    \"title\": \"Limits on Total Lead in Children’s Products: Nonmetal Children’s Products\",\n                    \"summary\": \"A children’s product certified to this rule is tested by a CPSC-accepted third-party laboratory (16 CFR 1112.15(b)(30)). The laboratory’s accepted scope names one of these test methods: CPSC Test Method CPSC-CH-E1002-08, “Standard Operating Procedure for Determining Total Lead (Pb) in Nonmetal Children’s Products”.\",\n                    \"link\": \"https://www.cpsc.gov/cgi-bin/labsearch/\",\n                    \"sourceUrl\": \"https://www.ecfr.gov/current/title-16/section-1112.15\",\n                    \"regulation\": \"1278a\",\n                    \"labs\": [\n                      {\n                        \"id\": \"1002\",\n                        \"name\": \"Centre Testing International Group Co., Ltd.\",\n                        \"country\": \"CN\",\n                        \"locality\": \"Shenzhen, Guangdong\",\n                        \"website\": \"http://www.cti-cert.com/\",\n                        \"accreditation\": \"CNAS (China National Accreditation Service for Conformity Assessment) - L1910\",\n                        \"body\": {\n                          \"kind\": \"independent\",\n                          \"label\": \"Independent Conformity Assessment Body\"\n                        },\n                        \"scopes\": [\n                          \"Lead in Non-Metal Children’s Products - CPSC-CH-E1002-08 and/or CPSC-CH-E1002-08.1 and/or CPSC-CH-E1002-08.2 and/or CPSC-CH-E1002-08.3\"\n                        ]\n                      },\n                      {\n                        \"id\": \"1004\",\n                        \"name\": \"TÜV Rheinland Hong Kong Limited\",\n                        \"country\": \"CN\",\n                        \"locality\": \"Hong Kong, Guangdong\",\n                        \"website\": \"http://www.tuv.com/\",\n                        \"accreditation\": \"A2LA (American Association for Lab Accreditation) - 5047.02\",\n                        \"body\": {\n                          \"kind\": \"independent\",\n                          \"label\": \"Independent Conformity Assessment Body\"\n                        },\n                        \"scopes\": [\n                          \"Lead in Non-Metal Children’s Products - CPSC-CH-E1002-08 and/or CPSC-CH-E1002-08.1 and/or CPSC-CH-E1002-08.2 and/or CPSC-CH-E1002-08.3\"\n                        ]\n                      },\n                      {\n                        \"id\": \"1005\",\n                        \"name\": \"UL VS Hong Kong Limited\",\n                        \"country\": \"HK\",\n                        \"locality\": \"Kwai Chung, N.T.\",\n                        \"website\": \"http://www.ul.com/\",\n                        \"accreditation\": \"HKAS (Hong Kong Accreditation Service) - HOKLAS 036\",\n                        \"body\": {\n                          \"kind\": \"independent\",\n                          \"label\": \"Independent Conformity Assessment Body\"\n                        },\n                        \"scopes\": [\n                          \"Lead in Non-Metal Children’s Products - CPSC-CH-E1002-08 and/or CPSC-CH-E1002-08.1 and/or CPSC-CH-E1002-08.2 and/or CPSC-CH-E1002-08.3\"\n                        ]\n                      }\n                    ],\n                    \"labCount\": 560\n                  }\n                ],\n                \"labelling\": []\n              },\n              {\n                \"code\": \"4.27\",\n                \"title\": \"ASTM F963: Stuffed and Beanbag-Type Toys\",\n                \"probability\": 0.9,\n                \"testing\": [\n                  {\n                    \"code\": \"1112.15(b)(32)(ii)(BB)\",\n                    \"title\": \"Stuffed and Beanbag-Type Toys\",\n                    \"summary\": \"A children’s product certified to this rule is tested by a CPSC-accepted third-party laboratory (16 CFR 1112.15(b)(32)(ii)(BB)).\",\n                    \"link\": \"https://www.cpsc.gov/cgi-bin/labsearch/\",\n                    \"sourceUrl\": \"https://www.ecfr.gov/current/title-16/section-1112.15\",\n                    \"regulation\": \"4.27\",\n                    \"labs\": [\n                      {\n                        \"id\": \"1002\",\n                        \"name\": \"Centre Testing International Group Co., Ltd.\",\n                        \"country\": \"CN\",\n                        \"locality\": \"Shenzhen, Guangdong\",\n                        \"website\": \"http://www.cti-cert.com/\",\n                        \"accreditation\": \"CNAS (China National Accreditation Service for Conformity Assessment) - L1910\",\n                        \"body\": {\n                          \"kind\": \"independent\",\n                          \"label\": \"Independent Conformity Assessment Body\"\n                        },\n                        \"scopes\": [\n                          \"Stuffed and Beanbag-Type Toys - 4.27 (ASTM F963-23)\"\n                        ]\n                      },\n                      {\n                        \"id\": \"1004\",\n                        \"name\": \"TÜV Rheinland Hong Kong Limited\",\n                        \"country\": \"CN\",\n                        \"locality\": \"Hong Kong, Guangdong\",\n                        \"website\": \"http://www.tuv.com/\",\n                        \"accreditation\": \"A2LA (American Association for Lab Accreditation) - 5047.02\",\n                        \"body\": {\n                          \"kind\": \"independent\",\n                          \"label\": \"Independent Conformity Assessment Body\"\n                        },\n                        \"scopes\": [\n                          \"Stuffed and Beanbag-Type Toys - 4.27 (ASTM F963-23)\"\n                        ]\n                      },\n                      {\n                        \"id\": \"1005\",\n                        \"name\": \"UL VS Hong Kong Limited\",\n                        \"country\": \"HK\",\n                        \"locality\": \"Kwai Chung, N.T.\",\n                        \"website\": \"http://www.ul.com/\",\n                        \"accreditation\": \"HKAS (Hong Kong Accreditation Service) - HOKLAS 036\",\n                        \"body\": {\n                          \"kind\": \"independent\",\n                          \"label\": \"Independent Conformity Assessment Body\"\n                        },\n                        \"scopes\": [\n                          \"Stuffed and Beanbag-Type Toys - 4.27 (ASTM F963-23)\"\n                        ]\n                      }\n                    ],\n                    \"labCount\": 292\n                  }\n                ],\n                \"labelling\": []\n              }\n            ],\n            \"exemptions\": [],\n            \"waiver\": null,\n            \"intendedUse\": null,\n            \"program\": null,\n            \"productCode\": null,\n            \"declarations\": [],\n            \"priorNotice\": null,\n            \"probability\": 0.9,\n            \"audience\": {\n              \"kind\": \"children\",\n              \"probability\": 0.96\n            },\n            \"alternates\": [\n              {\n                \"code\": \"4.6\",\n                \"title\": \"ASTM F963: Small Objects\",\n                \"probability\": 0.41\n              },\n              {\n                \"code\": \"1501\",\n                \"title\": \"16 CFR 1501: Method for Identifying Toys and Other Articles Intended For Use By Children Under 3 Years of Age Which Present Choking Aspiration, Or Ingestion Hazards Because of Small Parts\",\n                \"probability\": 0.38\n              }\n            ],\n            \"labelling\": [\n              {\n                \"code\": \"2063(a)(5)\",\n                \"title\": \"Children’s product tracking label (CPSA section 14(a)(5))\",\n                \"summary\": \"Effective 1 year after August 14, 2008, the manufacturer of a children’s product shall place permanent, distinguishing marks on the product and its packaging, to the extent practicable, that will enable— (i) the manufacturer to ascertain the location and date of production of the product, cohort information (including the batch, run number, or other identifying characteristic), and any other information determined by the manufacturer to facilitate ascertaining the specific source of the product by reference to those marks; and (ii) the ultimate purchaser to ascertain the manufacturer or private labeler, location and date of production of the product, and cohort information (including the batch, run number, or other identifying characteristic).\",\n                \"link\": null,\n                \"sourceUrl\": \"https://www.govinfo.gov/link/uscode/15/2063?link-type=html\",\n                \"regulation\": null,\n                \"text\": null,\n                \"placement\": \"On the product and its packaging, to the extent practicable.\"\n              }\n            ],\n            \"needsReview\": false,\n            \"why\": [\n              \"U.S. Consumer Product Safety Commission flags the line: CP1 (data may be needed) on the agency’s list for 9503000090, product category “Toys”.\",\n              \"It is the U.S. Consumer Product Safety Commission’s product (97% likely), a children’s product.\",\n              \"2 regulations apply: 1278a, 4.27, certified on a CPC.\"\n            ],\n            \"sources\": [\n              \"https://www.cpsc.gov/eFiling-Document-Library\",\n              \"https://www.ecfr.gov/current/title-16/section-1112.15\",\n              \"https://www.govinfo.gov/link/uscode/15/2063?link-type=html\"\n            ]\n          },\n          {\n            \"country\": \"US\",\n            \"agency\": \"U.S. Environmental Protection Agency\",\n            \"outcome\": \"flagged\",\n            \"requirement\": \"may_be_required\",\n            \"flags\": [\n              {\n                \"flag\": \"EP7\",\n                \"requirement\": \"may_be_required\",\n                \"source\": \"border\",\n                \"code\": \"9503000090\"\n              }\n            ],\n            \"category\": null,\n            \"certificate\": null,\n            \"citations\": [],\n            \"exemptions\": [],\n            \"waiver\": null,\n            \"intendedUse\": null,\n            \"program\": null,\n            \"productCode\": null,\n            \"declarations\": [],\n            \"priorNotice\": null,\n            \"probability\": null,\n            \"audience\": null,\n            \"alternates\": [],\n            \"needsReview\": true,\n            \"why\": [\n              \"U.S. Environmental Protection Agency flags the line: EP7 (data may be needed) on the border’s flags for 9503000090.\",\n              \"border.bot holds no rules for this agency yet: file its data, or check whether a disclaim applies.\"\n            ],\n            \"sources\": []\n          }\n        ]\n      },\n      {\n        \"sku\": \"SYR-5ML\",\n        \"title\": \"Sterile single-use hypodermic syringe, 5 ml, Luer lock\",\n        \"hsCode\": \"9018310040\",\n        \"classification\": null,\n        \"filings\": [\n          {\n            \"country\": \"US\",\n            \"agency\": \"Food and Drug Administration\",\n            \"outcome\": \"file\",\n            \"requirement\": \"required\",\n            \"flags\": [\n              {\n                \"flag\": \"FD2\",\n                \"requirement\": \"required\",\n                \"source\": \"border\",\n                \"code\": \"9018310040\"\n              }\n            ],\n            \"category\": null,\n            \"certificate\": null,\n            \"citations\": [],\n            \"exemptions\": [],\n            \"waiver\": null,\n            \"intendedUse\": {\n              \"code\": \"081.001\",\n              \"title\": \"Standard import of a foreign manufactured device, accessories, or components regulated as a finished device; Import of refurbished device; Import of a reprocessed device\",\n              \"probability\": 0.92\n            },\n            \"program\": {\n              \"code\": \"NED\",\n              \"title\": \"Non-Radiation Emitting Device\",\n              \"parent\": {\n                \"code\": \"DEV\",\n                \"title\": \"Medical Device\"\n              },\n              \"probability\": 0.96\n            },\n            \"productCode\": {\n              \"code\": \"80FMF\",\n              \"scheme\": \"us-fda\",\n              \"codeName\": \"FDA product code\",\n              \"parts\": [\n                {\n                  \"level\": \"industry\",\n                  \"label\": \"Industry\",\n                  \"code\": \"80\",\n                  \"description\": \"General Hospital & Personal Use\"\n                }\n              ],\n              \"product\": {\n                \"code\": \"FMF\",\n                \"description\": \"Syringe, Piston\"\n              },\n              \"validated\": true,\n              \"probability\": 0.9\n            },\n            \"declarations\": [\n              {\n                \"codes\": [\n                  \"DEV\"\n                ],\n                \"title\": \"Device Foreign Manufacturer Registration Number\",\n                \"status\": \"mandatory\",\n                \"applies\": true,\n                \"probability\": null,\n                \"valueRequired\": true\n              },\n              {\n                \"codes\": [\n                  \"DFE\"\n                ],\n                \"title\": \"Device Foreign Exporter Registration Number\",\n                \"status\": \"mandatory\",\n                \"applies\": true,\n                \"probability\": null,\n                \"valueRequired\": true\n              },\n              {\n                \"codes\": [\n                  \"LST\"\n                ],\n                \"title\": \"Device Listing Number\",\n                \"status\": \"mandatory\",\n                \"applies\": true,\n                \"probability\": null,\n                \"valueRequired\": true\n              },\n              {\n                \"codes\": [\n                  \"IRC\"\n                ],\n                \"title\": \"Device Impact Resistance Lens Certification\",\n                \"status\": \"conditional\",\n                \"applies\": false,\n                \"probability\": 0.02,\n                \"valueRequired\": false\n              },\n              {\n                \"codes\": [\n                  \"LWC\"\n                ],\n                \"title\": \"Device Electrode Lead Wire or Patient Cable\",\n                \"status\": \"conditional\",\n                \"applies\": false,\n                \"probability\": 0.03,\n                \"valueRequired\": false\n              },\n              {\n                \"codes\": [\n                  \"PM#\"\n                ],\n                \"title\": \"Device Premarket Number\",\n                \"status\": \"conditional\",\n                \"applies\": true,\n                \"probability\": 0.94,\n                \"valueRequired\": true\n              },\n              {\n                \"codes\": [\n                  \"DI\"\n                ],\n                \"title\": \"Device Identifier (part of the Unique Device Identifier, UDI)\",\n                \"status\": \"optional\",\n                \"applies\": null,\n                \"probability\": null,\n                \"valueRequired\": true\n              },\n              {\n                \"codes\": [\n                  \"ERR\"\n                ],\n                \"title\": \"Entry Review Requested\",\n                \"status\": \"optional\",\n                \"applies\": null,\n                \"probability\": null,\n                \"valueRequired\": false\n              }\n            ],\n            \"priorNotice\": {\n              \"required\": false,\n              \"probability\": 0.96\n            },\n            \"probability\": 0.9,\n            \"needsReview\": false,\n            \"why\": [\n              \"Food and Drug Administration flags the line: FD2 (data required) on the border’s flags for 9018310040.\",\n              \"FDA product code 80FMF (Syringe, Piston).\",\n              \"Filed under Medical Device: Non-Radiation Emitting Device (DEV NED, 96% likely).\",\n              \"Intended use 081.001: Standard import of a foreign manufactured device, accessories, or components regulated as a finished device; Import of refurbished device; Import of a reprocessed device (92% likely).\",\n              \"Declarations: DEV, DFE, LST, PM#.\"\n            ],\n            \"sources\": [\n              \"https://www.cbp.gov/document/technical-documentation/ace-appendix-pga\",\n              \"https://www.fda.gov/media/191441/download\",\n              \"https://www.fda.gov/media/191434/download\"\n            ]\n          }\n        ]\n      }\n    ],\n    \"fileCount\": 2,\n    \"disclaimCount\": 0,\n    \"reviewCount\": 1,\n    \"engine\": \"borderbot\",\n    \"checkId\": \"01a15ac1-27f7-796d-9bf7-a3022ef8f829\",\n    \"dataSource\": {\n      \"version\": null,\n      \"importedAt\": null,\n      \"datasets\": [\n        {\n          \"dataset\": \"US:agency\",\n          \"seq\": 2,\n          \"releaseId\": \"01a15adc-52e0-7c4c-b7f1-d6a7bd829ff9\",\n          \"version\": null,\n          \"liveSince\": \"2026-10-20T19:55:20.000Z\"\n        },\n        {\n          \"dataset\": \"US:restrictions\",\n          \"seq\": 4,\n          \"releaseId\": \"01a14456-ba75-793b-bfc2-a0dd0b9c0361\",\n          \"version\": null,\n          \"liveSince\": \"2026-10-16T08:40:26.156Z\"\n        },\n        {\n          \"dataset\": \"US:regulator\",\n          \"seq\": 1,\n          \"releaseId\": \"01a16a02-1c3e-7f40-9d2b-5b8e2f61c7a4\",\n          \"version\": null,\n          \"liveSince\": \"2026-10-21T09:00:00.000Z\"\n        }\n      ]\n    }\n  },\n  \"credits\": {\n    \"charged\": 4,\n    \"remaining\": 94,\n    \"usageId\": \"usg_01m5dc29tdkdmpffnd43jmg1w5\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Your restricted-goods rules",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/restrictions/rules",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "restrictions",
                "rules"
              ]
            },
            "description": "Rules your restricted-goods checks apply on top of border.bot’s (a compliance team’s own list). Free.\n\nAPI client scope: `settings`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/restrictions/rules",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "restrictions",
                    "rules"
                  ]
                },
                "description": "Rules your restricted-goods checks apply on top of border.bot’s (a compliance team’s own list). Free.\n\nAPI client scope: `settings`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n      \"country\": \"string\",\n      \"direction\": \"string\",\n      \"ruleType\": \"string\",\n      \"code\": \"string\",\n      \"keywords\": [\n        \"string\"\n      ],\n      \"origins\": [\n        \"string\"\n      ],\n      \"title\": \"string\",\n      \"summary\": \"string\",\n      \"createdAt\": \"string\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Add a restricted-goods rule",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/restrictions/rules",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "restrictions",
                "rules"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"country\": \"US\",\n  \"ruleType\": \"prohibition\",\n  \"code\": \"9304\",\n  \"keywords\": [\n    \"airsoft\"\n  ],\n  \"title\": \"No airsoft or air guns (company policy)\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "A rule matched by HS code (and everything under it), by words in the item, or by origin, for one country or `*`. Free.\n\nAPI client scope: `settings`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/restrictions/rules",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "restrictions",
                    "rules"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"country\": \"US\",\n  \"ruleType\": \"prohibition\",\n  \"code\": \"9304\",\n  \"keywords\": [\n    \"airsoft\"\n  ],\n  \"title\": \"No airsoft or air guns (company policy)\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "A rule matched by HS code (and everything under it), by words in the item, or by origin, for one country or `*`. Free.\n\nAPI client scope: `settings`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"country\": \"string\",\n    \"direction\": \"string\",\n    \"ruleType\": \"string\",\n    \"code\": \"string\",\n    \"keywords\": [\n      \"string\"\n    ],\n    \"origins\": [\n      \"string\"\n    ],\n    \"title\": \"string\",\n    \"summary\": \"string\",\n    \"createdAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Remove a restricted-goods rule",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/restrictions/rules?id=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "restrictions",
                "rules"
              ],
              "query": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The rule’s id.",
                  "disabled": false
                }
              ]
            },
            "description": "Removes one of your rules by its id. Free.\n\nAPI client scope: `settings`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/restrictions/rules?id=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "restrictions",
                    "rules"
                  ],
                  "query": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The rule’s id.",
                      "disabled": false
                    }
                  ]
                },
                "description": "Removes one of your rules by its id. Free.\n\nAPI client scope: `settings`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"removed\": false\n  }\n}"
            }
          ]
        },
        {
          "name": "Screen a person or company",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/screen",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "screen"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"<string>\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Check a name (and a company) against denied-party lists: the US Consolidated Screening List (the SDN list, the Entity List, the Denied Persons List and the other export-screening lists of Commerce, State and the Treasury). Names and aliases match exactly or fuzzily (from 0.7); each check is kept as your evidence. Costs the screening price in credits (1 by default; `GET /pricing` lists it), refunded if the check fails; up to 60 a minute per workspace. A match is a lead to review, not a verdict.\n\nAPI client scope: `compliance`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/screen",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "screen"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Check a name (and a company) against denied-party lists: the US Consolidated Screening List (the SDN list, the Entity List, the Denied Persons List and the other export-screening lists of Commerce, State and the Treasury). Names and aliases match exactly or fuzzily (from 0.7); each check is kept as your evidence. Costs the screening price in credits (1 by default; `GET /pricing` lists it), refunded if the check fails; up to 60 a minute per workspace. A match is a lead to review, not a verdict.\n\nAPI client scope: `compliance`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"matches\": [\n      {\n        \"score\": 0.833,\n        \"matchedName\": \"Northwind Maritime Holdings\",\n        \"query\": \"name\",\n        \"list\": \"SDN\",\n        \"listKind\": \"sanctions\",\n        \"issuer\": \"US Treasury (OFAC)\",\n        \"dataset\": \"US:parties\",\n        \"countryMatch\": true,\n        \"party\": {\n          \"name\": \"Northwind Maritime Holdings\",\n          \"altNames\": [\n            \"NW Maritime\"\n          ],\n          \"type\": \"entity\",\n          \"programs\": [\n            \"EXAMPLE\"\n          ],\n          \"addresses\": [\n            {\n              \"address\": \"Port Example, AQ\",\n              \"country\": \"AQ\"\n            }\n          ],\n          \"sourceRef\": \"9001\",\n          \"startDate\": null,\n          \"endDate\": null,\n          \"remarks\": null,\n          \"sourceUrl\": null,\n          \"identifiers\": [],\n          \"countries\": [],\n          \"birthDates\": []\n        }\n      }\n    ],\n    \"matchCount\": 1,\n    \"searched\": [\n      {\n        \"dataset\": \"US:parties\",\n        \"seq\": 18\n      }\n    ],\n    \"screenedAt\": \"2026-10-20T09:30:00.000Z\",\n    \"checkId\": \"01a15ac1-27d8-7ddf-b0bb-6c3fbe8bf828\"\n  },\n  \"credits\": {\n    \"charged\": 1,\n    \"remaining\": 96,\n    \"usageId\": \"usg_01m5dc29tdkdmpffnd43jmg1w5\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Your screening checks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/screen/checks?limit=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "screen",
                "checks"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Every screening your workspace ran, newest first: the evidence that a name was screened, when, against which lists, and what matched. Free.\n\nAPI client scope: `compliance`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/screen/checks?limit=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "screen",
                    "checks"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "Every screening your workspace ran, newest first: the evidence that a name was screened, when, against which lists, and what matched. Free.\n\nAPI client scope: `compliance`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n      \"name\": \"string\",\n      \"company\": \"string\",\n      \"country\": \"string\",\n      \"reference\": \"string\",\n      \"matchCount\": 0,\n      \"topScore\": 0,\n      \"actor\": \"string\",\n      \"result\": {\n        \"matches\": [\n          {\n            \"score\": 0,\n            \"matchedName\": \"string\",\n            \"list\": \"string\",\n            \"listKind\": \"string\",\n            \"issuer\": \"string\",\n            \"dataset\": \"string\",\n            \"name\": \"string\",\n            \"sourceRef\": \"string\"\n          }\n        ],\n        \"searched\": [\n          {\n            \"dataset\": \"string\",\n            \"seq\": 0\n          }\n        ]\n      },\n      \"createdAt\": \"string\"\n    }\n  ]\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Account",
      "description": "Your workspace, credits and usage.",
      "item": [
        {
          "name": "Who am I",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/me",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "me"
              ]
            },
            "description": "The workspace and API client behind this request, with the current credit balance.\n\nAny API client may call this."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/me",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "me"
                  ]
                },
                "description": "The workspace and API client behind this request, with the current credit balance.\n\nAny API client may call this."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"organization\": {\n      \"id\": \"string\",\n      \"name\": \"string\",\n      \"status\": \"active\"\n    },\n    \"client\": {\n      \"id\": \"string\",\n      \"name\": \"string\",\n      \"clientId\": \"string\",\n      \"scopes\": [\n        \"classify\"\n      ],\n      \"expiresAt\": \"string\"\n    },\n    \"credits\": {\n      \"balance\": 0\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Credit balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/credits",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "credits"
              ]
            },
            "description": "Current balance, lifetime totals and the 20 most recent ledger entries (purchases, usage, refunds).\n\nAPI client scope: `account`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/credits",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "credits"
                  ]
                },
                "description": "Current balance, lifetime totals and the 20 most recent ledger entries (purchases, usage, refunds).\n\nAPI client scope: `account`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"balance\": 0,\n    \"lifetimePurchased\": 0,\n    \"lifetimeGranted\": 0,\n    \"lifetimeUsed\": 0,\n    \"lowBalanceThreshold\": 0,\n    \"recentLedger\": [\n      {\n        \"id\": \"string\",\n        \"delta\": 0,\n        \"balanceAfter\": 0,\n        \"kind\": \"purchase\",\n        \"action\": \"string\",\n        \"usageId\": \"string\",\n        \"note\": \"string\",\n        \"actor\": \"string\",\n        \"createdAt\": \"2026-10-20T09:30:00.000Z\"\n      }\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Usage history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/usage?limit=&cursor=&action=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "usage"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size (1–100).",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "Opaque cursor from a previous page.",
                  "disabled": true
                },
                {
                  "key": "action",
                  "value": "",
                  "description": "Only this action.",
                  "disabled": true
                }
              ]
            },
            "description": "Every billable request made by the workspace (dashboard, API and MCP), newest first, with cursor pagination.\n\nAPI client scope: `account`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/usage?limit=&cursor=&action=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "usage"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "",
                      "description": "Page size (1–100).",
                      "disabled": true
                    },
                    {
                      "key": "cursor",
                      "value": "",
                      "description": "Opaque cursor from a previous page.",
                      "disabled": true
                    },
                    {
                      "key": "action",
                      "value": "",
                      "description": "Only this action.",
                      "disabled": true
                    }
                  ]
                },
                "description": "Every billable request made by the workspace (dashboard, API and MCP), newest first, with cursor pagination.\n\nAPI client scope: `account`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"string\",\n      \"action\": \"classify\",\n      \"source\": \"dashboard\",\n      \"status\": \"pending\",\n      \"credits\": 0,\n      \"summary\": \"string\",\n      \"actor\": \"string\",\n      \"errorCode\": \"string\",\n      \"durationMs\": 0,\n      \"createdAt\": \"2026-10-20T09:30:00.000Z\",\n      \"completedAt\": \"2026-10-20T09:30:00.000Z\"\n    }\n  ],\n  \"nextCursor\": \"string\"\n}"
            }
          ]
        },
        {
          "name": "Request log",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/requests?limit=&cursor=&failed=&requestId=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "requests"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size (1–100).",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "The `next` of the previous page.",
                  "disabled": true
                },
                {
                  "key": "failed",
                  "value": "",
                  "description": "`true`: only requests that failed (status 400 and up).",
                  "disabled": true
                },
                {
                  "key": "requestId",
                  "value": "",
                  "description": "One request, by the `X-Request-Id` its response carried (a UUID; older requests keep their `req_…` ids, which still match).",
                  "disabled": true
                }
              ]
            },
            "description": "Every request made for your workspace (API clients and MCP) within the retention period (400 days by default), newest first: what it called, how it ended (status and error code), how long it took, and, for requests that change something, the body (kept for the first 30 days). Quote a request's `requestId` (its `X-Request-Id`) to support.\n\nAPI client scope: `account`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/requests?limit=&cursor=&failed=&requestId=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "requests"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "",
                      "description": "Page size (1–100).",
                      "disabled": true
                    },
                    {
                      "key": "cursor",
                      "value": "",
                      "description": "The `next` of the previous page.",
                      "disabled": true
                    },
                    {
                      "key": "failed",
                      "value": "",
                      "description": "`true`: only requests that failed (status 400 and up).",
                      "disabled": true
                    },
                    {
                      "key": "requestId",
                      "value": "",
                      "description": "One request, by the `X-Request-Id` its response carried (a UUID; older requests keep their `req_…` ids, which still match).",
                      "disabled": true
                    }
                  ]
                },
                "description": "Every request made for your workspace (API clients and MCP) within the retention period (400 days by default), newest first: what it called, how it ended (status and error code), how long it took, and, for requests that change something, the body (kept for the first 30 days). Quote a request's `requestId` (its `X-Request-Id`) to support.\n\nAPI client scope: `account`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n      \"requestId\": \"0199c8d2-5b1e-7c3a-9f4e-2d6b8a1c3e5f\",\n      \"apiKeyId\": \"string\",\n      \"surface\": \"string\",\n      \"actor\": \"string\",\n      \"clientRequestId\": \"string\",\n      \"method\": \"string\",\n      \"path\": \"string\",\n      \"query\": \"string\",\n      \"operation\": \"string\",\n      \"version\": \"string\",\n      \"status\": 0,\n      \"errorCode\": \"string\",\n      \"durationMs\": 0,\n      \"ip\": \"string\",\n      \"userAgent\": \"string\",\n      \"idempotencyKey\": \"string\",\n      \"body\": {},\n      \"hasPayload\": false,\n      \"requestBytes\": 0,\n      \"responseBytes\": 0,\n      \"createdAt\": \"string\",\n      \"expiredAt\": \"string\"\n    }\n  ],\n  \"next\": \"string\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Reference",
      "description": "Public reference data (no key needed).",
      "item": [
        {
          "name": "Supported countries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/countries",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "countries"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "All ISO countries with the nomenclature classification answers in (a 10-digit national tariff where border.bot has one, 6-digit HS elsewhere) and whether landed-cost calculation is supported. No authentication needed."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/countries",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "countries"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "All ISO countries with the nomenclature classification answers in (a 10-digit national tariff where border.bot has one, 6-digit HS elsewhere) and whether landed-cost calculation is supported. No authentication needed."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"code\": \"string\",\n      \"name\": \"string\",\n      \"flag\": \"string\",\n      \"nomenclature\": \"us\",\n      \"nomenclatureLabel\": \"string\",\n      \"landedCost\": false\n    }\n  ],\n  \"popularDestinations\": [\n    \"string\"\n  ],\n  \"popularOrigins\": [\n    \"string\"\n  ]\n}"
            }
          ]
        },
        {
          "name": "Pricing",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/pricing",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "pricing"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Credits per action, credit packs and free-tool limits. No authentication needed."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/pricing",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "pricing"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Credits per action, credit packs and free-tool limits. No authentication needed."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"packages\": [\n      {\n        \"id\": \"string\",\n        \"name\": \"string\",\n        \"description\": \"string\",\n        \"credits\": 0,\n        \"priceCents\": 0,\n        \"currency\": \"string\",\n        \"featured\": false,\n        \"unitPriceCents\": 0\n      }\n    ],\n    \"actions\": [\n      {\n        \"action\": \"string\",\n        \"label\": \"string\",\n        \"description\": \"string\",\n        \"credits\": 0\n      }\n    ],\n    \"freeTools\": {\n      \"limit\": 0,\n      \"windowDays\": 0\n    },\n    \"signupBonusCredits\": 0,\n    \"generatedAt\": \"string\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Origin",
      "description": "",
      "item": [
        {
          "name": "Infer country of origin",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/origin",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "origin"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Organic cotton tee\",\n  \"brand\": \"Example\",\n  \"productUrl\": \"https://shop.example.com/products/organic-tee\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Where a product is made, as a probability per country with the evidence behind each: the product page’s data, “Made in …” text, a label in the photo, an AI estimate from brand, materials and price, the ship-from country and the barcode’s GS1 prefix. An AI estimate alone is never reported as high confidence. `needsReview` (with `reviewReason`) says when a person should confirm, because origin drives duty rates: below `reviewThreshold` (the request’s, else the workspace’s setting, else the platform default of 0.8), or when strong evidence disagrees.\n\nAPI client scope: `origin`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/origin",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "origin"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"title\": \"Organic cotton tee\",\n  \"brand\": \"Example\",\n  \"productUrl\": \"https://shop.example.com/products/organic-tee\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Where a product is made, as a probability per country with the evidence behind each: the product page’s data, “Made in …” text, a label in the photo, an AI estimate from brand, materials and price, the ship-from country and the barcode’s GS1 prefix. An AI estimate alone is never reported as high confidence. `needsReview` (with `reviewReason`) says when a person should confirm, because origin drives duty rates: below `reviewThreshold` (the request’s, else the workspace’s setting, else the platform default of 0.8), or when strong evidence disagrees.\n\nAPI client scope: `origin`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"country\": \"string\",\n    \"confidence\": \"high\",\n    \"source\": \"user\",\n    \"evidence\": \"string\",\n    \"candidates\": [\n      {\n        \"country\": \"string\",\n        \"score\": 0\n      }\n    ],\n    \"probability\": 0,\n    \"alternates\": [\n      {\n        \"country\": \"string\",\n        \"probability\": 0\n      }\n    ],\n    \"signals\": [\n      {\n        \"kind\": \"user\",\n        \"country\": \"string\",\n        \"weight\": 0,\n        \"evidence\": \"string\"\n      }\n    ],\n    \"needsReview\": false,\n    \"reviewReason\": \"string\",\n    \"reviewThreshold\": 0,\n    \"reasoning\": \"string\"\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0,\n    \"usageId\": \"string\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Check a declared country of origin",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/origin/validate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "origin",
                "validate"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"declaredOrigin\": \"US\",\n  \"title\": \"Wireless earbuds\",\n  \"description\": \"Bluetooth 5.3. Made in China.\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "How believable a declared origin is, given everything else known about the product: the share of the evidence pointing elsewhere (`probabilityOfMisrepresentation`), a verdict, the likely origin, and the reasons in words. With no evidence either way the verdict is `unknown`, never a guess. `needsReview` flags it when the misrepresentation probability reaches `reviewThreshold` (the request’s, else the workspace’s setting, else the platform default of 0.3), or when there is no evidence.\n\nAPI client scope: `origin`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/origin/validate",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "origin",
                    "validate"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"declaredOrigin\": \"US\",\n  \"title\": \"Wireless earbuds\",\n  \"description\": \"Bluetooth 5.3. Made in China.\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "How believable a declared origin is, given everything else known about the product: the share of the evidence pointing elsewhere (`probabilityOfMisrepresentation`), a verdict, the likely origin, and the reasons in words. With no evidence either way the verdict is `unknown`, never a guess. `needsReview` flags it when the misrepresentation probability reaches `reviewThreshold` (the request’s, else the workspace’s setting, else the platform default of 0.3), or when there is no evidence.\n\nAPI client scope: `origin`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"declared\": \"string\",\n    \"verdict\": \"consistent\",\n    \"probabilityOfMisrepresentation\": 0,\n    \"probability\": 0,\n    \"likelyOrigin\": \"string\",\n    \"alternates\": [\n      {\n        \"country\": \"string\",\n        \"probability\": 0\n      }\n    ],\n    \"reasons\": [\n      \"string\"\n    ],\n    \"signals\": [\n      {\n        \"kind\": \"user\",\n        \"country\": \"string\",\n        \"weight\": 0,\n        \"evidence\": \"string\"\n      }\n    ],\n    \"needsReview\": false,\n    \"reviewReason\": \"string\",\n    \"reviewThreshold\": 0\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0,\n    \"usageId\": \"string\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        },
        {
          "name": "Infer or check the origin of up to 50 products",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/origin/batch",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "origin",
                "batch"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\n    {\n      \"title\": \"Organic cotton tee\",\n      \"brand\": \"Example\"\n    },\n    {\n      \"title\": \"Wireless earbuds\",\n      \"declaredOrigin\": \"US\",\n      \"gtin\": \"6901234567892\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Each item is inferred, or validated when it has `declaredOrigin`. Items run four at a time, each charged as one origin call; one failing (bad photo, insufficient credits) never stops the others. With an `Idempotency-Key`, each item replays on its own.\n\nAPI client scope: `origin`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/origin/batch",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "origin",
                    "batch"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"items\": [\n    {\n      \"title\": \"Organic cotton tee\",\n      \"brand\": \"Example\"\n    },\n    {\n      \"title\": \"Wireless earbuds\",\n      \"declaredOrigin\": \"US\",\n      \"gtin\": \"6901234567892\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Each item is inferred, or validated when it has `declaredOrigin`. Items run four at a time, each charged as one origin call; one failing (bad photo, insufficient credits) never stops the others. With an `Idempotency-Key`, each item replays on its own.\n\nAPI client scope: `origin`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"results\": [\n      {\n        \"index\": 0,\n        \"ok\": false,\n        \"inference\": {\n          \"country\": \"string\",\n          \"confidence\": \"high\",\n          \"source\": \"user\",\n          \"evidence\": \"string\",\n          \"candidates\": [\n            {\n              \"country\": \"string\",\n              \"score\": 0\n            }\n          ],\n          \"probability\": 0,\n          \"alternates\": [\n            {\n              \"country\": \"string\",\n              \"probability\": 0\n            }\n          ],\n          \"signals\": [\n            {\n              \"kind\": \"user\",\n              \"country\": \"string\",\n              \"weight\": 0,\n              \"evidence\": \"string\"\n            }\n          ],\n          \"needsReview\": false,\n          \"reviewReason\": \"string\",\n          \"reviewThreshold\": 0,\n          \"reasoning\": \"string\"\n        },\n        \"validation\": {\n          \"declared\": \"string\",\n          \"verdict\": \"consistent\",\n          \"probabilityOfMisrepresentation\": 0,\n          \"probability\": 0,\n          \"likelyOrigin\": \"string\",\n          \"alternates\": [\n            {\n              \"country\": \"string\",\n              \"probability\": 0\n            }\n          ],\n          \"reasons\": [\n            \"string\"\n          ],\n          \"signals\": [\n            {\n              \"kind\": \"user\",\n              \"country\": \"string\",\n              \"weight\": 0,\n              \"evidence\": \"string\"\n            }\n          ],\n          \"needsReview\": false,\n          \"reviewReason\": \"string\",\n          \"reviewThreshold\": 0\n        },\n        \"error\": {\n          \"code\": \"string\",\n          \"message\": \"string\"\n        }\n      }\n    ]\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Shipping documents",
      "description": "",
      "item": [
        {
          "name": "Generate an air waybill PDF",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/documents/waybill",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "documents",
                "waybill"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"kind\": \"master\",\n  \"prefix\": \"125\",\n  \"number\": \"12345675\",\n  \"shipper\": {\n    \"name\": \"Northwind Apparel Ltd\",\n    \"address\": \"Unit 4, Bath Road Trading Estate\",\n    \"city\": \"Hounslow\",\n    \"postcode\": \"TW4 6HG\",\n    \"country\": \"GB\",\n    \"phone\": \"+44 20 7946 0000\"\n  },\n  \"consignee\": {\n    \"name\": \"Harbor Street Retail Inc\",\n    \"address\": \"1200 Harbor Street, Suite 300\",\n    \"city\": \"Los Angeles\",\n    \"postcode\": \"CA 90021\",\n    \"country\": \"US\",\n    \"phone\": \"+1 213 555 0100\"\n  },\n  \"issuer\": {\n    \"name\": \"British Airways World Cargo\",\n    \"address\": \"Heathrow Airport, Hounslow TW6 2JS\"\n  },\n  \"agent\": {\n    \"name\": \"Skyline Forwarding Ltd\",\n    \"city\": \"London\",\n    \"iataCode\": \"91-4 7712/0010\"\n  },\n  \"accountingInformation\": \"FREIGHT PREPAID\",\n  \"departure\": \"LHR\",\n  \"departureName\": \"London Heathrow\",\n  \"destination\": \"LAX\",\n  \"destinationName\": \"Los Angeles\",\n  \"routing\": [\n    {\n      \"to\": \"LAX\",\n      \"by\": \"BA\"\n    }\n  ],\n  \"firstCarrierName\": \"British Airways\",\n  \"flights\": [\n    \"BA0283/14OCT\"\n  ],\n  \"currency\": \"GBP\",\n  \"weightValuation\": \"PP\",\n  \"otherChargesPaid\": \"PP\",\n  \"handlingInformation\": \"NOTIFY CONSIGNEE ON ARRIVAL. COMMERCIAL INVOICE AND PACKING LIST ATTACHED.\",\n  \"sci\": \"X\",\n  \"lines\": [\n    {\n      \"pieces\": 4,\n      \"grossWeight\": 86.4,\n      \"rateClass\": \"Q\",\n      \"rate\": 3.85,\n      \"description\": \"Cotton knitted T-shirts and hoodies, 480 units\",\n      \"hsCodes\": [\n        \"610910\",\n        \"611020\"\n      ],\n      \"dimensions\": [\n        {\n          \"pieces\": 4,\n          \"length\": 60,\n          \"width\": 40,\n          \"height\": 45\n        }\n      ]\n    }\n  ],\n  \"otherCharges\": [\n    {\n      \"code\": \"AW\",\n      \"dueTo\": \"A\",\n      \"amount\": 25\n    },\n    {\n      \"code\": \"MY\",\n      \"dueTo\": \"C\",\n      \"amount\": 51.84\n    },\n    {\n      \"code\": \"SC\",\n      \"dueTo\": \"C\",\n      \"amount\": 12.96\n    }\n  ],\n  \"shipperSignature\": \"Skyline Forwarding Ltd\",\n  \"executedOn\": \"2026-10-13\",\n  \"executedAt\": \"London\",\n  \"copies\": \"originals\",\n  \"conditions\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "A master or house air waybill on the IATA Resolution 600a face, with the Resolution 600b conditions of contract after each copy (`conditions`), as 3 originals or the full set of 8 (`copies`). Validated before charging: a wrong check digit or non-Latin text answers 400 without a charge. The PDF is an unsigned draft until the issuing carrier or its agent executes it, and acceptance by any airline, agent or authority is not guaranteed: use is subject to the Terms’ Shipping documents section (https://border.bot/legal/terms#shipping-documents). Costs 1 credit.\n\nAPI client scope: `documents`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/documents/waybill",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "documents",
                    "waybill"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"kind\": \"master\",\n  \"prefix\": \"125\",\n  \"number\": \"12345675\",\n  \"shipper\": {\n    \"name\": \"Northwind Apparel Ltd\",\n    \"address\": \"Unit 4, Bath Road Trading Estate\",\n    \"city\": \"Hounslow\",\n    \"postcode\": \"TW4 6HG\",\n    \"country\": \"GB\",\n    \"phone\": \"+44 20 7946 0000\"\n  },\n  \"consignee\": {\n    \"name\": \"Harbor Street Retail Inc\",\n    \"address\": \"1200 Harbor Street, Suite 300\",\n    \"city\": \"Los Angeles\",\n    \"postcode\": \"CA 90021\",\n    \"country\": \"US\",\n    \"phone\": \"+1 213 555 0100\"\n  },\n  \"issuer\": {\n    \"name\": \"British Airways World Cargo\",\n    \"address\": \"Heathrow Airport, Hounslow TW6 2JS\"\n  },\n  \"agent\": {\n    \"name\": \"Skyline Forwarding Ltd\",\n    \"city\": \"London\",\n    \"iataCode\": \"91-4 7712/0010\"\n  },\n  \"accountingInformation\": \"FREIGHT PREPAID\",\n  \"departure\": \"LHR\",\n  \"departureName\": \"London Heathrow\",\n  \"destination\": \"LAX\",\n  \"destinationName\": \"Los Angeles\",\n  \"routing\": [\n    {\n      \"to\": \"LAX\",\n      \"by\": \"BA\"\n    }\n  ],\n  \"firstCarrierName\": \"British Airways\",\n  \"flights\": [\n    \"BA0283/14OCT\"\n  ],\n  \"currency\": \"GBP\",\n  \"weightValuation\": \"PP\",\n  \"otherChargesPaid\": \"PP\",\n  \"handlingInformation\": \"NOTIFY CONSIGNEE ON ARRIVAL. COMMERCIAL INVOICE AND PACKING LIST ATTACHED.\",\n  \"sci\": \"X\",\n  \"lines\": [\n    {\n      \"pieces\": 4,\n      \"grossWeight\": 86.4,\n      \"rateClass\": \"Q\",\n      \"rate\": 3.85,\n      \"description\": \"Cotton knitted T-shirts and hoodies, 480 units\",\n      \"hsCodes\": [\n        \"610910\",\n        \"611020\"\n      ],\n      \"dimensions\": [\n        {\n          \"pieces\": 4,\n          \"length\": 60,\n          \"width\": 40,\n          \"height\": 45\n        }\n      ]\n    }\n  ],\n  \"otherCharges\": [\n    {\n      \"code\": \"AW\",\n      \"dueTo\": \"A\",\n      \"amount\": 25\n    },\n    {\n      \"code\": \"MY\",\n      \"dueTo\": \"C\",\n      \"amount\": 51.84\n    },\n    {\n      \"code\": \"SC\",\n      \"dueTo\": \"C\",\n      \"amount\": 12.96\n    }\n  ],\n  \"shipperSignature\": \"Skyline Forwarding Ltd\",\n  \"executedOn\": \"2026-10-13\",\n  \"executedAt\": \"London\",\n  \"copies\": \"originals\",\n  \"conditions\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "A master or house air waybill on the IATA Resolution 600a face, with the Resolution 600b conditions of contract after each copy (`conditions`), as 3 originals or the full set of 8 (`copies`). Validated before charging: a wrong check digit or non-Latin text answers 400 without a charge. The PDF is an unsigned draft until the issuing carrier or its agent executes it, and acceptance by any airline, agent or authority is not guaranteed: use is subject to the Terms’ Shipping documents section (https://border.bot/legal/terms#shipping-documents). Costs 1 credit.\n\nAPI client scope: `documents`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"number\": \"125-1234 5675\",\n    \"filename\": \"AWB-125-12345675.pdf\",\n    \"pages\": 6,\n    \"contentType\": \"application/pdf\",\n    \"pdf\": \"string\"\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0,\n    \"usageId\": \"string\"\n  },\n  \"replayed\": false\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Bulk",
      "description": "",
      "item": [
        {
          "name": "Your bulk runs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/runs?limit=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "runs"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Your workspace’s bulk runs, newest first.\n\nAPI client scope: `bulk`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/bulk/runs?limit=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "bulk",
                    "runs"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "Your workspace’s bulk runs, newest first.\n\nAPI client scope: `bulk`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"string\",\n      \"kind\": \"classify\",\n      \"status\": \"queued\",\n      \"total\": 0,\n      \"done\": 0,\n      \"succeeded\": 0,\n      \"failed\": 0,\n      \"creditsCharged\": 0,\n      \"reference\": \"string\",\n      \"error\": \"string\",\n      \"createdAt\": \"string\",\n      \"completedAt\": \"string\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Start a bulk run",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/runs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "runs"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"kind\": \"classify\",\n  \"reference\": \"catalogue-2026-10\",\n  \"items\": [\n    {\n      \"description\": \"Men's cotton t-shirt\",\n      \"destinationCountry\": \"US\"\n    },\n    {\n      \"description\": \"Stainless steel water bottle, 750 ml\",\n      \"destinationCountry\": \"GB\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Classify, calculate, find agency product codes or find and check countries of origin for up to 10,000 items in the background. Each item is charged when it runs (as its single request would be) and refunded if it fails; a run stops when your credits run out. Follow it with `GET /bulk/status`, read its answers with `GET /bulk/results`.\n\nAPI client scope: `bulk`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/bulk/runs",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "bulk",
                    "runs"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"kind\": \"classify\",\n  \"reference\": \"catalogue-2026-10\",\n  \"items\": [\n    {\n      \"description\": \"Men's cotton t-shirt\",\n      \"destinationCountry\": \"US\"\n    },\n    {\n      \"description\": \"Stainless steel water bottle, 750 ml\",\n      \"destinationCountry\": \"GB\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Classify, calculate, find agency product codes or find and check countries of origin for up to 10,000 items in the background. Each item is charged when it runs (as its single request would be) and refunded if it fails; a run stops when your credits run out. Follow it with `GET /bulk/status`, read its answers with `GET /bulk/results`.\n\nAPI client scope: `bulk`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"string\",\n    \"kind\": \"classify\",\n    \"status\": \"queued\",\n    \"total\": 0,\n    \"done\": 0,\n    \"succeeded\": 0,\n    \"failed\": 0,\n    \"creditsCharged\": 0,\n    \"reference\": \"string\",\n    \"error\": \"string\",\n    \"createdAt\": \"string\",\n    \"completedAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Cancel a bulk run",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/runs?id=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "runs"
              ],
              "query": [
                {
                  "key": "id",
                  "value": "",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "description": "Stops a run after the chunk it is working on. Items already done stay done (and charged).\n\nAPI client scope: `bulk`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/bulk/runs?id=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "bulk",
                    "runs"
                  ],
                  "query": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "",
                      "disabled": false
                    }
                  ]
                },
                "description": "Stops a run after the chunk it is working on. Items already done stay done (and charged).\n\nAPI client scope: `bulk`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"string\",\n    \"kind\": \"classify\",\n    \"status\": \"queued\",\n    \"total\": 0,\n    \"done\": 0,\n    \"succeeded\": 0,\n    \"failed\": 0,\n    \"creditsCharged\": 0,\n    \"reference\": \"string\",\n    \"error\": \"string\",\n    \"createdAt\": \"string\",\n    \"completedAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "A bulk run’s progress",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/status?id=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "status"
              ],
              "query": [
                {
                  "key": "id",
                  "value": "",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "description": "How far a run has got: items done, succeeded and failed, and the credits charged so far.\n\nAPI client scope: `bulk`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/bulk/status?id=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "bulk",
                    "status"
                  ],
                  "query": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "",
                      "disabled": false
                    }
                  ]
                },
                "description": "How far a run has got: items done, succeeded and failed, and the credits charged so far.\n\nAPI client scope: `bulk`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"string\",\n    \"kind\": \"classify\",\n    \"status\": \"queued\",\n    \"total\": 0,\n    \"done\": 0,\n    \"succeeded\": 0,\n    \"failed\": 0,\n    \"creditsCharged\": 0,\n    \"reference\": \"string\",\n    \"error\": \"string\",\n    \"createdAt\": \"string\",\n    \"completedAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "A bulk run’s results",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/results?id=&offset=&limit=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "results"
              ],
              "query": [
                {
                  "key": "id",
                  "value": "",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "The answers so far, in item order, up to 1,000 at a time (`next` is the following page’s `offset`). Each is exactly what its single endpoint returns, or the error it failed with.\n\nAPI client scope: `bulk`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/bulk/results?id=&offset=&limit=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "bulk",
                    "results"
                  ],
                  "query": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "",
                      "disabled": false
                    },
                    {
                      "key": "offset",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "limit",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "The answers so far, in item order, up to 1,000 at a time (`next` is the following page’s `offset`). Each is exactly what its single endpoint returns, or the error it failed with.\n\nAPI client scope: `bulk`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"run\": {\n      \"id\": \"string\",\n      \"kind\": \"classify\",\n      \"status\": \"queued\",\n      \"total\": 0,\n      \"done\": 0,\n      \"succeeded\": 0,\n      \"failed\": 0,\n      \"creditsCharged\": 0,\n      \"reference\": \"string\",\n      \"error\": \"string\",\n      \"createdAt\": \"string\",\n      \"completedAt\": \"string\"\n    },\n    \"results\": [\n      {\n        \"index\": 0,\n        \"ok\": false,\n        \"result\": {},\n        \"error\": {\n          \"code\": \"string\",\n          \"message\": \"string\"\n        },\n        \"credits\": 0,\n        \"usageId\": \"string\"\n      }\n    ],\n    \"next\": 0\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Catalogue",
      "description": "",
      "item": [
        {
          "name": "List products",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products?q=&status=&market=&missingCodeFor=&needsReview=&origin=&source=&cursor=&limit=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products"
              ],
              "query": [
                {
                  "key": "q",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "market",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "missingCodeFor",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "needsReview",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "origin",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "source",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Your catalogue, newest change first, a page at a time (`cursor`). Filter by words or a SKU prefix (`q`), status, market, products missing an approved code for a market (`missingCodeFor`), products with a code waiting for review (`needsReview`), origin, or source kind. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products?q=&status=&market=&missingCodeFor=&needsReview=&origin=&source=&cursor=&limit=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products"
                  ],
                  "query": [
                    {
                      "key": "q",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "status",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "market",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "missingCodeFor",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "needsReview",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "origin",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "source",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "cursor",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "limit",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "Your catalogue, newest change first, a page at a time (`cursor`). Filter by words or a SKU prefix (`q`), status, market, products missing an approved code for a market (`missingCodeFor`), products with a code waiting for review (`needsReview`), origin, or source kind. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n      \"status\": \"draft\",\n      \"title\": \"string\",\n      \"brand\": \"string\",\n      \"imageUrl\": \"string\",\n      \"originCountry\": \"string\",\n      \"category\": \"string\",\n      \"skus\": [\n        \"string\"\n      ],\n      \"itemCount\": 0,\n      \"effectiveMarkets\": [\n        \"string\"\n      ],\n      \"codes\": {\n        \"US\": \"7323930080\",\n        \"EU\": \"7323930010\"\n      },\n      \"reviewMarkets\": [\n        \"string\"\n      ],\n      \"sourceKinds\": [\n        \"string\"\n      ],\n      \"updatedAt\": \"2026-10-10T09:00:00.000Z\"\n    }\n  ],\n  \"nextCursor\": \"string\"\n}"
            }
          ]
        },
        {
          "name": "Create a product",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Stainless steel water bottle 750 ml\",\n  \"brand\": \"Acme\",\n  \"materialSummary\": \"stainless steel body, polypropylene lid\",\n  \"originCountry\": \"CN\",\n  \"markets\": [\n    \"US\",\n    \"GB\",\n    \"DE\"\n  ],\n  \"sku\": \"BOTTLE-750\",\n  \"unitValue\": 20,\n  \"currency\": \"USD\",\n  \"weight\": 350,\n  \"weightUnit\": \"g\",\n  \"components\": [\n    {\n      \"material\": \"steel\",\n      \"weight\": 300,\n      \"weightUnit\": \"g\",\n      \"value\": 6,\n      \"currency\": \"USD\",\n      \"origins\": [\n        {\n          \"kind\": \"melt_pour\",\n          \"country\": \"US\"\n        }\n      ]\n    },\n    {\n      \"material\": \"plastic\",\n      \"weight\": 50,\n      \"weightUnit\": \"g\"\n    }\n  ],\n  \"source\": {\n    \"kind\": \"api\",\n    \"externalIds\": {\n      \"id\": \"erp-10023\"\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "A product with its items (each SKU unique in your catalogue), content components, source and any codes you already hold. Codes are checked against the vocabularies (`GET /catalog/terms`). Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"title\": \"Stainless steel water bottle 750 ml\",\n  \"brand\": \"Acme\",\n  \"materialSummary\": \"stainless steel body, polypropylene lid\",\n  \"originCountry\": \"CN\",\n  \"markets\": [\n    \"US\",\n    \"GB\",\n    \"DE\"\n  ],\n  \"sku\": \"BOTTLE-750\",\n  \"unitValue\": 20,\n  \"currency\": \"USD\",\n  \"weight\": 350,\n  \"weightUnit\": \"g\",\n  \"components\": [\n    {\n      \"material\": \"steel\",\n      \"weight\": 300,\n      \"weightUnit\": \"g\",\n      \"value\": 6,\n      \"currency\": \"USD\",\n      \"origins\": [\n        {\n          \"kind\": \"melt_pour\",\n          \"country\": \"US\"\n        }\n      ]\n    },\n    {\n      \"material\": \"plastic\",\n      \"weight\": 50,\n      \"weightUnit\": \"g\"\n    }\n  ],\n  \"source\": {\n    \"kind\": \"api\",\n    \"externalIds\": {\n      \"id\": \"erp-10023\"\n    }\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "A product with its items (each SKU unique in your catalogue), content components, source and any codes you already hold. Codes are checked against the vocabularies (`GET /catalog/terms`). Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"status\": \"draft\",\n    \"title\": \"string\",\n    \"description\": \"string\",\n    \"brand\": \"string\",\n    \"manufacturerName\": \"string\",\n    \"manufacturerCountry\": \"string\",\n    \"category\": \"string\",\n    \"materialSummary\": \"string\",\n    \"tags\": [\n      \"string\"\n    ],\n    \"imageUrls\": [\n      \"string\"\n    ],\n    \"productUrl\": \"string\",\n    \"slug\": \"string\",\n    \"originCountry\": \"string\",\n    \"originBasis\": \"string\",\n    \"originEvidence\": {\n      \"note\": \"string\",\n      \"documentRef\": \"string\",\n      \"probability\": 0\n    },\n    \"preferentialClaims\": [\n      {\n        \"programme\": \"string\",\n        \"basis\": \"string\",\n        \"documentRef\": \"string\",\n        \"validFrom\": \"string\",\n        \"validTo\": \"string\"\n      }\n    ],\n    \"attributes\": [\n      {\n        \"kind\": \"string\",\n        \"value\": \"string\",\n        \"note\": \"string\"\n      }\n    ],\n    \"markets\": [\n      \"string\"\n    ],\n    \"effectiveMarkets\": [\n      \"string\"\n    ],\n    \"quantityUnit\": \"string\",\n    \"supplementaryUnits\": [\n      {\n        \"unit\": \"string\",\n        \"perItem\": 0\n      }\n    ],\n    \"extra\": {},\n    \"fieldSources\": {},\n    \"items\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"status\": \"active\",\n        \"sku\": \"string\",\n        \"gtin\": \"string\",\n        \"mpn\": \"string\",\n        \"title\": \"string\",\n        \"options\": {},\n        \"unitValue\": 0,\n        \"currency\": \"string\",\n        \"weight\": 0,\n        \"weightUnit\": \"string\",\n        \"length\": 0,\n        \"width\": 0,\n        \"height\": 0,\n        \"dimensionUnit\": \"string\",\n        \"originCountry\": \"string\",\n        \"position\": 0,\n        \"fieldSources\": {}\n      }\n    ],\n    \"components\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"material\": \"steel\",\n        \"sharePercent\": 0,\n        \"weight\": 0,\n        \"weightUnit\": \"string\",\n        \"value\": 0,\n        \"currency\": \"string\",\n        \"origins\": [\n          {\n            \"kind\": \"string\",\n            \"country\": \"string\"\n          }\n        ],\n        \"notes\": \"string\"\n      }\n    ],\n    \"sources\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"kind\": \"shopify\",\n        \"kindLabel\": \"string\",\n        \"connection\": \"string\",\n        \"externalKey\": \"string\",\n        \"externalIds\": {},\n        \"itemId\": \"string\",\n        \"url\": \"string\",\n        \"syncDirection\": \"import\",\n        \"lastSyncedAt\": \"string\",\n        \"status\": \"active\",\n        \"data\": {}\n      }\n    ],\n    \"classifications\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"market\": \"DE\",\n        \"schedule\": \"EU\",\n        \"code\": \"7323930010\",\n        \"codeFormatted\": \"string\",\n        \"hs6\": \"string\",\n        \"description\": \"string\",\n        \"source\": \"manual\",\n        \"sourceKind\": \"string\",\n        \"status\": \"suggested\",\n        \"confidence\": \"string\",\n        \"probability\": 0,\n        \"reasoning\": \"string\",\n        \"mode\": \"string\",\n        \"usageId\": \"string\",\n        \"alternatives\": [\n          {\n            \"code\": \"string\",\n            \"description\": \"string\",\n            \"probability\": 0\n          }\n        ],\n        \"reviewedBy\": \"string\",\n        \"reviewedAt\": \"string\",\n        \"reviewNote\": \"string\",\n        \"validFrom\": \"string\",\n        \"validTo\": \"string\",\n        \"createdBy\": \"string\",\n        \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n      }\n    ],\n    \"createdBy\": \"string\",\n    \"updatedBy\": \"string\",\n    \"createdAt\": \"2026-10-10T09:00:00.000Z\",\n    \"updatedAt\": \"2026-10-10T09:00:00.000Z\",\n    \"archivedAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Get a product",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                }
              ]
            },
            "description": "A product with its items, content components, sources and current codes per market. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    }
                  ]
                },
                "description": "A product with its items, content components, sources and current codes per market. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"status\": \"draft\",\n    \"title\": \"string\",\n    \"description\": \"string\",\n    \"brand\": \"string\",\n    \"manufacturerName\": \"string\",\n    \"manufacturerCountry\": \"string\",\n    \"category\": \"string\",\n    \"materialSummary\": \"string\",\n    \"tags\": [\n      \"string\"\n    ],\n    \"imageUrls\": [\n      \"string\"\n    ],\n    \"productUrl\": \"string\",\n    \"slug\": \"string\",\n    \"originCountry\": \"string\",\n    \"originBasis\": \"string\",\n    \"originEvidence\": {\n      \"note\": \"string\",\n      \"documentRef\": \"string\",\n      \"probability\": 0\n    },\n    \"preferentialClaims\": [\n      {\n        \"programme\": \"string\",\n        \"basis\": \"string\",\n        \"documentRef\": \"string\",\n        \"validFrom\": \"string\",\n        \"validTo\": \"string\"\n      }\n    ],\n    \"attributes\": [\n      {\n        \"kind\": \"string\",\n        \"value\": \"string\",\n        \"note\": \"string\"\n      }\n    ],\n    \"markets\": [\n      \"string\"\n    ],\n    \"effectiveMarkets\": [\n      \"string\"\n    ],\n    \"quantityUnit\": \"string\",\n    \"supplementaryUnits\": [\n      {\n        \"unit\": \"string\",\n        \"perItem\": 0\n      }\n    ],\n    \"extra\": {},\n    \"fieldSources\": {},\n    \"items\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"status\": \"active\",\n        \"sku\": \"string\",\n        \"gtin\": \"string\",\n        \"mpn\": \"string\",\n        \"title\": \"string\",\n        \"options\": {},\n        \"unitValue\": 0,\n        \"currency\": \"string\",\n        \"weight\": 0,\n        \"weightUnit\": \"string\",\n        \"length\": 0,\n        \"width\": 0,\n        \"height\": 0,\n        \"dimensionUnit\": \"string\",\n        \"originCountry\": \"string\",\n        \"position\": 0,\n        \"fieldSources\": {}\n      }\n    ],\n    \"components\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"material\": \"steel\",\n        \"sharePercent\": 0,\n        \"weight\": 0,\n        \"weightUnit\": \"string\",\n        \"value\": 0,\n        \"currency\": \"string\",\n        \"origins\": [\n          {\n            \"kind\": \"string\",\n            \"country\": \"string\"\n          }\n        ],\n        \"notes\": \"string\"\n      }\n    ],\n    \"sources\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"kind\": \"shopify\",\n        \"kindLabel\": \"string\",\n        \"connection\": \"string\",\n        \"externalKey\": \"string\",\n        \"externalIds\": {},\n        \"itemId\": \"string\",\n        \"url\": \"string\",\n        \"syncDirection\": \"import\",\n        \"lastSyncedAt\": \"string\",\n        \"status\": \"active\",\n        \"data\": {}\n      }\n    ],\n    \"classifications\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"market\": \"DE\",\n        \"schedule\": \"EU\",\n        \"code\": \"7323930010\",\n        \"codeFormatted\": \"string\",\n        \"hs6\": \"string\",\n        \"description\": \"string\",\n        \"source\": \"manual\",\n        \"sourceKind\": \"string\",\n        \"status\": \"suggested\",\n        \"confidence\": \"string\",\n        \"probability\": 0,\n        \"reasoning\": \"string\",\n        \"mode\": \"string\",\n        \"usageId\": \"string\",\n        \"alternatives\": [\n          {\n            \"code\": \"string\",\n            \"description\": \"string\",\n            \"probability\": 0\n          }\n        ],\n        \"reviewedBy\": \"string\",\n        \"reviewedAt\": \"string\",\n        \"reviewNote\": \"string\",\n        \"validFrom\": \"string\",\n        \"validTo\": \"string\",\n        \"createdBy\": \"string\",\n        \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n      }\n    ],\n    \"createdBy\": \"string\",\n    \"updatedBy\": \"string\",\n    \"createdAt\": \"2026-10-10T09:00:00.000Z\",\n    \"updatedAt\": \"2026-10-10T09:00:00.000Z\",\n    \"archivedAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Update a product",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"originCountry\": \"VN\",\n  \"items\": [\n    {\n      \"sku\": \"BOTTLE-750\",\n      \"unitValue\": 21.5\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Changes the fields given, its items (by id or SKU, others added) and its content list. Every change is kept in the product’s history with its actor. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"originCountry\": \"VN\",\n  \"items\": [\n    {\n      \"sku\": \"BOTTLE-750\",\n      \"unitValue\": 21.5\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Changes the fields given, its items (by id or SKU, others added) and its content list. Every change is kept in the product’s history with its actor. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"status\": \"draft\",\n    \"title\": \"string\",\n    \"description\": \"string\",\n    \"brand\": \"string\",\n    \"manufacturerName\": \"string\",\n    \"manufacturerCountry\": \"string\",\n    \"category\": \"string\",\n    \"materialSummary\": \"string\",\n    \"tags\": [\n      \"string\"\n    ],\n    \"imageUrls\": [\n      \"string\"\n    ],\n    \"productUrl\": \"string\",\n    \"slug\": \"string\",\n    \"originCountry\": \"string\",\n    \"originBasis\": \"string\",\n    \"originEvidence\": {\n      \"note\": \"string\",\n      \"documentRef\": \"string\",\n      \"probability\": 0\n    },\n    \"preferentialClaims\": [\n      {\n        \"programme\": \"string\",\n        \"basis\": \"string\",\n        \"documentRef\": \"string\",\n        \"validFrom\": \"string\",\n        \"validTo\": \"string\"\n      }\n    ],\n    \"attributes\": [\n      {\n        \"kind\": \"string\",\n        \"value\": \"string\",\n        \"note\": \"string\"\n      }\n    ],\n    \"markets\": [\n      \"string\"\n    ],\n    \"effectiveMarkets\": [\n      \"string\"\n    ],\n    \"quantityUnit\": \"string\",\n    \"supplementaryUnits\": [\n      {\n        \"unit\": \"string\",\n        \"perItem\": 0\n      }\n    ],\n    \"extra\": {},\n    \"fieldSources\": {},\n    \"items\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"status\": \"active\",\n        \"sku\": \"string\",\n        \"gtin\": \"string\",\n        \"mpn\": \"string\",\n        \"title\": \"string\",\n        \"options\": {},\n        \"unitValue\": 0,\n        \"currency\": \"string\",\n        \"weight\": 0,\n        \"weightUnit\": \"string\",\n        \"length\": 0,\n        \"width\": 0,\n        \"height\": 0,\n        \"dimensionUnit\": \"string\",\n        \"originCountry\": \"string\",\n        \"position\": 0,\n        \"fieldSources\": {}\n      }\n    ],\n    \"components\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"material\": \"steel\",\n        \"sharePercent\": 0,\n        \"weight\": 0,\n        \"weightUnit\": \"string\",\n        \"value\": 0,\n        \"currency\": \"string\",\n        \"origins\": [\n          {\n            \"kind\": \"string\",\n            \"country\": \"string\"\n          }\n        ],\n        \"notes\": \"string\"\n      }\n    ],\n    \"sources\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"kind\": \"shopify\",\n        \"kindLabel\": \"string\",\n        \"connection\": \"string\",\n        \"externalKey\": \"string\",\n        \"externalIds\": {},\n        \"itemId\": \"string\",\n        \"url\": \"string\",\n        \"syncDirection\": \"import\",\n        \"lastSyncedAt\": \"string\",\n        \"status\": \"active\",\n        \"data\": {}\n      }\n    ],\n    \"classifications\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"market\": \"DE\",\n        \"schedule\": \"EU\",\n        \"code\": \"7323930010\",\n        \"codeFormatted\": \"string\",\n        \"hs6\": \"string\",\n        \"description\": \"string\",\n        \"source\": \"manual\",\n        \"sourceKind\": \"string\",\n        \"status\": \"suggested\",\n        \"confidence\": \"string\",\n        \"probability\": 0,\n        \"reasoning\": \"string\",\n        \"mode\": \"string\",\n        \"usageId\": \"string\",\n        \"alternatives\": [\n          {\n            \"code\": \"string\",\n            \"description\": \"string\",\n            \"probability\": 0\n          }\n        ],\n        \"reviewedBy\": \"string\",\n        \"reviewedAt\": \"string\",\n        \"reviewNote\": \"string\",\n        \"validFrom\": \"string\",\n        \"validTo\": \"string\",\n        \"createdBy\": \"string\",\n        \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n      }\n    ],\n    \"createdBy\": \"string\",\n    \"updatedBy\": \"string\",\n    \"createdAt\": \"2026-10-10T09:00:00.000Z\",\n    \"updatedAt\": \"2026-10-10T09:00:00.000Z\",\n    \"archivedAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Archive a product",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id/archive",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id",
                "archive"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                }
              ]
            },
            "description": "Retires a product and its items: out of lists and SKU lookups (its SKUs become free), kept with its sources, content, codes and history. Nothing in the catalogue is ever deleted. Restore it by updating its `status`. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id/archive",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id",
                    "archive"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    }
                  ]
                },
                "description": "Retires a product and its items: out of lists and SKU lookups (its SKUs become free), kept with its sources, content, codes and history. Nothing in the catalogue is ever deleted. Restore it by updating its `status`. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"status\": \"draft\",\n    \"title\": \"string\",\n    \"description\": \"string\",\n    \"brand\": \"string\",\n    \"manufacturerName\": \"string\",\n    \"manufacturerCountry\": \"string\",\n    \"category\": \"string\",\n    \"materialSummary\": \"string\",\n    \"tags\": [\n      \"string\"\n    ],\n    \"imageUrls\": [\n      \"string\"\n    ],\n    \"productUrl\": \"string\",\n    \"slug\": \"string\",\n    \"originCountry\": \"string\",\n    \"originBasis\": \"string\",\n    \"originEvidence\": {\n      \"note\": \"string\",\n      \"documentRef\": \"string\",\n      \"probability\": 0\n    },\n    \"preferentialClaims\": [\n      {\n        \"programme\": \"string\",\n        \"basis\": \"string\",\n        \"documentRef\": \"string\",\n        \"validFrom\": \"string\",\n        \"validTo\": \"string\"\n      }\n    ],\n    \"attributes\": [\n      {\n        \"kind\": \"string\",\n        \"value\": \"string\",\n        \"note\": \"string\"\n      }\n    ],\n    \"markets\": [\n      \"string\"\n    ],\n    \"effectiveMarkets\": [\n      \"string\"\n    ],\n    \"quantityUnit\": \"string\",\n    \"supplementaryUnits\": [\n      {\n        \"unit\": \"string\",\n        \"perItem\": 0\n      }\n    ],\n    \"extra\": {},\n    \"fieldSources\": {},\n    \"items\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"status\": \"active\",\n        \"sku\": \"string\",\n        \"gtin\": \"string\",\n        \"mpn\": \"string\",\n        \"title\": \"string\",\n        \"options\": {},\n        \"unitValue\": 0,\n        \"currency\": \"string\",\n        \"weight\": 0,\n        \"weightUnit\": \"string\",\n        \"length\": 0,\n        \"width\": 0,\n        \"height\": 0,\n        \"dimensionUnit\": \"string\",\n        \"originCountry\": \"string\",\n        \"position\": 0,\n        \"fieldSources\": {}\n      }\n    ],\n    \"components\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"material\": \"steel\",\n        \"sharePercent\": 0,\n        \"weight\": 0,\n        \"weightUnit\": \"string\",\n        \"value\": 0,\n        \"currency\": \"string\",\n        \"origins\": [\n          {\n            \"kind\": \"string\",\n            \"country\": \"string\"\n          }\n        ],\n        \"notes\": \"string\"\n      }\n    ],\n    \"sources\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"kind\": \"shopify\",\n        \"kindLabel\": \"string\",\n        \"connection\": \"string\",\n        \"externalKey\": \"string\",\n        \"externalIds\": {},\n        \"itemId\": \"string\",\n        \"url\": \"string\",\n        \"syncDirection\": \"import\",\n        \"lastSyncedAt\": \"string\",\n        \"status\": \"active\",\n        \"data\": {}\n      }\n    ],\n    \"classifications\": [\n      {\n        \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n        \"market\": \"DE\",\n        \"schedule\": \"EU\",\n        \"code\": \"7323930010\",\n        \"codeFormatted\": \"string\",\n        \"hs6\": \"string\",\n        \"description\": \"string\",\n        \"source\": \"manual\",\n        \"sourceKind\": \"string\",\n        \"status\": \"suggested\",\n        \"confidence\": \"string\",\n        \"probability\": 0,\n        \"reasoning\": \"string\",\n        \"mode\": \"string\",\n        \"usageId\": \"string\",\n        \"alternatives\": [\n          {\n            \"code\": \"string\",\n            \"description\": \"string\",\n            \"probability\": 0\n          }\n        ],\n        \"reviewedBy\": \"string\",\n        \"reviewedAt\": \"string\",\n        \"reviewNote\": \"string\",\n        \"validFrom\": \"string\",\n        \"validTo\": \"string\",\n        \"createdBy\": \"string\",\n        \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n      }\n    ],\n    \"createdBy\": \"string\",\n    \"updatedBy\": \"string\",\n    \"createdAt\": \"2026-10-10T09:00:00.000Z\",\n    \"updatedAt\": \"2026-10-10T09:00:00.000Z\",\n    \"archivedAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "A product’s history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id/history",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id",
                "history"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                }
              ]
            },
            "description": "Every change to the product and its items, sources, content and codes, newest first: who, when, and the values before and after. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id/history",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id",
                    "history"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    }
                  ]
                },
                "description": "Every change to the product and its items, sources, content and codes, newest first: who, when, and the values before and after. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"string\",\n      \"table\": \"products\",\n      \"rowId\": \"string\",\n      \"op\": \"insert\",\n      \"actor\": \"string\",\n      \"changed\": [\n        \"string\"\n      ],\n      \"before\": {},\n      \"after\": {},\n      \"at\": \"2026-10-10T09:00:00.000Z\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "A product’s codes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id",
                "classifications"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                }
              ]
            },
            "description": "Every code the product has had, per market, newest first: suggested, approved, rejected and superseded. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id",
                    "classifications"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    }
                  ]
                },
                "description": "Every code the product has had, per market, newest first: suggested, approved, rejected and superseded. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n      \"market\": \"DE\",\n      \"schedule\": \"EU\",\n      \"code\": \"7323930010\",\n      \"codeFormatted\": \"string\",\n      \"hs6\": \"string\",\n      \"description\": \"string\",\n      \"source\": \"manual\",\n      \"sourceKind\": \"string\",\n      \"status\": \"suggested\",\n      \"confidence\": \"string\",\n      \"probability\": 0,\n      \"reasoning\": \"string\",\n      \"mode\": \"string\",\n      \"usageId\": \"string\",\n      \"alternatives\": [\n        {\n          \"code\": \"string\",\n          \"description\": \"string\",\n          \"probability\": 0\n        }\n      ],\n      \"reviewedBy\": \"string\",\n      \"reviewedAt\": \"string\",\n      \"reviewNote\": \"string\",\n      \"validFrom\": \"string\",\n      \"validTo\": \"string\",\n      \"createdBy\": \"string\",\n      \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Add a code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id",
                "classifications"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"market\": \"US\",\n  \"code\": \"7323.93.0080\",\n  \"approve\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "A code you hold for a market: a suggestion to review, or approved at once with `approve`. Markets in a customs union share its code (Germany and France the EU’s). Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id",
                    "classifications"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"market\": \"US\",\n  \"code\": \"7323.93.0080\",\n  \"approve\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "A code you hold for a market: a suggestion to review, or approved at once with `approve`. Markets in a customs union share its code (Germany and France the EU’s). Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"market\": \"DE\",\n    \"schedule\": \"EU\",\n    \"code\": \"7323930010\",\n    \"codeFormatted\": \"string\",\n    \"hs6\": \"string\",\n    \"description\": \"string\",\n    \"source\": \"manual\",\n    \"sourceKind\": \"string\",\n    \"status\": \"suggested\",\n    \"confidence\": \"string\",\n    \"probability\": 0,\n    \"reasoning\": \"string\",\n    \"mode\": \"string\",\n    \"usageId\": \"string\",\n    \"alternatives\": [\n      {\n        \"code\": \"string\",\n        \"description\": \"string\",\n        \"probability\": 0\n      }\n    ],\n    \"reviewedBy\": \"string\",\n    \"reviewedAt\": \"string\",\n    \"reviewNote\": \"string\",\n    \"validFrom\": \"string\",\n    \"validTo\": \"string\",\n    \"createdBy\": \"string\",\n    \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Suggest codes",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retry safe: the same key is never charged twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications/suggest",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id",
                "classifications",
                "suggest"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"markets\": [\n    \"US\",\n    \"GB\",\n    \"DE\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Classifies the product for each market from its title, description, materials, page and photo, and keeps each answer as a suggestion to review (approve it to quote with it). Each market is charged like `POST /classify` and refunded if it fails.\n\nAPI client scope: `classify`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}",
                    "description": "Makes a retry safe: the same key is never charged twice."
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications/suggest",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id",
                    "classifications",
                    "suggest"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"markets\": [\n    \"US\",\n    \"GB\",\n    \"DE\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Classifies the product for each market from its title, description, materials, page and photo, and keeps each answer as a suggestion to review (approve it to quote with it). Each market is charged like `POST /classify` and refunded if it fails.\n\nAPI client scope: `classify`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"results\": [\n      {\n        \"market\": \"string\",\n        \"ok\": false,\n        \"classification\": {\n          \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n          \"market\": \"DE\",\n          \"schedule\": \"EU\",\n          \"code\": \"7323930010\",\n          \"codeFormatted\": \"string\",\n          \"hs6\": \"string\",\n          \"description\": \"string\",\n          \"source\": \"manual\",\n          \"sourceKind\": \"string\",\n          \"status\": \"suggested\",\n          \"confidence\": \"string\",\n          \"probability\": 0,\n          \"reasoning\": \"string\",\n          \"mode\": \"string\",\n          \"usageId\": \"string\",\n          \"alternatives\": [\n            {\n              \"code\": \"string\",\n              \"description\": \"string\",\n              \"probability\": 0\n            }\n          ],\n          \"reviewedBy\": \"string\",\n          \"reviewedAt\": \"string\",\n          \"reviewNote\": \"string\",\n          \"validFrom\": \"string\",\n          \"validTo\": \"string\",\n          \"createdBy\": \"string\",\n          \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n        },\n        \"error\": {\n          \"code\": \"string\",\n          \"message\": \"string\"\n        },\n        \"credits\": 0\n      }\n    ]\n  },\n  \"credits\": {\n    \"charged\": 0,\n    \"remaining\": 0\n  }\n}"
            }
          ]
        },
        {
          "name": "Approve a code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications/:classificationId/approve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id",
                "classifications",
                ":classificationId",
                "approve"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                },
                {
                  "key": "classificationId",
                  "value": "",
                  "description": "The classification’s id."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Approves a suggestion: it becomes the code quotes use for its schedule, and the code it replaces is superseded (kept, with the dates it applied). Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications/:classificationId/approve",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id",
                    "classifications",
                    ":classificationId",
                    "approve"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    },
                    {
                      "key": "classificationId",
                      "value": "",
                      "description": "The classification’s id."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Approves a suggestion: it becomes the code quotes use for its schedule, and the code it replaces is superseded (kept, with the dates it applied). Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"market\": \"DE\",\n    \"schedule\": \"EU\",\n    \"code\": \"7323930010\",\n    \"codeFormatted\": \"string\",\n    \"hs6\": \"string\",\n    \"description\": \"string\",\n    \"source\": \"manual\",\n    \"sourceKind\": \"string\",\n    \"status\": \"suggested\",\n    \"confidence\": \"string\",\n    \"probability\": 0,\n    \"reasoning\": \"string\",\n    \"mode\": \"string\",\n    \"usageId\": \"string\",\n    \"alternatives\": [\n      {\n        \"code\": \"string\",\n        \"description\": \"string\",\n        \"probability\": 0\n      }\n    ],\n    \"reviewedBy\": \"string\",\n    \"reviewedAt\": \"string\",\n    \"reviewNote\": \"string\",\n    \"validFrom\": \"string\",\n    \"validTo\": \"string\",\n    \"createdBy\": \"string\",\n    \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Reject a code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications/:classificationId/reject",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "products",
                ":id",
                "classifications",
                ":classificationId",
                "reject"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The product’s id."
                },
                {
                  "key": "classificationId",
                  "value": "",
                  "description": "The classification’s id."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Rejects a suggestion (kept, with your note). Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/products/:id/classifications/:classificationId/reject",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "products",
                    ":id",
                    "classifications",
                    ":classificationId",
                    "reject"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The product’s id."
                    },
                    {
                      "key": "classificationId",
                      "value": "",
                      "description": "The classification’s id."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Rejects a suggestion (kept, with your note). Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"0199c3a2-7b4e-7d21-9f3a-2c5e8b1d4f60\",\n    \"market\": \"DE\",\n    \"schedule\": \"EU\",\n    \"code\": \"7323930010\",\n    \"codeFormatted\": \"string\",\n    \"hs6\": \"string\",\n    \"description\": \"string\",\n    \"source\": \"manual\",\n    \"sourceKind\": \"string\",\n    \"status\": \"suggested\",\n    \"confidence\": \"string\",\n    \"probability\": 0,\n    \"reasoning\": \"string\",\n    \"mode\": \"string\",\n    \"usageId\": \"string\",\n    \"alternatives\": [\n      {\n        \"code\": \"string\",\n        \"description\": \"string\",\n        \"probability\": 0\n      }\n    ],\n    \"reviewedBy\": \"string\",\n    \"reviewedAt\": \"string\",\n    \"reviewNote\": \"string\",\n    \"validFrom\": \"string\",\n    \"validTo\": \"string\",\n    \"createdBy\": \"string\",\n    \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Classify many products",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/classify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "classify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filter\": {\n    \"missingCodeFor\": \"US\"\n  },\n  \"markets\": [\n    \"US\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "A bulk run classifying products (by id or by a filter) for markets, its answers kept as suggestions. Follow it with `GET /bulk/status`; its items are charged like `POST /classify` as they run.\n\nAPI client scope: `classify`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/classify",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "classify"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filter\": {\n    \"missingCodeFor\": \"US\"\n  },\n  \"markets\": [\n    \"US\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "A bulk run classifying products (by id or by a filter) for markets, its answers kept as suggestions. Follow it with `GET /bulk/status`; its items are charged like `POST /classify` as they run.\n\nAPI client scope: `classify`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"string\",\n    \"kind\": \"classify\",\n    \"status\": \"queued\",\n    \"total\": 0,\n    \"done\": 0,\n    \"succeeded\": 0,\n    \"failed\": 0,\n    \"creditsCharged\": 0,\n    \"reference\": \"string\",\n    \"error\": \"string\",\n    \"createdAt\": \"string\",\n    \"completedAt\": \"string\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Your imports",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/imports",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "imports"
              ]
            },
            "description": "Your CSV imports and dry runs, newest first, with their counts and errors. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/imports",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "imports"
                  ]
                },
                "description": "Your CSV imports and dry runs, newest first, with their counts and errors. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"string\",\n      \"status\": \"dry_run\",\n      \"dryRun\": false,\n      \"sourceKind\": \"string\",\n      \"filename\": \"string\",\n      \"total\": 0,\n      \"created\": 0,\n      \"updated\": 0,\n      \"unchanged\": 0,\n      \"failed\": 0,\n      \"errors\": [\n        {\n          \"row\": 0,\n          \"field\": \"string\",\n          \"message\": \"string\"\n        }\n      ],\n      \"createdBy\": \"string\",\n      \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Import a CSV file",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/imports",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "imports"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"csv\": \"sku,title,origin_country,unit_value,currency,hs_code_us\\nBOTTLE-750,Steel water bottle,CN,20,USD,7323930080\",\n  \"filename\": \"catalogue.csv\",\n  \"dryRun\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Imports (or, by default, checks: `dryRun`) a CSV file of up to 2,000 rows: columns mapped to fields, each row checked and upserted by its `external_id` or `sku`, errors reported per row. Importing the same file again changes nothing. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/imports",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "imports"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"csv\": \"sku,title,origin_country,unit_value,currency,hs_code_us\\nBOTTLE-750,Steel water bottle,CN,20,USD,7323930080\",\n  \"filename\": \"catalogue.csv\",\n  \"dryRun\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Imports (or, by default, checks: `dryRun`) a CSV file of up to 2,000 rows: columns mapped to fields, each row checked and upserted by its `external_id` or `sku`, errors reported per row. Importing the same file again changes nothing. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"string\",\n    \"dryRun\": false,\n    \"status\": \"dry_run\",\n    \"total\": 0,\n    \"created\": 0,\n    \"updated\": 0,\n    \"unchanged\": 0,\n    \"failed\": 0,\n    \"errors\": [\n      {\n        \"row\": 0,\n        \"field\": \"string\",\n        \"message\": \"string\"\n      }\n    ],\n    \"mapping\": {},\n    \"preview\": [\n      {\n        \"row\": 0,\n        \"action\": \"create\",\n        \"sku\": \"string\",\n        \"title\": \"string\"\n      }\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "An import",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/imports/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "imports",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "The import’s id."
                }
              ]
            },
            "description": "One import’s status, counts and errors per row. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/imports/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "imports",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "The import’s id."
                    }
                  ]
                },
                "description": "One import’s status, counts and errors per row. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"id\": \"string\",\n    \"status\": \"dry_run\",\n    \"dryRun\": false,\n    \"sourceKind\": \"string\",\n    \"filename\": \"string\",\n    \"total\": 0,\n    \"created\": 0,\n    \"updated\": 0,\n    \"unchanged\": 0,\n    \"failed\": 0,\n    \"errors\": [\n      {\n        \"row\": 0,\n        \"field\": \"string\",\n        \"message\": \"string\"\n      }\n    ],\n    \"createdBy\": \"string\",\n    \"createdAt\": \"2026-10-10T09:00:00.000Z\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Export as CSV",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/exports?q=&status=&market=&missingCodeFor=&needsReview=&origin=&source=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "exports"
              ],
              "query": [
                {
                  "key": "q",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "market",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "missingCodeFor",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "needsReview",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "origin",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "source",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Your catalogue (or the products a filter finds, up to 10,000) as CSV: one row per item, every field, and the approved code per market. It imports again as it is. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/exports?q=&status=&market=&missingCodeFor=&needsReview=&origin=&source=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "exports"
                  ],
                  "query": [
                    {
                      "key": "q",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "status",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "market",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "missingCodeFor",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "needsReview",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "origin",
                      "value": "",
                      "description": "",
                      "disabled": true
                    },
                    {
                      "key": "source",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "Your catalogue (or the products a filter finds, up to 10,000) as CSV: one row per item, every field, and the approved code per market. It imports again as it is. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"csv\": \"string\",\n    \"rows\": 0,\n    \"truncated\": false\n  }\n}"
            }
          ]
        },
        {
          "name": "Sync records from a source",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/sync",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "sync"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sourceKind\": \"woocommerce\",\n  \"connection\": \"https://shop.example.com\",\n  \"records\": [\n    {\n      \"externalKey\": \"1042\",\n      \"externalIds\": {\n        \"productId\": \"1040\",\n        \"variationId\": \"1042\"\n      },\n      \"groupKey\": \"1040\",\n      \"product\": {\n        \"title\": \"Merino scarf\",\n        \"originCountry\": \"NZ\"\n      },\n      \"item\": {\n        \"sku\": \"SCARF-GREY\",\n        \"unitValue\": 49,\n        \"currency\": \"NZD\",\n        \"weight\": 120,\n        \"weightUnit\": \"g\"\n      }\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "For connectors: a page of up to 250 records from a store, marketplace, feed or ERP (a source kind from `GET /catalog/sources`), upserted by the source’s own key. Unchanged records only update their sync time. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/sync",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "sync"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"sourceKind\": \"woocommerce\",\n  \"connection\": \"https://shop.example.com\",\n  \"records\": [\n    {\n      \"externalKey\": \"1042\",\n      \"externalIds\": {\n        \"productId\": \"1040\",\n        \"variationId\": \"1042\"\n      },\n      \"groupKey\": \"1040\",\n      \"product\": {\n        \"title\": \"Merino scarf\",\n        \"originCountry\": \"NZ\"\n      },\n      \"item\": {\n        \"sku\": \"SCARF-GREY\",\n        \"unitValue\": 49,\n        \"currency\": \"NZD\",\n        \"weight\": 120,\n        \"weightUnit\": \"g\"\n      }\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "For connectors: a page of up to 250 records from a store, marketplace, feed or ERP (a source kind from `GET /catalog/sources`), upserted by the source’s own key. Unchanged records only update their sync time. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"created\": 0,\n    \"updated\": 0,\n    \"unchanged\": 0,\n    \"removed\": 0,\n    \"failed\": 0,\n    \"records\": [\n      {\n        \"externalKey\": \"string\",\n        \"productId\": \"string\",\n        \"itemId\": \"string\",\n        \"outcome\": \"created\",\n        \"error\": \"string\"\n      }\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Approved codes to write back",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/sync/codes?sourceKind=&connection=&since=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "sync",
                "codes"
              ],
              "query": [
                {
                  "key": "sourceKind",
                  "value": "",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "connection",
                  "value": "",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "since",
                  "value": "",
                  "description": "Only codes approved after this time.",
                  "disabled": true
                }
              ]
            },
            "description": "For connectors: the approved codes (and origins) of a connection’s records, approved after `since`, to write back to the source in its own fields. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/sync/codes?sourceKind=&connection=&since=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "sync",
                    "codes"
                  ],
                  "query": [
                    {
                      "key": "sourceKind",
                      "value": "",
                      "description": "",
                      "disabled": false
                    },
                    {
                      "key": "connection",
                      "value": "",
                      "description": "",
                      "disabled": false
                    },
                    {
                      "key": "since",
                      "value": "",
                      "description": "Only codes approved after this time.",
                      "disabled": true
                    }
                  ]
                },
                "description": "For connectors: the approved codes (and origins) of a connection’s records, approved after `since`, to write back to the source in its own fields. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"externalKey\": \"string\",\n      \"externalIds\": {},\n      \"groupKey\": \"string\",\n      \"productId\": \"string\",\n      \"market\": \"string\",\n      \"schedule\": \"string\",\n      \"code\": \"string\",\n      \"hs6\": \"string\",\n      \"originCountry\": \"string\",\n      \"approvedAt\": \"2026-10-10T09:00:00.000Z\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Catalogue vocabularies",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/terms?vocabulary=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "terms"
              ],
              "query": [
                {
                  "key": "vocabulary",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "The harmonised codes catalogue fields take: materials, material origins (by stage), attributes (dangerous goods, restricted), categories, origin bases and quantity units. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/terms?vocabulary=",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "terms"
                  ],
                  "query": [
                    {
                      "key": "vocabulary",
                      "value": "",
                      "description": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "The harmonised codes catalogue fields take: materials, material origins (by stage), attributes (dangerous goods, restricted), categories, origin bases and quantity units. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"vocabulary\": \"string\",\n      \"code\": \"string\",\n      \"label\": \"string\",\n      \"description\": \"string\",\n      \"meta\": {}\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Source kinds",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/sources",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "sources"
              ]
            },
            "description": "Where products can come from (the dashboard, files, the API, commerce platforms, marketplaces, feeds), each with the identifiers its records carry. Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/sources",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "sources"
                  ]
                },
                "description": "Where products can come from (the dashboard, files, the API, commerce platforms, marketplaces, feeds), each with the identifiers its records carry. Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"string\",\n      \"label\": \"string\",\n      \"kind\": \"string\",\n      \"homepage\": \"string\",\n      \"externalIdFields\": [\n        {\n          \"key\": \"string\",\n          \"label\": \"string\"\n        }\n      ],\n      \"primaryIdField\": \"string\",\n      \"connectionLabel\": \"string\",\n      \"connector\": \"string\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Default target markets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/markets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "markets"
              ]
            },
            "description": "The markets a product without its own ships to (what bulk classification and filters use). Free.\n\nAPI client scope: `catalog`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/markets",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "markets"
                  ]
                },
                "description": "The markets a product without its own ships to (what bulk classification and filters use). Free.\n\nAPI client scope: `catalog`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"markets\": [\n      \"string\"\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Set default target markets",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/catalog/markets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "catalog",
                "markets"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"markets\": [\n    \"US\",\n    \"GB\",\n    \"DE\",\n    \"CA\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Replaces the workspace’s default markets. Free.\n\nAPI client scope: `settings`."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v1/catalog/markets",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "catalog",
                    "markets"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"markets\": [\n    \"US\",\n    \"GB\",\n    \"DE\",\n    \"CA\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Replaces the workspace’s default markets. Free.\n\nAPI client scope: `settings`."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"data\": {\n    \"markets\": [\n      \"string\"\n    ]\n  }\n}"
            }
          ]
        }
      ]
    }
  ]
}