← Resolver conformance tester
Resolver conformance tests
The tests GS1's resolver conformance suite can report, with the criterion each one quotes from the GS1-Conformant Resolver standard. Read from the suite's source at commit 32597c1 of 2026-08-07. The type of every finding in a report is this page, anchored at the test's id. The per-link-type tests the suite reports as loFor<linkType> are listed once under loFor.
- Not listed as a conformance criterion but the DL URI must be a valid URL
https://ref.openepcis.org/conformance/resolver/tests#isURL
- Given input must be a GS1 Digital Link URI
https://ref.openepcis.org/conformance/resolver/tests#validDL
- SHALL support HTTP Over TLS (HTTPS)
https://ref.openepcis.org/conformance/resolver/tests#isHttps
- Following GS1 Digital Link: URI syntax, we can check whether a URL plausibly is, or definitely is not, a DL URI
https://ref.openepcis.org/conformance/resolver/tests#plausibleDL
- SHALL support HTTP Over TLS (HTTPS)
https://ref.openepcis.org/conformance/resolver/tests#tlsOK
- SHALL provide a resolver description file at /.well-known/gs1resolver
https://ref.openepcis.org/conformance/resolver/tests#rdFile
- SHALL support HTTP 1.1 (or higher)
https://ref.openepcis.org/conformance/resolver/tests#httpVersion
https://ref.openepcis.org/conformance/resolver/tests#corsCheck
- SHALL support HTTP 1.1 (or higher) GET, HEAD and OPTIONS requests.
https://ref.openepcis.org/conformance/resolver/tests#methodsCheck
- SHALL extract and syntactically validate the URI and report errors with an HTTP response code of 400
https://ref.openepcis.org/conformance/resolver/tests#reportWith400
- A GS1 conformant resolver SHALL NOT use a 200 OK response code with a resource that indicates an error condition
https://ref.openepcis.org/conformance/resolver/tests#noErrorWith200
- SHOULD tolerate trailing slashes at the end of GS1 Digital Link URIs, i.e. the resolver SHOULD NOT fail if one is present
https://ref.openepcis.org/conformance/resolver/tests#trailingSlash
- For each supported primary key, a resolver SHALL support all its key qualifiers.
https://ref.openepcis.org/conformance/resolver/tests#basicWalkUp
- On receiving a request for the linkset, by setting the linkType parameter to linkset, the resolver SHALL NOT redirect the query and SHALL return the linkset.
https://ref.openepcis.org/conformance/resolver/tests#ltLinksetNoRedirect
- On receiving a request for the linkset, by setting the linkType paramter to all, the resolver SHALL NOT redirect the query and SHALL return the linkset.
https://ref.openepcis.org/conformance/resolver/tests#ltAllNoRedirect
- Linkset must be valid according to published JSON schema
https://ref.openepcis.org/conformance/resolver/tests#validLinkset
- When requesting the linkset the HTTP response headers SHOULD include a Link header pointing to a JSON-LD context file
https://ref.openepcis.org/conformance/resolver/tests#linksetJsonldCheck
- If the HTTP Accept header is application/linkset+json, the resolver SHALL return the linkset serialised as JSON as defined by RFC9264
https://ref.openepcis.org/conformance/resolver/tests#declaredContentType
- Linkset must be valid according to published JSON schema
https://ref.openepcis.org/conformance/resolver/tests#hackedLinkset
- SHOULD expose the direct link to the linkset in an HTTP Link header when redirecting.
https://ref.openepcis.org/conformance/resolver/tests#linkOnRedirect
- By default, SHALL pass on all key=value pairs in the query string of the request URI (if present) when redirecting
https://ref.openepcis.org/conformance/resolver/tests#qsPassedOn
- For each identified entity there SHALL be exactly one default link, the list of link types for which SHALL include gs1:defaultLink. This default is defined without any of the optional attributes, that is, it SHALL include a title, but SHALL NOT include other attributes.
https://ref.openepcis.org/conformance/resolver/tests#defaultLinkExists
- For each identified entity there SHALL be exactly one default link, the list of link types for which SHALL include gs1:defaultLink. This default is defined without any of the optional attributes, that is, it SHALL include a title, but SHALL NOT include other attributes.
https://ref.openepcis.org/conformance/resolver/tests#singleDefaulLink
- Link types SHOULD be given as a URI defined in the GS1 Web vocabulary
https://ref.openepcis.org/conformance/resolver/tests#linkTypesDefined
- If the requested type of link is available, the resolver SHALL redirect to it
- Where it is impossible to determine which of multiple links of the same link type is the best match, the resolver should return the list of the available links of that type with an HTTP response code of 300 Multiple Choices.
https://ref.openepcis.org/conformance/resolver/tests#loFor
- If the requested type of link is not available, the resolver SHALL return a 404 Not Found message.
https://ref.openepcis.org/conformance/resolver/tests#specificLinkTypeNotFound