Raw schema
{
"type": "object",
"properties": {
"project_name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "The app's name. It becomes the project name in the user's appdesigns library."
},
"store": {
"default": "app_store",
"description": "Which store the set is for.",
"type": "string",
"enum": [
"app_store",
"play"
]
},
"device": {
"description": "A device id from list_devices. Defaults to iphone-17-pro-max for the App Store and pixel-11-pro for Google Play.",
"type": "string",
"maxLength": 40
},
"frame_color": {
"description": "A colour id of that device from list_devices. Leave it out to pick one that stands out from the background.",
"type": "string",
"maxLength": 40
},
"background_color": {
"description": "#RRGGBB. Use the app's brand or accent colour if you can find it in the code. Leave it out for a neutral light background.",
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"canvas_size": {
"description": "A canvas size from list_devices, as WIDTHxHEIGHT. Leave it out for the store default (1320x2868 for iPhone, 2048x2732 for iPad, 1080x1920 for Play).",
"type": "string",
"maxLength": 12
},
"screens": {
"minItems": 1,
"maxItems": 6,
"type": "array",
"items": {
"type": "object",
"properties": {
"screen_name": {
"type": "string",
"minLength": 1,
"maxLength": 24,
"description": "The screen or feature name, shown as the small line: 1 to 3 words, at most 24 characters. Example: \"Weekly stats\"."
},
"headline": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "The big line: the benefit this screen shows, 2 to 6 words, 32 characters or fewer (40 at most; longer is set smaller). Sentence case, no trailing period. Example: \"See where every dollar goes\"."
},
"file_path": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Absolute path to the PNG or JPEG screenshot (no ~ or $VARIABLES; they are not expanded). Not read by the server; it goes into the upload command."
}
},
"required": [
"screen_name",
"headline",
"file_path"
]
},
"description": "One entry per screenshot, in the order the store should show them. The first sells the app."
}
},
"required": [
"project_name",
"screens"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}