GS1 · Schema

Gs1 Resolver Description File

The JSON schema for a conformant GS1 resolver description file to be placed at /.well-known/gs1resolver

LogisticsSupply ChainBelgiumStandardsTrack and TraceTraceabilityIdentifiersBarcodesFreight ForwardingRetail

Properties

Name Type Description
resolverRoot string The root URL of the resolver
supportedPrimaryKeys array An array of primary keys supported by the resolver, provided as their numeric AI. The value 'all' indicates that all GS1 primary identification keys are supported
name string The name of the resolver
supportedLinkType array
linkTypeDefaultCanBeLinkset boolean Boolean flag stating whether the resolver supports the option to make 'linkset' the default linkType.
supportedContextValuesEnumerated array Enumerated list of values for context supported by this resolver
supportedContextValuesExternal array External lists of supported values for context recognised by this resolver
contact object Contact details for the resolver operator, uses VCard
extensionProfile string A link to a document that describes any extended key=value pairs supported by the resolver and/or an additional supported compression/decompression capability
jsonLdContextLocation string The location of the JSON-LD context file referenced when serving linksets as JSON
View JSON Schema on GitHub

JSON Schema

gs1-resolver-description-file-schema.json Raw ↑
{
	"$schema": "http://json-schema.org/draft-07/schema#",
	"$id": "https://ref.gs1.org/standards/resolver/1.2.0/description-file-schema",
	"description": "The JSON schema for a conformant GS1 resolver description file to be placed at /.well-known/gs1resolver",
	"type": "object",
	"properties": {
		"resolverRoot": {
			"description": "The root URL of the resolver",
			"type": "string",
			"format": "uri"
		},
		"supportedPrimaryKeys": {
			"description": "An array of primary keys supported by the resolver, provided as their numeric AI. The value 'all' indicates that all GS1 primary identification keys are supported",
			"type": "array",
			"items": {
				"type": "string",
				"enum": ["all", "01", "8006", "8013", "8010", "410", "411", "412", "413", "414", "415", "417", "8017", "8018", "255", "00", "253", "401", "402", "8003", "8004"]
			}
		},
		"name": {
			"description": "The name of the resolver",
			"type": "string"
		},
		"supportedLinkType": {
			"type": "array",
			"items": {
				"properties": {
					"namespace": {
						"description": "A namespace URI recognised by the resolver",
						"type": "string",
						"format": "uri"
					},
					"prefix": {
						"description": "The prefix assigned to this URI for use in CURIEs, including the colon",
						"type": "string",
						"pattern": "^[a-zA-Z_][A-Za-z0-9_-]*?:$"
					}
				}
			}
		},
		"linkTypeDefaultCanBeLinkset": {
			"description": "Boolean flag stating whether the resolver supports the option to make 'linkset' the default linkType.",
			"type": "boolean",
			"default": false
		},
		"supportedContextValuesEnumerated": {
			"description": "Enumerated list of values for context supported by this resolver",
			"type": "array",
			"items": {
				"type": "string"
			}
		},
		"supportedContextValuesExternal": {
			"description": "External lists of supported values for context recognised by this resolver",
			"type": "array",
			"items": {
				"type": "object",
				"properties": {
					"nameOfList": {
						"description": "The name of the list of values",
						"type": "string"
					},
					"url": {
						"description": "The URL of the external list",
						"type": "string",
						"format": "uri"
					}
				}
			}
		},
		"contact": {
			"description": "Contact details for the resolver operator, uses VCard",
			"type": "object",
			"properties": {
				"fn": {
					"description": "Full name",
					"type": "string"
				},
				"hasAddress": {
					"description": "Address info for the resolver operator",
					"type": "object",
					"properties": {
						"streetAddress": {
							"description": "Street address of hte operator",
							"type": "string"
						},
						"locality": {
							"description": "locality of the operator",
							"type": "string"
						},
						"region": {
							"description": "region of the operator",
							"type": "string"
						},
						"postal-code": {
							"decription": "post code of the operator",
							"type": "string"
						}
					}
				}
			},
			"hasTelephone": {
				"description": "A contact telephone number",
				"type": "string",
				"format": "uri"
			}
		},
		"extensionProfile": {
			"description": "A link to a document that describes any extended key=value pairs supported by the resolver and/or an additional supported compression/decompression capability",
			"type": "string",
			"format": "uri"
		},

		"jsonLdContextLocation": {
			"description": "The location of the JSON-LD context file referenced when serving linksets as JSON",
			"type": "string",
			"format": "uri"
		}


	},
	"required": ["resolverRoot", "supportedPrimaryKeys"]
}