# Operationsa-Schema* is an extension of JSON Schema Draft 2019-09 (opens new window) that describes the properties and requirements for an Amazon Product Type, such as LUGGAGE
.
Schema URI: https://schemas.amazon.com/selling-partners/definitions/product-types/meta-schema/v1
Vocabulary URI: https://schemas.amazon.com/selling-partners/definitions/product-types/vocabulary/v1
Instances of the Amazon Product Type Definition Meta-Schema can utilize any of the keywords and vocabularies supported by JSON Schema Draft 2019-09 (opens new window). See https://json-schema.org/specification.html (opens new window) for more details.
In addition to standard JSON Schema Draft 2019-09 (opens new window) vocabularies, instances of the Amazon Product Type Definition Meta-Schema utilize keywords defined as custom vocabulary in the meta-schema. This documentation outlines the custom vocabulary for the https://schemas.amazon.com/selling-partners/definitions/product-types/vocabulary/v1
URI.
Consumers of Amazon Product Type Definition Meta-Schema instances may choose to ignore custom vocabulary and use only the standard JSON Schema Draft 2019-09 (opens new window) vocabularies. Doing so will validate most requirements of an Amazon Product Type, but may result is some validation errors upon submission.
# Vocabulary
# editable
- Type:
boolean
- Purpose: Informational
- Description: The
editable
keyword indicates whether or not a property value can be changed for an existing item. Properties that are non-editable may still be required for a valid submission but cannot change from their original value.
# enumNames
- Type:
array
- Purpose: Informational
- Description: The
enumNames
keyword contains an array of display labels for a corresponding array ofenum
values. The display labels in theenumNames
array are in the same order as the values in theenum
array.
# hidden
- Type:
boolean
- Purpose: Informational
- Description: The
hidden
keyword suggests whether or not a property should be hidden in Amazon user interfaces. Hiding or displaying these properties is at the discretion of the application consuming the Amazon Product Type Definition Meta-Schema.
# maxUniqueItems
- Type:
integer
- Purpose: Validation
- Description: In conjunction with the
selectors
keyword, themaxUniqueItems
keyword value defines the maximum number of unique items in an array.
# minUniqueItems
- Type:
integer
- Purpose: Validation
- Description: In conjunction with the
selectors
keyword, theminUniqueItems
keyword value defines the minimum number of unique items in an array.
# maxUtf8ByteLength
- Type:
integer
- Purpose: Validation
- Description: The
maxUtf8ByteLength
keyword value defines the maximum length of astring
value measured in UTF-8 bytes.
# minUtf8ByteLength
- Type:
integer
- Purpose: Validation
- Description: The
minUtf8ByteLength
keyword value defines the minimum length of astring
value measured in UTF-8 bytes.
# selectors
- Type:
array
- Purpose: Validation
- Description: The
selectors
keyword contains an array of property names that define the combination of properties that make an object unique. By default, JSON Schema determines uniqueness of objects in an array based an all properties of the object. Whenselectors
are defined, only the specified properties are used to determine uniqueness.
# Example Validator Implementations
JSON Schema (opens new window) is a vocabulary that allows you to annotate and validate JSON documents. The authors of JSON Schema do not vend specific tooling for validating documents with JSON Schema, rather JSON Schema defines how tooling should validate documents with JSON Schema.
There are multiple paid and open-source applications and libraries that support JSON Schema, see https://json-schema.org/implementations.html (opens new window) for a list of known implementation.
The following reference validator implementations provide examples of how to validate custom vocabulary for instances of Amazon Product Type Definition Meta-Schema using language-specific open-source libraries. There is no requirement to use these specific libraries or the example implementations. Amazon does not provide technical support for third-party JSON Schema libraries and these are provided as examples only.
# .NET
For C# .NET applications, the Newtonsoft Json.NET Schema (opens new window) library supports JSON Schema Draft 2019-09 and custom vocabularies. The following example demonstrates how to utilize the Newtonsoft Json.NET Schema (opens new window) library to validate payloads with instances of the Amazon Product Type Definition Meta-Schema.
Example Validator Implementation for .NET (opens new window)
# Java
For Java applications, the networknt/json-schema-validator (opens new window) library supports JSON Schema Draft 2019-09 and custom vocabularies. The following example demonstrates how to utilize the networknt/json-schema-validator (opens new window) library to validate payloads with instances of the Amazon Product Type Definition Meta-Schema.
Example Validator Implementation for Java (opens new window)
# JavaScript
For JavaScript applications (including Node.js), the hyperjump-io/json-schema-validator (opens new window) library supports JSON Schema Draft 2019-09 and custom vocabularies. The following example demonstrates how to utilize the hyperjump-io/json-schema-validator (opens new window) library to validate payloads with instances of the Amazon Product Type Definition Meta-Schema.
Example Validator Implementation for JavaScript (opens new window)