{"openapi":"3.1.0","info":{"title":"Color and Design Tools","version":"1.0.0","description":"Exact color conversion, accessible text colors, palettes, mixing, color-blindness simulation and contrast fixes. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Color and Design Tools: Exact color conversion, accessible text colors, palettes, mixing, color-blindness simulation and contrast fixes. Color and Design Tools does exact color math an agent should not guess: conversion between hex, RGB, HSL, HSV and CMYK (/color-convert), the best black or white text for a background (/accessible-text-color), a minimally adjusted color that passes WCAG contrast (/contrast-fix), harmonious palettes (/palette-generate), mixing and gradients (/color-mix, /gradient-steps), lighten, darken and saturate (/color-adjust), and color-blindness simulation (/color-blind-sim). Colors are hex codes like 1a2b3c or 3 digit shorthand. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://color-design.x402tookit.com"}],"paths":{"/accessible-text-color":{"get":{"operationId":"accessible_text_color","summary":"Best text color (black or white) for a background hex color, with contrast ratios and WCAG AA/AAA results for both.","description":"Best text color (black or white) for a background hex color, with contrast ratios and WCAG AA/AAA results for both.","tags":["color","accessibility","wcag"],"parameters":[{"name":"background","in":"query","required":true,"description":"Background hex color","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"background":{"type":["null","string"]},"best":{"type":["null","string"]},"black":{"type":["null","object"],"properties":{"ratio":{"type":["null","number"]},"AA":{"type":["boolean","null"]},"AAA":{"type":["boolean","null"]},"AALarge":{"type":["boolean","null"]}}},"white":{"type":["null","object"],"properties":{"ratio":{"type":["null","number"]},"AA":{"type":["boolean","null"]},"AAA":{"type":["boolean","null"]},"AALarge":{"type":["boolean","null"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"AAA_AVAILABLE","summary":"On #f4d03f use black text (13.94:1).","reasons":["WCAG 2.x contrast: 4.5:1 for normal text (AA), 7:1 for AAA, 3:1 for large text."],"background":"#f4d03f","best":"#000000","black":{"ratio":13.94,"AA":true,"AAA":true,"AALarge":true},"white":{"ratio":1.51,"AA":false,"AAA":false,"AALarge":false},"degraded":false,"notChecked":["non-text elements","a brand color that must stay as is (use /contrast-fix to adjust a text color instead)"],"source":"computed locally","asOf":"2026-10-11T04:02:39.704Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/accessible-text-color"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/accessible-text-color"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/accessible-text-color"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/accessible-text-color"}}]}}},"/color-adjust":{"get":{"operationId":"color_adjust","summary":"Lighten, darken, saturate, desaturate or rotate the hue of a hex color by an exact number of HSL points.","description":"Lighten, darken, saturate, desaturate or rotate the hue of a hex color by an exact number of HSL points.","tags":["color","adjust","hsl"],"parameters":[{"name":"color","in":"query","required":true,"description":"Hex color","schema":{"type":"string"}},{"name":"lightness","in":"query","required":false,"description":"Add to HSL lightness, -100 to 100","schema":{"type":"number"}},{"name":"saturation","in":"query","required":false,"description":"Add to HSL saturation, -100 to 100","schema":{"type":"number"}},{"name":"hue","in":"query","required":false,"description":"Rotate hue by degrees, -360 to 360","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"original":{"type":["null","string"]},"result":{"type":["null","string"]},"from":{"type":["null","object"],"properties":{"h":{"type":["null","number"]},"s":{"type":["null","number"]},"l":{"type":["null","number"]}}},"changes":{"type":["null","object"],"properties":{"lightness":{"type":["null","number"]},"saturation":{"type":["null","number"]},"hue":{"type":["null","number"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ADJUSTED","summary":"#3366cc with lightness +15, saturation -10, hue +20 = #7979d2.","reasons":["Values are clamped to the valid HSL range."],"original":"#3366cc","result":"#7979d2","from":{"h":220,"s":60,"l":50},"changes":{"lightness":15,"saturation":-10,"hue":20},"degraded":false,"notChecked":["perceptual uniformity (HSL lightness is not perceived lightness)"],"source":"computed locally","asOf":"2026-10-11T04:02:39.957Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-adjust"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-adjust"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-adjust"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-adjust"}}]}}},"/color-blind-sim":{"get":{"operationId":"color_blind_sim","summary":"Simulate protanopia, deuteranopia and tritanopia on a color, or on a text/background pair with the contrast that remains.","description":"Simulate protanopia, deuteranopia and tritanopia on a color, or on a text/background pair with the contrast that remains.","tags":["color","accessibility","color-blindness"],"parameters":[{"name":"color","in":"query","required":true,"description":"Hex color (or the foreground of a pair)","schema":{"type":"string"}},{"name":"background","in":"query","required":false,"description":"Optional background hex to check the pair's contrast","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"original":{"type":["null","string"]},"background":{"type":["null","string"]},"normalContrast":{"type":["null","number"]},"simulations":{"type":["null","object"],"properties":{"protanopia":{"type":["null","object"],"properties":{"color":{"type":["null","string"]},"background":{"type":["null","string"]},"contrast":{"type":["null","number"]}}},"deuteranopia":{"type":["null","object"],"properties":{"color":{"type":["null","string"]},"background":{"type":["null","string"]},"contrast":{"type":["null","number"]}}},"tritanopia":{"type":["null","object"],"properties":{"color":{"type":["null","string"]},"background":{"type":["null","string"]},"contrast":{"type":["null","number"]}}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"PAIR_HOLDS_UP","summary":"#e74c3c on #2ecc71: 1.82:1 normally; protanopia 2.68:1, deuteranopia 1.46:1, tritanopia 1.84:1.","reasons":["Machado, Oliveira and Fernandes (2009) matrices at full severity, applied in linear RGB.","Red-green pairs that differ only in hue are the usual failure: add a lightness difference."],"original":"#e74c3c","background":"#2ecc71","normalContrast":1.82,"simulations":{"protanopia":{"color":"#786d39","background":"#ccbb6a","contrast":2.68},"deuteranopia":{"color":"#9f8f36","background":"#baae77","contrast":1.46},"tritanopia":{"color":"#fe1b49","background":"#00c9b6","contrast":1.84}},"degraded":false,"notChecked":["partial (anomalous) color vision, which is more common than full dichromacy","monochromacy","…1 more"],"source":"computed locally","asOf":"2026-10-11T04:02:40.219Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-blind-sim"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-blind-sim"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-blind-sim"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-blind-sim"}}]}}},"/color-convert":{"get":{"operationId":"color_convert","summary":"Convert a hex color to RGB, HSL, HSV and CMYK with CSS strings and relative luminance, exactly.","description":"Convert a hex color to RGB, HSL, HSV and CMYK with CSS strings and relative luminance, exactly.","tags":["color","hex","rgb","hsl"],"parameters":[{"name":"color","in":"query","required":true,"description":"Hex color, e.g. 1a2b3c or #fff","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"hex":{"type":["null","string"]},"rgb":{"type":["null","object"],"properties":{"r":{"type":["null","number"]},"g":{"type":["null","number"]},"b":{"type":["null","number"]}}},"hsl":{"type":["null","object"],"properties":{"h":{"type":["null","number"]},"s":{"type":["null","number"]},"l":{"type":["null","number"]}}},"hsv":{"type":["null","object"],"properties":{"h":{"type":["null","number"]},"s":{"type":["null","number"]},"v":{"type":["null","number"]}}},"cmyk":{"type":["null","object"],"properties":{"c":{"type":["null","number"]},"m":{"type":["null","number"]},"y":{"type":["null","number"]},"k":{"type":["null","number"]}}},"css":{"type":["null","object"],"properties":{"rgb":{"type":["null","string"]},"hsl":{"type":["null","string"]}}},"relativeLuminance":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONVERTED","summary":"#ff8800 = rgb(255, 136, 0) = hsl(32, 100%, 50%).","reasons":["sRGB color space; CMYK is the simple mathematical conversion, not a printer profile."],"hex":"#ff8800","rgb":{"r":255,"g":136,"b":0},"hsl":{"h":32,"s":100,"l":50},"hsv":{"h":32,"s":100,"v":100},"cmyk":{"c":0,"m":46.67,"y":100,"k":0},"css":{"rgb":"rgb(255 136 0)","hsl":"hsl(32 100% 50%)"},"relativeLuminance":0.38868,"degraded":false,"notChecked":["color profiles beyond sRGB","print accuracy of the CMYK values (naive conversion)"],"source":"computed locally","asOf":"2026-10-11T04:02:40.484Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-convert"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-convert"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-convert"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-convert"}}]}}},"/color-mix":{"get":{"operationId":"color_mix","summary":"Mix two hex colors at a ratio in sRGB or in linear light (physically correct), returning the blended hex.","description":"Mix two hex colors at a ratio in sRGB or in linear light (physically correct), returning the blended hex.","tags":["color","mix","blend"],"parameters":[{"name":"a","in":"query","required":true,"description":"First hex color","schema":{"type":"string"}},{"name":"b","in":"query","required":true,"description":"Second hex color","schema":{"type":"string"}},{"name":"weight_b","in":"query","required":false,"description":"Share of b from 0 to 1, default 0.5","schema":{"type":"number"}},{"name":"space","in":"query","required":false,"description":"srgb (default) or linear","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"a":{"type":["null","string"]},"b":{"type":["null","string"]},"weightOfB":{"type":["null","number"]},"space":{"type":["null","string"]},"result":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"MIXED","summary":"#ff0000 + #0000ff at 50% of b in srgb = #800080.","reasons":["Straight sRGB averaging is what CSS color-mix(in srgb) does; it looks darker than physical light mixing."],"a":"#ff0000","b":"#0000ff","weightOfB":0.5,"space":"srgb","result":"#800080","degraded":false,"notChecked":["perceptual spaces such as OKLCH (this is sRGB or linear RGB)"],"source":"computed locally","asOf":"2026-10-11T04:02:40.746Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-mix"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-mix"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-mix"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/color-mix"}}]}}},"/contrast-fix":{"get":{"operationId":"contrast_fix","summary":"Adjust a text color's lightness just enough to reach a WCAG contrast target (4.5, 3 or 7) on a background, keeping its hue.","description":"Adjust a text color's lightness just enough to reach a WCAG contrast target (4.5, 3 or 7) on a background, keeping its hue.","tags":["color","accessibility","contrast"],"parameters":[{"name":"foreground","in":"query","required":true,"description":"Text color hex","schema":{"type":"string"}},{"name":"background","in":"query","required":true,"description":"Background hex","schema":{"type":"string"}},{"name":"target","in":"query","required":false,"description":"Contrast target: 3, 4.5 (default) or 7","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"original":{"type":["null","string"]},"fixed":{"type":["null","string"]},"background":{"type":["null","string"]},"contrastBefore":{"type":["null","number"]},"contrastAfter":{"type":["null","number"]},"lightnessShift":{"type":["null","number"]},"target":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"FIXED","summary":"Use #8f7200 instead of #ffcc00: contrast 1.51:1 becomes 4.59:1 (target 4.5:1), lightness moved 22 points.","reasons":["Same hue and saturation; only lightness changes, in the direction that increases contrast."],"original":"#ffcc00","fixed":"#8f7200","background":"#ffffff","contrastBefore":1.512,"contrastAfter":4.59,"lightnessShift":22,"target":4.5,"degraded":false,"notChecked":["brand guidelines","non-text contrast","…1 more"],"source":"computed locally","asOf":"2026-10-11T04:02:41.011Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/contrast-fix"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/contrast-fix"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/contrast-fix"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/contrast-fix"}}]}}},"/gradient-steps":{"get":{"operationId":"gradient_steps","summary":"Evenly spaced color steps between two hex colors, in sRGB or linear light, for charts, heatmaps and gradients.","description":"Evenly spaced color steps between two hex colors, in sRGB or linear light, for charts, heatmaps and gradients.","tags":["color","gradient","dataviz"],"parameters":[{"name":"from","in":"query","required":true,"description":"Start hex color","schema":{"type":"string"}},{"name":"to","in":"query","required":true,"description":"End hex color","schema":{"type":"string"}},{"name":"steps","in":"query","required":false,"description":"Number of colors, 2 to 32, default 7","schema":{"type":"integer"}},{"name":"space","in":"query","required":false,"description":"srgb (default) or linear","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"from":{"type":["null","string"]},"to":{"type":["null","string"]},"space":{"type":["null","string"]},"colors":{"type":["array","null"],"items":{"type":"string"}},"css":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"GRADIENT","summary":"7 steps from #fff5eb to #7f2704: #fff5eb #ead3c5 #d4b09e #bf8e78 #aa6c51 #94492a #7f2704.","reasons":["Endpoints are exact; steps are interpolated in srgb space."],"from":"#fff5eb","to":"#7f2704","space":"srgb","colors":["#fff5eb","#ead3c5","…5 more"],"css":"linear-gradient(90deg, #fff5eb, #ead3c5, #d4b09e, #bf8e78, #aa6c51, #94492a, #7f2704)","degraded":false,"notChecked":["perceptual evenness (use a perceptual ramp such as viridis for data)","color-blind safety"],"source":"computed locally","asOf":"2026-10-11T04:02:41.274Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/gradient-steps"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/gradient-steps"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/gradient-steps"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/gradient-steps"}}]}}},"/palette-generate":{"get":{"operationId":"palette_generate","summary":"Generate a color palette from a base hex color: complementary, analogous, triadic, tetradic, split-complementary or monochrome.","description":"Generate a color palette from a base hex color: complementary, analogous, triadic, tetradic, split-complementary or monochrome.","tags":["color","palette","design"],"parameters":[{"name":"base","in":"query","required":true,"description":"Base hex color","schema":{"type":"string"}},{"name":"scheme","in":"query","required":false,"description":"complementary, analogous, triadic, tetradic, split-complementary or monochrome (default triadic)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"base":{"type":["null","string"]},"baseHsl":{"type":["null","object"],"properties":{"h":{"type":["null","number"]},"s":{"type":["null","number"]},"l":{"type":["null","number"]}}},"scheme":{"type":["null","string"]},"colors":{"type":["array","null"],"items":{"type":"object","properties":{"role":{"type":["null","string"]},"hex":{"type":["null","string"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"PALETTE","summary":"triadic palette from #3366cc: #3366cc, #cc3366, #66cc33.","reasons":["Hues are rotated around the HSL color wheel from the base hue, keeping saturation and lightness."],"base":"#3366cc","baseHsl":{"h":220,"s":60,"l":50},"scheme":"triadic","colors":[{"role":"base","hex":"#3366cc"},{"role":"+120 degrees","hex":"#cc3366"}],"degraded":false,"notChecked":["accessibility of pairings (check with /accessible-text-color)","taste and brand fit"],"source":"computed locally","asOf":"2026-10-11T04:02:41.536Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/palette-generate"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/palette-generate"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/palette-generate"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://color-design.x402tookit.com/palette-generate"}}]}}}}}