A phone camera is one kind of scanner. The other kind is a system: a retailer's catalog, a sustainability app, a warehouse scanner. They read the same address and ask for the menu rather than a page.
Three ways to ask
curl -H 'accept: application/linkset+json' https://id.yourbrand.com/01/00860001234567
https://id.yourbrand.com/01/00860001234567?linkType=linkset
https://id.yourbrand.com/01/00860001234567?linkType=gs1:recallStatus
A type you have not registered answers 404 rather than quietly falling back to the default, which is what lets a system tell “no recall” apart from “this resolver does not do recalls”.
What comes back
A linkset in the form RFC 9264 describes: one anchor, which is the address that was scanned, and under it every link you registered, keyed by its GS1 relation. Titles and languages come along, so a system can show your own words rather than inventing labels.
- Cross-origin reads are allowed, so a browser app can fetch it directly.
- It is never cached, because a brand that re-points a link expects the next read to follow.
- A description file at /.well-known/gs1resolver on the same host says what the resolver supports.
Why conformance matters here
A retailer onboarding your products does not take your word for it; their system reads the resolver and expects the standard's answers, including the right status codes for a GTIN it has never heard of. Ours answers that way, on your own domain, which is what makes a brand's codes acceptable to somebody else's software.
Ready to make your own QR code?
Free QR codes rendered as you type, no signup to try. Premium makes them dynamic for $4 a month.
Still stuck? Search the help center, or contact support and a person will answer.