# Comply

> Check what each government agency needs for an item to clear with the border.bot API: a CPSC certificate with its citations, the accepted labs for each test and the label wording each rule requires, FDA's product code, program, intended use, affirmations of compliance and Prior Notice, or a disclaim, per item, kept as evidence.

Source: https://border.bot/docs/comply
Last updated: 2026-10-21

> Documentation index: https://border.bot/llms.txt. Every page is Markdown at its URL + `.md`.


Comply answers, per item, what each government agency that flags its tariff line needs for it to clear: file a certificate (with the regulations it cites, the lab testing and labelling they take, and any testing exemption) or file a disclaim (the waiver and its intended-use code). The US Consumer Product Safety Commission's eFiling, mandatory since July 2026, and the Food and Drug Administration's entry data are decided in full; every other agency that flags the line (EPA, USDA and the rest) is listed with what its data needs. The [Comply page](https://border.bot/comply) explains how it works.

## Endpoints

| Endpoint | What it does |
| --- | --- |
| [`POST /v1/comply`](https://border.bot/docs/api/check-comply) | Check up to 100 items |
| [`GET /v1/comply`](https://border.bot/docs/api/list-comply-checks) | Your past checks, kept as evidence |

## Check items

```bash
curl -X POST https://api.border.bot/v1/comply \
  -H "Authorization: Bearer $BORDERBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "destinationCountry": "US",
    "reference": "entry-2210",
    "items": [
      {
        "sku": "TOY-STACK-01",
        "title": "Wooden stacking toy for ages 3+",
        "hsCode": "9503.00.0073"
      },
      {
        "sku": "BEAR-01",
        "title": "Plush teddy bear",
        "description": "Polyester fill, for toddlers aged 1 and up"
      }
    ]
  }'
```

```javascript
const response = await fetch('https://api.border.bot/v1/comply', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.BORDERBOT_TOKEN}`,
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify({
    "destinationCountry": "US",
    "reference": "entry-2210",
    "items": [
      {
        "sku": "TOY-STACK-01",
        "title": "Wooden stacking toy for ages 3+",
        "hsCode": "9503.00.0073"
      },
      {
        "sku": "BEAR-01",
        "title": "Plush teddy bear",
        "description": "Polyester fill, for toddlers aged 1 and up"
      }
    ]
  }),
});
const data = await response.json();
```

```python
import os, uuid

import requests

response = requests.post(
    "https://api.border.bot/v1/comply",
    headers={"Authorization": f"Bearer {os.environ['BORDERBOT_TOKEN']}", "Idempotency-Key": str(uuid.uuid4())},
    json={
        "destinationCountry": "US",
        "reference": "entry-2210",
        "items": [
            {
                "sku": "TOY-STACK-01",
                "title": "Wooden stacking toy for ages 3+",
                "hsCode": "9503.00.0073",
            },
            {
                "sku": "BEAR-01",
                "title": "Plush teddy bear",
                "description": "Polyester fill, for toddlers aged 1 and up",
            },
        ],
    },
)
data = response.json()
```

```php
<?php
$ch = curl_init('https://api.border.bot/v1/comply');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('BORDERBOT_TOKEN'),
        'Content-Type: application/json',
        'Idempotency-Key: ' . bin2hex(random_bytes(16)),
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'destinationCountry' => 'US',
        'reference' => 'entry-2210',
        'items' => [
            [
                'sku' => 'TOY-STACK-01',
                'title' => 'Wooden stacking toy for ages 3+',
                'hsCode' => '9503.00.0073',
            ],
            [
                'sku' => 'BEAR-01',
                'title' => 'Plush teddy bear',
                'description' => 'Polyester fill, for toddlers aged 1 and up',
            ],
        ],
    ]),
]);
$data = json_decode(curl_exec($ch), true);
```

Each item needs text that says what it is, what it is made of and who it is for (`title`, `description`, `materials`, `category`, `brand`): a toddler's T-shirt and an adult's share a tariff line and get different answers. Add the `hsCode` (all 10 digits in the US) when you have it; without one, the item is classified for the destination first (in `classifyMode`, or the default) and returned with its `classification`. `originCountry`, where the goods are made, puts accepted testing laboratories there first. `agencies` limits the answer to the agencies you name, by full name or initials (`["CPSC"]`).

## What comes back

One answer per agency per item, in `filings`:

| `outcome` | Meaning |
| --- | --- |
| `file` | File the agency's data. CPSC: a certificate (`CPC` for a children's product, `GCC` for general use), the `citations` it certifies to, and `exemptions` that spare a test. FDA: the `program`, `productCode`, `intendedUse`, `declarations` and `priorNotice` below |
| `disclaim` | File a disclaim instead: `waiver` (CPSC Disclaim `A` or `B`, FDA Disclaim `A`) and, for CPSC, the `intendedUse` code it goes with |
| `review` | The agency's rules are loaded, but no decision could be made: the likely regulations are listed for a person |
| `flagged` | The agency flags the line, but border.bot doesn't hold its rules yet: file its data, or check whether a disclaim applies |

Each citation on a `file` answer carries what complying with it takes besides meeting it:

- `testing`: third-party testing by a laboratory the agency accepts, for this certificate. For CPSC, a children's product is tested by a CPSC-accepted lab for each rule listed in 16 CFR 1112.15, with the test methods and a `link` to CPSC's lab search. Each test names a few accepted `labs` (CPSC's lab id, name, `country`, `locality`, `website`, `accreditation`, the kind of `body` and the `scopes` CPSC accepts it for): those in your `originCountry` first, then labs accepted for more of the filing's tests, so one lab can run them all. `labCount` is how many CPSC accepts for the test in all. Firewalled labs, which test only their owner's products, are counted but never suggested. Empty when no test is listed for the rule.
- `labelling`: the rule's own marking, labelling, warning and instruction sections, each linked to the eCFR, with the `text` the rule requires word for word (several statements one a line) and its `placement`, where it goes, in the rule's own words. When the rule shows the label as a picture, `link` is that figure. Both are null when the rule sets no fixed words (a label an incorporated standard defines, or a duty to label without set wording).

A `file` answer's own `labelling` lists what every product on the certificate needs whatever rules it cites: on a CPSC Children's Product Certificate, the tracking label (CPSA section 14(a)(5)), permanent marks on the product and its packaging that identify where, when and in which batch it was made.

An FDA `file` answer says what goes on the entry's FDA line:

- `productCode`: the FDA product code (`80FMF`), its parts, the FDA product it was built from, and whether FDA's own check accepted it (`validated`). Null when border.bot doesn't hold FDA's product codes for the destination; the answer is then marked `needsReview`.
- `program`: the program and processing code (`DEV` `NED`, a non-radiation-emitting medical device; `FOO` `NSF`, natural state food), from the product code's industry and your description.
- `intendedUse`: the intended use code (`081.001`, a standard import of a finished device), with its probability. Foods may go without one: FDA makes it optional for Prior Notice entries.
- `declarations`: FDA's affirmations of compliance for that program and intended use. `mandatory` ones are always filed; a `conditional` one says whether its condition `applies` to the product (`PM#`, the premarket number, when the device needs premarket clearance), or `null` when it depends on the shipment (a vessel's name); `optional` ones are yours to add. `valueRequired` means a number or name goes with the code.
- `priorNotice`: whether Prior Notice is required before the goods arrive (food).

