API: Resolver
API: Resolver
Programmatic access — early access
The
tieback
API is available to selected workspaces during early access. Endpoints in production today are authenticated with an authenticated session. Standalone API-key access is being onboarded per workspace. Contact
tieback
to enable API credentials for your workspace.
What does the resolver API do?
The resolver provides public endpoints that map product identifiers to the correct Digital Product Passport destination. It powers the GS1 Digital Link scan path and is the entry point for every QR, NFC and RFID scan.
Who it is for
Systems that resolve a barcode or identifier to a tieback product reference without authentication.
Resolve identifier
Resolves a product identifier to a destination URL.
Authentication: none required. The resolver is a public endpoint.
Inputs
Resolution strategy
Tenant validation
The hostname is mapped to a brand through a verified custom domain or platform subdomain.
Activation state
Resolution returns the destination for the identifier. Activation state is managed by the brand, either at issue or later, and is reported in the response rather than changed by the scan.
Response
Error responses return { "ok": false, "outcome": "brand_not_found" | "not_found" }.
Cache semantics
The public layer uses the cache policy to set HTTP headers: no_store for a unit whose state has recently changed, and cache_public_3600 for stable resolutions.
Scan telemetry
Scan events are recorded asynchronously after each resolution. Telemetry never delays the consumer redirect.
Recorded data includes:
- Resolved product and unit references
- Original request path and query parameters
- Geographic information (country, with region and city where available)
- User agent metadata, including a coarse summary of browser family, operating system and device class
- Traffic classification: human, link preview unfurler, crawler or unknown
- Resolution outcome
Traffic classification. Each resolved scan is classified so that human activity, link preview unfurlers and search crawlers can be reported separately. Classification is conservative and based on the request’s user agent. Unknown traffic is reported distinctly in analytics.
Privacy. Scanning requires no consumer account and builds no personal profile. IP data is retained for a defined retention period and then masked. The parsed user agent summary holds only coarse browser, operating system and device fields. See Data and Privacy.
Legacy resolver
The original resolution endpoint remains available for backward compatibility. It resolves a product identifier to a product reference using the brand’s platform subdomain.
Inputs:
Returns: the product reference on match, or null when there is no match.
Minimal disclosure
The resolver returns only a destination URL or product reference. Product names, descriptions and pricing stay private. The resolver is deliberately a routing primitive with the narrowest possible response.
Limits and notes
- Public access. No authentication is required.
- GTIN normalisation. GTIN values are normalised to digits only before resolution.
- Brand scoped. Resolution is scoped to the brand identified by the hostname.
- Fallback IDs. These must be valid UUID strings. Invalid values return
not_found.
FAQ
Is product data exposed through the resolver?
No. Only the destination URL is returned. Product data access requires authentication through separate APIs.
What happens if a GTIN was retired?
The resolver falls back to the most recently retired match, so previously issued codes remain resolvable.
Can I resolve by SKU, EAN, or UPC?
The public resolver supports GTIN for GS1 paths today. Non-GS1 fallback paths resolve by internal ID.
How is scan telemetry handled?
Telemetry is recorded asynchronously after each scan and never delays the consumer redirect. No consumer account is required, IP data is masked after a defined retention period, and reporting stays aggregate.