This page explains how tieback resolves product identifiers using GS1 Digital Link. The resolver connects a physical identifier (such as GTIN/EAN/UPC) to a structured Digital Product Passport record. It ensures consistent routing, market-aware presentation, and controlled lifecycle visibility across product scans.
The tieback Resolver provides a permanent, public URL for every product identifier. When a barcode is scanned or a link is followed, the resolver maps the identifier to the correct product — even if the identifier has since been retired.
Supply chain participants, consumers scanning product codes, and systems integrating with GS1 Digital Link standards.
Every brand on tieback is assigned a permanent resolver subdomain:
This is the canonical domain for all public scan paths. It does not change, even if the brand’s display name is updated.
The resolver supports the GS1 Digital Link URI structure:
Optional path segments are also supported:
/10/<batch> — batch/lot number/21/<serial> — serial numberExample:
For brands that are not yet GS1-ready, tieback supports internal identifier paths:
These IDs are UUIDs. The resolver validates that the entity belongs to the brand identified by the host header.
The resolver uses a deterministic fallback strategy:
The resolved product ID is used to redirect to /p/<product-id>.
For mint units with activation_mode = first_scan, the resolver activates the unit on its first valid scan:
minted to activealready_activeThe Edge Worker sets HTTP cache headers based on the resolver response:
If a scan request arrives on a platform host (e.g. app.tieback.io, docs.tieback.io, or the root tieback.io), the resolver does not process it. These hosts serve the application, documentation, or marketing site respectively — not product resolution.
Any query parameters appended to the scan URL are preserved through the redirect. This allows downstream systems to pass tracking or context parameters.
The resolver operates in two layers:
/01/*, /mu/*, /mb/*, /ml/*), forwards them to the resolution engine, and returns the appropriate redirect to the consumer./01/...) and non-GS1 fallback paths (/mu/, /mb/, /ml/)./10/...) and serial (/21/...) segments are captured and used for mint unit/lot resolution.not_found.The resolver falls back to the most recently retired match. Old printed codes remain functional — they still resolve to the correct product.
No. The resolver returns only the internal product UUID and issues a redirect. No product names, descriptions, pricing, or other data is disclosed.
Yes. The resolver supports verified custom domains in addition to the permanent brand subdomain on tieback.io.
Scan requests arriving on platform hosts (e.g. the main application or documentation site) are not processed by the resolver. Only the brand’s assigned subdomain or verified custom domain handles resolution.
Tokens with first-scan activation remain inactive until their first valid scan, at which point they transition to active. This is idempotent and concurrency-safe.