List recalls affecting a specific batch/lot
Retrieve every open recall affecting a specific (GTIN, batch) pair, sourced from FDA, USDA FSIS, CPSC, and Health Canada. Where GET /products/{gtin}/recalls returns every open recall for the GTIN, this endpoint filters to recalls whose lot_codes field matches the supplied batch value — by exact match, by inclusion in a numeric range ("lots 20261001 through 20261015"), or by wildcard prefix ("LOT-2026-*"). Recalls that do not restrict to specific lots are always included (regulator did not narrow the scope, so every batch is considered affected). Same filter / ordering / pagination contract as the GTIN-only endpoint. Designed for consumer scans of GS1 Digital Link URIs encoding batch identity in AI 10: /01/{gtin}/10/{batch} — call this endpoint with the scanned GTIN and batch to answer ‘is this lot under recall?’ rather than ‘are any batches of this GTIN recalled?’.
Authorizations
Path Parameters
GTIN-8, GTIN-12, GTIN-13, or GTIN-14 barcode digits (no spaces, no hyphens). Shorter forms are zero-left-padded to GTIN-14 server-side. Returns 404 if no product matches the normalized GTIN; 422 if the value is not a valid GTIN.
8 - 14^\d{8,14}$Batch / lot identifier from GS1 AI 10 (e.g. BATCH-2026-042, LOT-A123). Matched case-insensitively against each recall's lot_codes field with three pattern kinds: exact, range (20261001-20261015), and wildcard suffix (LOT-2026-*). If a recall does not restrict to specific lots (empty lot_codes), every batch of the GTIN is considered affected and the recall is always returned. Maximum length 64 characters.
1 - 64Query Parameters
Optional filter on the recall lifecycle state. Only ONGOING and UNKNOWN will ever return rows from this endpoint (others are excluded upstream); the parameter is exposed for completeness and forward compatibility.
ONGOING, COMPLETED, TERMINATED, UNKNOWN Optional filter on risk class. CLASS_I = highest risk (serious adverse health consequences or death). Useful for surfacing only the most dangerous open recalls.
CLASS_I, CLASS_II, CLASS_III, UNKNOWN Optional filter on the regulator that issued the recall. One of FDA, FSIS, CPSC, or HEALTH_CANADA.
FDA, FSIS, CPSC, HEALTH_CANADA Sort key. Allowed values: recall_date, -recall_date, severity, -severity. Prefix with - for descending. Omit to use the default -recall_date, -created ordering. Returns 400 for any other value.
^-?(recall_date|severity)$Page number (1-indexed).
x >= 1Number of items per page (max 100).
1 <= x <= 100Response
OK
Items on the current page, each conforming to the endpoint's item schema. Empty when the result set is empty or page is past the end.
Pagination envelope describing position within the full result set.
{
"has_next": true,
"has_previous": false,
"page": 1,
"page_size": 25,
"total_count": 342,
"total_pages": 14
}