A line FDA flags FD1 or FD3 ("may be regulated") is disclaimed with FDA's Disclaim `A` when the product isn't FDA's; on an FD2 or FD4 line FDA's data is required, so such an answer comes back as `review`.

Every answer has the PGA `flags` behind it (the agency's own list and the customs flags), the product `category`, a `probability`, `needsReview` (below your workspace's review threshold), the reasons (`why`) and the `sources` the answer stands on. Every rule and code comes from the agency's own files (for FDA, its affirmation of compliance codes and its quick reference guide to the Supplemental Guide for ACE); whether one applies to your product is decided from your description. `dataSource` names every dataset read, at its release, FDA's product codes included.

Each decided answer also says who the product is for, `audience` (`children` or `general`, with its probability: it decides between a CPC and a GCC), and lists `alternates`: rules not cited that may still apply, with how likely each is, so you can check the near misses before you file.

```json
{
  "data": {
    "destination": "US",
    "items": [
      {
        "sku": "BEAR-01",
        "title": "Plush teddy bear",
        "hsCode": "9503000090",
        "classification": {
          "hsCode": "9503000090",
          "hsCodeFormatted": "9503.00.00.90",
          "description": "Other",
          "confidence": "high",
          "probability": 0.91,
          "mode": "pro"
        },
        "filings": [
          {
            "country": "US",
            "agency": "U.S. Consumer Product Safety Commission",
            "outcome": "file",
            "requirement": "may_be_required",
            "flags": [
              {
                "flag": "CP1",
                "requirement": "may_be_required",
                "source": "agency",
                "code": "9503000090"
              },
              {
                "flag": "CP1",
                "requirement": "may_be_required",
                "source": "border",
                "code": "9503000090"
              }
            ],
            "category": "Toys",
            "certificate": {
              "kind": "children",
              "code": "CPC"
            },
            "citations": [
              {
                "code": "1278a",
                "title": "15 USC 1278a: Total Lead Content for Children’s Products",
                "probability": 0.93,
                "testing": [
                  {
                    "code": "1112.15(b)(30)",
                    "title": "Limits on Total Lead in Children’s Products: Nonmetal Children’s Products",
                    "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”.",
                    "link": "https://www.cpsc.gov/cgi-bin/labsearch/",
                    "sourceUrl": "https://www.ecfr.gov/current/title-16/section-1112.15",
                    "regulation": "1278a",
                    "labs": [
                      {
                        "id": "1002",
                        "name": "Centre Testing International Group Co., Ltd.",
                        "country": "CN",
                        "locality": "Shenzhen, Guangdong",
                        "website": "http://www.cti-cert.com/",
                        "accreditation": "CNAS (China National Accreditation Service for Conformity Assessment) - L1910",
                        "body": {
                          "kind": "independent",
                          "label": "Independent Conformity Assessment Body"
                        },
                        "scopes": [
                          "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"
                        ]
                      },
                      {
                        "id": "1004",
                        "name": "TÜV Rheinland Hong Kong Limited",
                        "country": "CN",
                        "locality": "Hong Kong, Guangdong",
                        "website": "http://www.tuv.com/",
                        "accreditation": "A2LA (American Association for Lab Accreditation) - 5047.02",
                        "body": {
                          "kind": "independent",
                          "label": "Independent Conformity Assessment Body"
                        },
                        "scopes": [
                          "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"
                        ]
                      },
                      {
                        "id": "1005",
                        "name": "UL VS Hong Kong Limited",
                        "country": "HK",
                        "locality": "Kwai Chung, N.T.",
                        "website": "http://www.ul.com/",
                        "accreditation": "HKAS (Hong Kong Accreditation Service) - HOKLAS 036",
                        "body": {
                          "kind": "independent",
                          "label": "Independent Conformity Assessment Body"
                        },
                        "scopes": [
                          "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"
                        ]
                      }
                    ],
                    "labCount": 560
                  }
                ],
                "labelling": []
              },
              {
                "code": "4.27",
                "title": "ASTM F963: Stuffed and Beanbag-Type Toys",
                "probability": 0.9,
                "testing": [
                  {
                    "code": "1112.15(b)(32)(ii)(BB)",
                    "title": "Stuffed and Beanbag-Type Toys",
                    "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)).",
                    "link": "https://www.cpsc.gov/cgi-bin/labsearch/",
                    "sourceUrl": "https://www.ecfr.gov/current/title-16/section-1112.15",
                    "regulation": "4.27",
                    "labs": [
                      {
                        "id": "1002",
                        "name": "Centre Testing International Group Co., Ltd.",
                        "country": "CN",
                        "locality": "Shenzhen, Guangdong",
                        "website": "http://www.cti-cert.com/",
                        "accreditation": "CNAS (China National Accreditation Service for Conformity Assessment) - L1910",
                        "body": {
                          "kind": "independent",
                          "label": "Independent Conformity Assessment Body"
                        },
                        "scopes": [
                          "Stuffed and Beanbag-Type Toys - 4.27 (ASTM F963-23)"
                        ]
                      },
                      {
                        "id": "1004",
                        "name": "TÜV Rheinland Hong Kong Limited",
                        "country": "CN",
                        "locality": "Hong Kong, Guangdong",
                        "website": "http://www.tuv.com/",
                        "accreditation": "A2LA (American Association for Lab Accreditation) - 5047.02",
                        "body": {
                          "kind": "independent",
                          "label": "Independent Conformity Assessment Body"
                        },
                        "scopes": [
                          "Stuffed and Beanbag-Type Toys - 4.27 (ASTM F963-23)"
                        ]
                      },
                      {
                        "id": "1005",
                        "name": "UL VS Hong Kong Limited",
                        "country": "HK",
                        "locality": "Kwai Chung, N.T.",
                        "website": "http://www.ul.com/",
                        "accreditation": "HKAS (Hong Kong Accreditation Service) - HOKLAS 036",
                        "body": {
                          "kind": "independent",
                          "label": "Independent Conformity Assessment Body"
                        },
                        "scopes": [
                          "Stuffed and Beanbag-Type Toys - 4.27 (ASTM F963-23)"
                        ]
                      }
                    ],
                    "labCount": 292
                  }
                ],
                "labelling": []
              }
            ],
            "exemptions": [],
            "waiver": null,
            "intendedUse": null,
            "program": null,
            "productCode": null,
            "declarations": [],
            "priorNotice": null,
            "probability": 0.9,
            "audience": {
              "kind": "children",
              "probability": 0.96
            },
            "alternates": [
              {
                "code": "4.6",
                "title": "ASTM F963: Small Objects",
                "probability": 0.41
              },
              {
                "code": "1501",
                "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",
                "probability": 0.38
              }
            ],
            "labelling": [
              {
                "code": "2063(a)(5)",
                "title": "Children’s product tracking label (CPSA section 14(a)(5))",
                "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).",
                "link": null,
                "sourceUrl": "https://www.govinfo.gov/link/uscode/15/2063?link-type=html",
                "regulation": null,
                "text": null,
                "placement": "On the product and its packaging, to the extent practicable."
              }
            ],
            "needsReview": false,
            "why": [
              "U.S. Consumer Product Safety Commission flags the line: CP1 (data may be needed) on the agency’s list for 9503000090, product category “Toys”.",
              "It is the U.S. Consumer Product Safety Commission’s product (97% likely), a children’s product.",
              "2 regulations apply: 1278a, 4.27, certified on a CPC."
            ],
            "sources": [
              "https://www.cpsc.gov/eFiling-Document-Library",
              "https://www.ecfr.gov/current/title-16/section-1112.15",
              "https://www.govinfo.gov/link/uscode/15/2063?link-type=html"
            ]
          },
          {
            "country": "US",
            "agency": "U.S. Environmental Protection Agency",
            "outcome": "flagged",
            "requirement": "may_be_required",
            "flags": [
              {
                "flag": "EP7",
                "requirement": "may_be_required",
                "source": "border",
                "code": "9503000090"
              }
            ],
            "category": null,
            "certificate": null,
            "citations": [],
            "exemptions": [],
            "waiver": null,
            "intendedUse": null,
            "program": null,
            "productCode": null,
            "declarations": [],
            "priorNotice": null,
            "probability": null,
            "audience": null,
            "alternates": [],
            "needsReview": true,
            "why": [
              "U.S. Environmental Protection Agency flags the line: EP7 (data may be needed) on the border’s flags for 9503000090.",
              "border.bot holds no rules for this agency yet: file its data, or check whether a disclaim applies."
            ],
            "sources": []
          }
        ]
      },
      {
        "sku": "SYR-5ML",
        "title": "Sterile single-use hypodermic syringe, 5 ml, Luer lock",
        "hsCode": "9018310040",
        "classification": null,
        "filings": [
          {
            "country": "US",
            "agency": "Food and Drug Administration",
            "outcome": "file",
            "requirement": "required",
            "flags": [
              {
                "flag": "FD2",
                "requirement": "required",
                "source": "border",
                "code": "9018310040"
              }
            ],
            "category": null,
            "certificate": null,
            "citations": [],
            "exemptions": [],
            "waiver": null,
            "intendedUse": {
              "code": "081.001",
              "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",
              "probability": 0.92
            },
            "program": {
              "code": "NED",
              "title": "Non-Radiation Emitting Device",
              "parent": {
                "code": "DEV",
                "title": "Medical Device"
              },
              "probability": 0.96
            },
            "productCode": {
              "code": "80FMF",
              "scheme": "us-fda",
              "codeName": "FDA product code",
              "parts": [
                {
                  "level": "industry",
                  "label": "Industry",
                  "code": "80",
                  "description": "General Hospital & Personal Use"
                }
              ],
              "product": {
                "code": "FMF",
                "description": "Syringe, Piston"
              },
              "validated": true,
              "probability": 0.9
            },
            "declarations": [
              {
                "codes": [
                  "DEV"
                ],
                "title": "Device Foreign Manufacturer Registration Number",
                "status": "mandatory",
                "applies": true,
                "probability": null,
                "valueRequired": true
              },
              {
                "codes": [
                  "DFE"
                ],
                "title": "Device Foreign Exporter Registration Number",
                "status": "mandatory",
                "applies": true,
                "probability": null,
                "valueRequired": true
              },
              {
                "codes": [
                  "LST"
                ],
                "title": "Device Listing Number",
                "status": "mandatory",
                "applies": true,
                "probability": null,
                "valueRequired": true
              },
              {
                "codes": [
                  "IRC"
                ],
                "title": "Device Impact Resistance Lens Certification",
                "status": "conditional",
                "applies": false,
                "probability": 0.02,
                "valueRequired": false
              },
              {
                "codes": [
                  "LWC"
                ],
                "title": "Device Electrode Lead Wire or Patient Cable",
                "status": "conditional",
                "applies": false,
                "probability": 0.03,
                "valueRequired": false
              },
              {
                "codes": [
                  "PM#"
                ],
                "title": "Device Premarket Number",
                "status": "conditional",
                "applies": true,
                "probability": 0.94,
                "valueRequired": true
              },
              {
                "codes": [
                  "DI"
                ],
                "title": "Device Identifier (part of the Unique Device Identifier, UDI)",
                "status": "optional",
                "applies": null,
                "probability": null,
                "valueRequired": true
              },
              {
                "codes": [
                  "ERR"
                ],
                "title": "Entry Review Requested",
                "status": "optional",
                "applies": null,
                "probability": null,
                "valueRequired": false
              }
            ],
            "priorNotice": {
              "required": false,
              "probability": 0.96
            },
            "probability": 0.9,
            "needsReview": false,
            "why": [
              "Food and Drug Administration flags the line: FD2 (data required) on the border’s flags for 9018310040.",
              "FDA product code 80FMF (Syringe, Piston).",
              "Filed under Medical Device: Non-Radiation Emitting Device (DEV NED, 96% likely).",
              "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).",
              "Declarations: DEV, DFE, LST, PM#."
            ],
            "sources": [
              "https://www.cbp.gov/document/technical-documentation/ace-appendix-pga",
              "https://www.fda.gov/media/191441/download",
              "https://www.fda.gov/media/191434/download"
            ]
          }
        ]
      }
    ],
    "fileCount": 2,
    "disclaimCount": 0,
    "reviewCount": 1,
    "engine": "borderbot",
    "checkId": "01a15ac1-27f7-796d-9bf7-a3022ef8f829",
    "dataSource": {
      "version": null,
      "importedAt": null,
      "datasets": [
        {
          "dataset": "US:agency",
          "seq": 2,
          "releaseId": "01a15adc-52e0-7c4c-b7f1-d6a7bd829ff9",
          "version": null,
          "liveSince": "2026-10-20T19:55:20.000Z"
        },
        {
          "dataset": "US:restrictions",
          "seq": 4,
          "releaseId": "01a14456-ba75-793b-bfc2-a0dd0b9c0361",
          "version": null,
          "liveSince": "2026-10-16T08:40:26.156Z"
        },
        {
          "dataset": "US:regulator",
          "seq": 1,
          "releaseId": "01a16a02-1c3e-7f40-9d2b-5b8e2f61c7a4",
          "version": null,
          "liveSince": "2026-10-21T09:00:00.000Z"
        }
      ]
    }
  },
  "credits": {
    "charged": 4,
    "remaining": 94,
    "usageId": "usg_01m5dc29tdkdmpffnd43jmg1w5"
  },
  "replayed": false
}
```

## Costs and limits

A check costs the Comply price per item (`GET /v1/pricing`), plus a classification in its mode for each item sent without a code; each is refunded if it fails. The FDA product code an answer carries is part of the check, not charged on its own. Up to 10 checks a minute per workspace, 100 items each. A destination without agency rules returns `422 unsupported_country` without charging. See [credits and retries](https://border.bot/docs/credits).

## Also from

- **MCP:** `check_agency_filings` (see [MCP](https://border.bot/docs/mcp)).
- **Classify:** every code carries `filings`, the agencies that flag it, so you know when to run Comply.
- **Free tool:** the [CPSC eFiling checker](https://border.bot/tools/cpsc-efiling-checker), with CPSC's whole HTS list; it names the other agencies that flag the line, with FDA's program and Prior Notice.
