Tonebook Palette
Choose a palette, compare digital colors and create portable outfit, event or packing boards.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"palette": {
"url": "https://tonebook-muse-mcp-staging.vercel.app/api/openai-mcp-v1"
}
}
}Remote endpoints
https://tonebook-muse-mcp-staging.vercel.app/api/openai-mcp-v1streamable-httpWhat it can do
Tool inventory
Tools (6)
🟢get_quiz_questions
Return Tonebook’s eight categorical self-assessment questions. Ask for the user’s own choices; do not infer choices from a photo or conversation history. No account, photo or payment is needed.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"const": "tonebook.connector.v1"
},
"kind": {
"type": "string",
"const": "get_quiz_questions"
},
"result": {
"type": "object",
"properties": {
"questions": {
"minItems": 8,
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"prompt": {
"type": "string"
},
"choices": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"key",
"number",
"prompt",
"choices"
],
"additionalProperties": false
}
},
"seasons": {
"minItems": 12,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
}
},
"caveat": {
"type": "string"
},
"quiz_version": {
"type": "string",
"const": "tonebook.quiz.2026-09-23"
}
},
"required": [
"questions",
"seasons",
"caveat",
"quiz_version"
],
"additionalProperties": false
}
},
"required": [
"schema_version",
"kind",
"result"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢score_color_quiz(undertone, skin_depth, natural_hair, eye_color, contrast, ...)
Use eight explicit user-selected answers to suggest a 12-color starting palette and adjacent option. Uncertain or conflicting preferences prompt clarification. The versioned result is unconfirmed guidance, not a diagnosis. It never overwrites a confirmed palette.
Input Schema
{
"type": "object",
"properties": {
"undertone": {
"type": "string",
"enum": [
"cool",
"warm",
"neutral",
"unsure"
],
"description": "Which colors do you prefer near your face?"
},
"skin_depth": {
"type": "string",
"enum": [
"fair",
"medium",
"deep"
],
"description": "How would you describe your skin depth?"
},
"natural_hair": {
"type": "string",
"enum": [
"warm_light",
"cool_light",
"warm_dark",
"cool_dark"
],
"description": "What is your natural hair color?"
},
"eye_color": {
"type": "string",
"enum": [
"bright",
"warm",
"soft",
"deep"
],
"description": "What is your eye color?"
},
"contrast": {
"type": "string",
"enum": [
"high",
"medium",
"low"
],
"description": "What is your overall feature contrast?"
},
"metal_preference": {
"type": "string",
"enum": [
"silver",
"gold",
"both",
"rose"
],
"description": "Which metal look do you prefer near your face?"
},
"white_preference": {
"type": "string",
"enum": [
"cool_white",
"unsure",
"cream"
],
"description": "Which white do you prefer wearing?"
},
"complimented_colors": {
"type": "string",
"enum": [
"bright",
"muted",
"warm_rich",
"cool_soft",
"deep",
"light"
],
"description": "Which colors have drawn compliments on you?"
}
},
"required": [
"undertone",
"skin_depth",
"natural_hair",
"eye_color",
"contrast",
"metal_preference",
"white_preference",
"complimented_colors"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"const": "tonebook.connector.v1"
},
"kind": {
"type": "string",
"const": "score_color_quiz"
},
"result": {
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"suggestion",
"clarification_needed"
]
},
"palette": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "tonebook.palette.v1"
},
"season_id": {
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
"source": {
"type": "string",
"enum": [
"quiz_suggestion",
"user_selection"
]
},
"confirmed": {
"type": "boolean"
},
"quiz_version": {
"anyOf": [
{
"type": "string",
"const": "tonebook.quiz.2026-09-23"
},
{
"type": "null"
}
]
},
"suggested_season_id": {
"anyOf": [
{
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
{
"type": "null"
}
]
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"palette_ref": {
"type": "string",
"minLength": 16,
"maxLength": 1400
},
"season": {
"type": "string"
},
"colors": {
"minItems": 12,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"hex": {
"type": "string",
"pattern": "^#[0-9A-F]{6}$"
}
},
"required": [
"label",
"hex"
],
"additionalProperties": false
}
},
"guidance": {
"type": "string",
"maxLength": 600
},
"caveat": {
"type": "string",
"maxLength": 600
},
"storage": {
"type": "string",
"maxLength": 600
}
},
"required": [
"version",
"season_id",
"source",
"confirmed",
"quiz_version",
"suggested_season_id",
"revision",
"palette_ref",
"season",
"colors",
"guidance",
"caveat",
"storage"
],
"additionalProperties": false
},
"adjacent_season_id": {
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
"adjacent_season": {
"type": "string"
},
"clarification": {
"type": [
"string",
"null"
]
},
"starter_swatches": {
"minItems": 4,
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"hex": {
"type": "string"
}
},
"required": [
"name",
"hex"
],
"additionalProperties": false
}
},
"confidence": {
"type": "string"
}
},
"required": [
"state",
"palette",
"adjacent_season_id",
"adjacent_season",
"clarification",
"starter_swatches",
"confidence"
],
"additionalProperties": false
}
},
"required": [
"schema_version",
"kind",
"result"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢select_palette(season_id, confirmed, previous_palette_ref)
Return a portable user-confirmed palette from an explicit season choice. For correction, pass the prior palette reference so source and revision are retained. Confirm only the user’s stated choice. Keep the new reference for later calls; this does not write account or native report data.
Input Schema
{
"type": "object",
"properties": {
"season_id": {
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
"confirmed": {
"type": "boolean",
"const": true
},
"previous_palette_ref": {
"type": "string",
"minLength": 16,
"maxLength": 1400
}
},
"required": [
"season_id",
"confirmed"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"const": "tonebook.connector.v1"
},
"kind": {
"type": "string",
"const": "select_palette"
},
"result": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "tonebook.palette.v1"
},
"season_id": {
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
"source": {
"type": "string",
"enum": [
"quiz_suggestion",
"user_selection"
]
},
"confirmed": {
"type": "boolean"
},
"quiz_version": {
"anyOf": [
{
"type": "string",
"const": "tonebook.quiz.2026-09-23"
},
{
"type": "null"
}
]
},
"suggested_season_id": {
"anyOf": [
{
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
{
"type": "null"
}
]
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"palette_ref": {
"type": "string",
"minLength": 16,
"maxLength": 1400
},
"season": {
"type": "string"
},
"colors": {
"minItems": 12,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"hex": {
"type": "string",
"pattern": "^#[0-9A-F]{6}$"
}
},
"required": [
"label",
"hex"
],
"additionalProperties": false
}
},
"guidance": {
"type": "string",
"maxLength": 600
},
"caveat": {
"type": "string",
"maxLength": 600
},
"storage": {
"type": "string",
"maxLength": 600
}
},
"required": [
"version",
"season_id",
"source",
"confirmed",
"quiz_version",
"suggested_season_id",
"revision",
"palette_ref",
"season",
"colors",
"guidance",
"caveat",
"storage"
],
"additionalProperties": false
}
},
"required": [
"schema_version",
"kind",
"result"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢compare_colors(palette_ref, colors)
Compare up to 12 supplied six-digit hex colors or standard color names with a portable selected palette. Unknown or ambiguous names request hex values. Return the nearest digital swatch with a fixed RGB rule and concise rationale. This does not assess skin, photos, fabrics or garments you own.
Input Schema
{
"type": "object",
"properties": {
"palette_ref": {
"type": "string",
"minLength": 16,
"maxLength": 1400
},
"colors": {
"minItems": 1,
"maxItems": 12,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"hex": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
}
},
"required": [
"hex"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 48,
"pattern": "^[A-Za-z ]+$"
}
},
"required": [
"name"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"palette_ref",
"colors"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"const": "tonebook.connector.v1"
},
"kind": {
"type": "string",
"const": "compare_colors"
},
"result": {
"anyOf": [
{
"type": "object",
"properties": {
"state": {
"type": "string",
"const": "clarification_needed"
},
"color_positions": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 12
}
},
"clarification": {
"type": "string",
"maxLength": 600
}
},
"required": [
"state",
"color_positions",
"clarification"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"state": {
"type": "string",
"const": "compared"
},
"palette": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "tonebook.palette.v1"
},
"season_id": {
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
"source": {
"type": "string",
"enum": [
"quiz_suggestion",
"user_selection"
]
},
"confirmed": {
"type": "boolean"
},
"quiz_version": {
"anyOf": [
{
"type": "string",
"const": "tonebook.quiz.2026-09-23"
},
{
"type": "null"
}
]
},
"suggested_season_id": {
"anyOf": [
{
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
{
"type": "null"
}
]
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"palette_ref": {
"type": "string",
"minLength": 16,
"maxLength": 1400
},
"season": {
"type": "string"
},
"colors": {
"minItems": 12,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"hex": {
"type": "string",
"pattern": "^#[0-9A-F]{6}$"
}
},
"required": [
"label",
"hex"
],
"additionalProperties": false
}
},
"guidance": {
"type": "string",
"maxLength": 600
},
"caveat": {
"type": "string",
"maxLength": 600
},
"storage": {
"type": "string",
"maxLength": 600
}
},
"required": [
"version",
"season_id",
"source",
"confirmed",
"quiz_version",
"suggested_season_id",
"revision",
"palette_ref",
"season",
"colors",
"guidance",
"caveat",
"storage"
],
"additionalProperties": false
},
"method": {
"type": "string"
},
"comparisons": {
"minItems": 1,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"input_hex": {
"type": "string"
},
"swatch": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"hex": {
"type": "string"
},
"relation": {
"type": "string",
"enum": [
"exact_palette_color",
"nearest_digital_swatch"
]
},
"rationale": {
"type": "string",
"maxLength": 600
}
},
"required": [
"input_hex",
"swatch",
"hex",
"relation",
"rationale"
],
"additionalProperties": false
}
},
"caveat": {
"type": "string"
}
},
"required": [
"state",
"palette",
"method",
"comparisons",
"caveat"
],
"additionalProperties": false
}
]
}
},
"required": [
"schema_version",
"kind",
"result"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢create_palette_board(palette_ref, purpose, occasion, colors)
Generate a labeled downloadable SVG board and matching 12-color PNG from a user-confirmed palette, a chosen outfit/event/packing purpose and optional supplied garment colors. Requires the user’s chosen palette; unknown colors request clarification. Computation only; no upload, charge, account record or closet inference.
Input Schema
{
"type": "object",
"properties": {
"palette_ref": {
"type": "string",
"minLength": 16,
"maxLength": 1400
},
"purpose": {
"type": "string",
"enum": [
"outfit",
"event",
"packing"
]
},
"occasion": {
"type": "string",
"enum": [
"casual",
"work",
"evening",
"celebration",
"formal"
]
},
"colors": {
"maxItems": 12,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"hex": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
}
},
"required": [
"hex"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 48,
"pattern": "^[A-Za-z ]+$"
}
},
"required": [
"name"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"palette_ref",
"purpose"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"const": "tonebook.connector.v1"
},
"kind": {
"type": "string",
"const": "create_palette_board"
},
"result": {
"anyOf": [
{
"type": "object",
"properties": {
"state": {
"type": "string",
"const": "clarification_needed"
},
"color_positions": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 12
}
},
"clarification": {
"type": "string",
"maxLength": 600
}
},
"required": [
"state",
"color_positions",
"clarification"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"state": {
"type": "string",
"const": "ready"
},
"version": {
"type": "string",
"const": "tonebook.board.v1"
},
"board_id": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"board_ref": {
"type": "string",
"minLength": 16,
"maxLength": 4096
},
"palette": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "tonebook.palette.v1"
},
"season_id": {
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
"source": {
"type": "string",
"enum": [
"quiz_suggestion",
"user_selection"
]
},
"confirmed": {
"type": "boolean"
},
"quiz_version": {
"anyOf": [
{
"type": "string",
"const": "tonebook.quiz.2026-09-23"
},
{
"type": "null"
}
]
},
"suggested_season_id": {
"anyOf": [
{
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
{
"type": "null"
}
]
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"palette_ref": {
"type": "string",
"minLength": 16,
"maxLength": 1400
},
"season": {
"type": "string"
},
"colors": {
"minItems": 12,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"hex": {
"type": "string",
"pattern": "^#[0-9A-F]{6}$"
}
},
"required": [
"label",
"hex"
],
"additionalProperties": false
}
},
"guidance": {
"type": "string",
"maxLength": 600
},
"caveat": {
"type": "string",
"maxLength": 600
},
"storage": {
"type": "string",
"maxLength": 600
}
},
"required": [
"version",
"season_id",
"source",
"confirmed",
"quiz_version",
"suggested_season_id",
"revision",
"palette_ref",
"season",
"colors",
"guidance",
"caveat",
"storage"
],
"additionalProperties": false
},
"purpose": {
"type": "string",
"enum": [
"outfit",
"event",
"packing"
]
},
"occasion": {
"anyOf": [
{
"type": "string",
"enum": [
"casual",
"work",
"evening",
"celebration",
"formal"
]
},
{
"type": "null"
}
]
},
"constraints": {
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"input_hex": {
"type": "string"
},
"swatch": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"hex": {
"type": "string"
},
"relation": {
"type": "string",
"enum": [
"exact_palette_color",
"nearest_digital_swatch"
]
},
"rationale": {
"type": "string",
"maxLength": 600
}
},
"required": [
"input_hex",
"swatch",
"hex",
"relation",
"rationale"
],
"additionalProperties": false
}
},
"accessible_text": {
"type": "string",
"maxLength": 3000
},
"artifacts": {
"minItems": 2,
"maxItems": 2,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"mimeType": {
"type": "string",
"enum": [
"image/svg+xml",
"image/png"
]
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"name",
"mimeType",
"sha256"
],
"additionalProperties": false
}
},
"storage": {
"type": "string",
"maxLength": 600
}
},
"required": [
"state",
"version",
"board_id",
"board_ref",
"palette",
"purpose",
"occasion",
"constraints",
"accessible_text",
"artifacts",
"storage"
],
"additionalProperties": false
}
]
}
},
"required": [
"schema_version",
"kind",
"result"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_palette_board(board_ref)
Reconstruct the same SVG, PNG, selected palette and supplied-color comparisons from a complete board reference. Anyone with a reference can read its public palette data. It is not an account credential and cannot retrieve purchased reports. No Tonebook server record is required.
Input Schema
{
"type": "object",
"properties": {
"board_ref": {
"type": "string",
"minLength": 16,
"maxLength": 4096
}
},
"required": [
"board_ref"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"const": "tonebook.connector.v1"
},
"kind": {
"type": "string",
"const": "get_palette_board"
},
"result": {
"anyOf": [
{
"type": "object",
"properties": {
"state": {
"type": "string",
"const": "clarification_needed"
},
"color_positions": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 12
}
},
"clarification": {
"type": "string",
"maxLength": 600
}
},
"required": [
"state",
"color_positions",
"clarification"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"state": {
"type": "string",
"const": "ready"
},
"version": {
"type": "string",
"const": "tonebook.board.v1"
},
"board_id": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"board_ref": {
"type": "string",
"minLength": 16,
"maxLength": 4096
},
"palette": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "tonebook.palette.v1"
},
"season_id": {
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
"source": {
"type": "string",
"enum": [
"quiz_suggestion",
"user_selection"
]
},
"confirmed": {
"type": "boolean"
},
"quiz_version": {
"anyOf": [
{
"type": "string",
"const": "tonebook.quiz.2026-09-23"
},
{
"type": "null"
}
]
},
"suggested_season_id": {
"anyOf": [
{
"type": "string",
"enum": [
"bright_spring",
"warm_spring",
"light_spring",
"light_summer",
"cool_summer",
"soft_summer",
"soft_autumn",
"warm_autumn",
"deep_autumn",
"deep_winter",
"cool_winter",
"bright_winter"
]
},
{
"type": "null"
}
]
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"palette_ref": {
"type": "string",
"minLength": 16,
"maxLength": 1400
},
"season": {
"type": "string"
},
"colors": {
"minItems": 12,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"hex": {
"type": "string",
"pattern": "^#[0-9A-F]{6}$"
}
},
"required": [
"label",
"hex"
],
"additionalProperties": false
}
},
"guidance": {
"type": "string",
"maxLength": 600
},
"caveat": {
"type": "string",
"maxLength": 600
},
"storage": {
"type": "string",
"maxLength": 600
}
},
"required": [
"version",
"season_id",
"source",
"confirmed",
"quiz_version",
"suggested_season_id",
"revision",
"palette_ref",
"season",
"colors",
"guidance",
"caveat",
"storage"
],
"additionalProperties": false
},
"purpose": {
"type": "string",
"enum": [
"outfit",
"event",
"packing"
]
},
"occasion": {
"anyOf": [
{
"type": "string",
"enum": [
"casual",
"work",
"evening",
"celebration",
"formal"
]
},
{
"type": "null"
}
]
},
"constraints": {
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"input_hex": {
"type": "string"
},
"swatch": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"hex": {
"type": "string"
},
"relation": {
"type": "string",
"enum": [
"exact_palette_color",
"nearest_digital_swatch"
]
},
"rationale": {
"type": "string",
"maxLength": 600
}
},
"required": [
"input_hex",
"swatch",
"hex",
"relation",
"rationale"
],
"additionalProperties": false
}
},
"accessible_text": {
"type": "string",
"maxLength": 3000
},
"artifacts": {
"minItems": 2,
"maxItems": 2,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"mimeType": {
"type": "string",
"enum": [
"image/svg+xml",
"image/png"
]
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"name",
"mimeType",
"sha256"
],
"additionalProperties": false
}
},
"storage": {
"type": "string",
"maxLength": 600
}
},
"required": [
"state",
"version",
"board_id",
"board_ref",
"palette",
"purpose",
"occasion",
"constraints",
"accessible_text",
"artifacts",
"storage"
],
"additionalProperties": false
}
]
}
},
"required": [
"schema_version",
"kind",
"result"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence