Issue a brand recall
Issue a recall for one of your own products at any granularity: whole product (omit scopes or send []), a lot set (LOT_LIST), a serial set (SERIAL_SET), a printed-date window (DATE_WINDOW), or any mix — multiple scopes OR-combine, so a unit is affected if it matches any of them. Thin over the same issue_recall service the dashboard uses: it creates a BRAND_ISSUED recall, writes the scopes, links the brand-UI lot/serial pointers, and fires the consumer notification fan-out. Requires the contribute role on the product’s organization. Returns 422 if a value-set scope exceeds the configured cap or a date window is malformed.
Authorizations
Body
Request body to issue a brand recall at any granularity.
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}$The safety issue / hazard, shown to consumers and notified subscribers.
1The action a consumer should take (return, discard, contact support).
1Optional recall title. Defaults to a product + scope summary when blank.
The recall's scope list. Omit or send an empty list for a whole-product recall. Multiple scopes OR-combine.
100Response
Created
A brand-issued recall including its scope list (C-4118).
A recall with an empty scopes list is a whole-product recall (every unit
of the GTIN is affected). Otherwise the scopes OR-combine: a unit is affected
if it matches any scope.
URL-safe 22-character shortuuid encoding of the row's UUID primary key. Stable across the row's lifetime; suitable for sharing in URLs, log lines, and external SDK clients. Accepted on input as either the shortuuid form or the canonical UUID form (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
22^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$Recall headline.
1000Lifecycle state. TERMINATED means withdrawn.
ONGOING, COMPLETED, TERMINATED, UNKNOWN Risk classification; UNKNOWN for brand recalls by default.
CLASS_I, CLASS_II, CLASS_III, UNKNOWN Server-side UTC timestamp of issuance.
The safety issue (maps to the issue-time reason).
What a consumer should do.
Link shown to consumers — the product's resolver page for brand recalls.
500Issuing brand's organization name.
500Date the recall was issued (YYYY-MM-DD).
The recall's granularity. Empty == whole product; otherwise LOT_LIST / SERIAL_SET / DATE_WINDOW predicates.