products/<gtin>/resolver-behavior/) and the organization’s
Resolver products list (resolver/products/), where each product’s
resolver enrollment is switched on or off.
When to use
- A brand owner wants expired scans of a product (a past use-by or best-before date in the scanned link) handled differently: a notice, or a redirect.
- A brand owner wants unknown serials of a product to show an unverified-unit page instead of falling back to the product page.
- A brand owner wants to declare the product’s shelf life, put it behind an 18+ age gate, or turn enhanced resolution on or off.
- A brand owner wants to enroll a product in the resolver, or take it out.
manage-resolution-rules),
not here.
Auth
X-API-Key header or OAuth token. Reading needs view access to the
organization. Writing needs an OWNER, MANAGER or EDITOR of the organization (or
an API key with the EDITOR role or above); anyone else gets 403.
Flow
{gtin} is the product’s GTIN (8 to 14 digits; it is normalized to GTIN-14).
A product that does not belong to one of the organization’s brands is 404.
GET— the product’s enrollment (resolver_enabled,resolver_enabled_at) and every behavior control below.PATCH— send only the fields to change; a field left out keeps its value. The whole update applies or none of it does: one refused value is a422and nothing is stored.PUT resolver-enabled— body{"enabled": true}or{"enabled": false}. It sets the state rather than toggling it, so repeating a request changes nothing. Free on every plan.
Behavior controls
Enrollment
resolver_enabled is the product’s resolver enrollment: its billable unit.
While it is off, the product’s lots and serials are not billable either
(their own flags are kept) and enhanced resolution cannot be turned on. It does
not stop scans from resolving: a product that is not enrolled still resolves.
Verify
GETthe product’s resolver behavior and confirm every field you changed holds the value you sent, and that nothing you did not mean to change moved.- For an expiry or serial-policy change, resolve a scan that exercises it
(MCP tool
resolve_gtin, orGET /01/<gtin>/10/<lot>?17=<past date>orGET /01/<gtin>/21/<serial>without following redirects) and read theLocationheader of the redirect.
Notes
- Resolution rules are
manage-resolution-rules.