Gallery
Mustuse Maker Manifest
Share
Explore
README

JSON Schema

Below is the JSON Schema file for validating maker.json. This schema follows the Draft 7 specification of JSON Schema.

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Maker File Schema",
"type": "object",
"required": ["name", "description", "id", "url", "resources"],
"properties": {
"integrityCheck": {
"type": "string",
"pattern": "^sha256:[a-fA-F0-9]{64}$",
"description": "SHA-256 hash of the maker.json contents for integrity verification."
},
"name": {
"type": "string",
"description": "The name of the maker."
},
"description": {
"type": "string",
"description": "A brief description of the maker."
},
"id": {
"type": "string",
"description": "The host name identifier for the maker."
},
"url": {
"type": "string",
"format": "uri",
"description": "The full URI of the root domain for the maker."
},
"resources": {
"type": "array",
"description": "A list of resources available from the maker.",
"items": {
"type": "object",
"required": ["name", "description", "version", "attributes", "policies", "variants"],
"properties": {
"name": {
"type": "string",
"description": "The name of the resource."
},
"description": {
"type": "string",
"description": "A brief description of the resource."
},
"version": {
"type": "string",
"description": "The version of the resource."
},
"attributes": {
"type": "object",
"description": "Attributes associated with the resource.",
"additionalProperties": true
},
"policies": {
"type": "array",
"description": "An array of policy extensions applied to this resource.",
"items": {
"type": "object",
"required": ["policyName", "extensionFile"],
"properties": {
"policyName": {
"type": "string",
"description": "The name of the policy extension."
},
"extensionFile": {
"type": "string",
"format": "uri",
"description": "A URL or local path to the JSON schema file defining the policy details."
}
}
}
},
"variants": {
"type": "array",
"description": "A list of variant resources associated with the resource.",
"items": {
"type": "object",
"required": ["reference"],
"properties": {
"reference": {
"type": "string",
"format": "uri",
"description": "The full URL that resolves to this variant resource."
},
"supersedingValues": {
"type": "object",
"description": "Properties that supersede default values in the resource.",
"additionalProperties": true
}
}
}
}
}
}
},
"platformExtensions": {
"type": "array",
"description": "A list of platform extensions defining additional resources for each platform.",
"items": {
"type": "object",
"required": ["platform", "extensionFile"],
"properties": {
"platform": {
"type": "string",
"description": "The name of the platform (e.g., Shopify, WordPress)."
},
"extensionFile": {
"type": "string",
"format": "uri",
"description": "A URL or local path to the JSON schema file defining the platform's products and channels."
}
}
}
},
"channelExtensions": {
"type": "array",
"description": "A list of channel extensions defining where resources can be listed and accessed.",
"items": {
"type": "object",
"required": ["channelName", "extensionFile"],
"properties": {
"channelName": {
"type": "string",
"description": "The name of the channel (e.g., Shopify App Store, Public CDN, Private Directory)."
},
"extensionFile": {
"type": "string",
"format": "uri",
"description": "A URL or local path to the JSON schema file defining this channel's properties."
}
}
}
},
"policyExtensions": {
"type": "array",
"description": "A list of policy extensions that can be applied at various levels.",
"items": {
"type": "object",
"required": ["policyName", "extensionFile"],
"properties": {
"policyName": {
"type": "string",
"description": "The name of the policy extension."
},
"extensionFile": {
"type": "string",
"format": "uri",
"description": "A URL or local path to the JSON schema file defining the policy details."
}
}
}
},
"metadataExtensions": {
"type": "array",
"description": "Metadata extensions for additional information.",
"items": {
"type": "object",
"properties": {
"metadataName": {
"type": "string",
"description": "The name of the metadata extension."
},
"extensionFile": {
"type": "string",
"format": "uri",
"description": "URL or path to the metadata extension file."
}
},
"required": ["metadataName", "extensionFile"]
}
},
"audienceExtensions": {
"type": "array",
"description": "Audience control extensions.",
"items": {
"type": "object",
"properties": {
"audienceName": {
"type": "string",
"description": "The name of the audience extension."
},
"extensionFile": {
"type": "string",
"format": "uri",
"description": "URL or path to the audience extension file."
}
},
"required": ["audienceName", "extensionFile"]
}
},
"eventExtensions": {
"type": "array",
"description": "Event and webhook extensions.",
"items": {
"type": "object",
"properties": {
"eventName": {
"type": "string",
"description": "The name of the event extension."
Load content from www.robotstxt.org?
Loading external content may reveal information to 3rd parties. Learn more
Allow
Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.