{"openapi":"3.1.0","info":{"title":"Color Blindness Simulator API","version":"1.0.0","description":"See your colours the way colour-blind users do. Pass a hex colour (or a whole palette) and get back how it appears under each major colour-vision deficiency — protanopia (red-blind), deuteranopia (green-blind), tritanopia (blue-blind) and achromatopsia (total colour blindness) — as simulated hex and RGB values. Roughly 1 in 12 men and 1 in 200 women have some colour-vision deficiency, so this is ideal for accessibility testing of UI themes, charts, maps, status colours and branding: simulate your palette, spot colours that become indistinguishable, and fix them before you ship. Pure local matrix transforms — no key, no third-party service, instant. Live. 4 endpoints. Distinct from colour conversion and contrast tools.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/colorblind-api","description":"oanor gateway"}],"tags":[{"name":"Simulate"},{"name":"Reference"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/palette":{"get":{"operationId":"get_v1_palette","tags":["Simulate"],"summary":"Simulate a palette","description":"","parameters":[{"name":"colors","in":"query","required":true,"description":"Comma-separated hex colours","schema":{"type":"string"},"example":"ff0000,00ff00,0000ff"},{"name":"type","in":"query","required":false,"description":"protanopia|deuteranopia|tritanopia|achromatopsia|all","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":3,"types":["protanopia","deuteranopia","tritanopia","achromatopsia"],"results":[{"original":"#ff0000","simulations":{"protanopia":{"hex":"#918e00","rgb":{"b":0,"g":142,"r":145},"label":"red-blind"},"tritanopia":{"hex":"#f20000","rgb":{"b":0,"g":0,"r":242},"label":"blue-blind"},"deuteranopia":{"hex":"#9fb300","rgb":{"b":0,"g":179,"r":159},"label":"green-blind"},"achromatopsia":{"hex":"#4c4c4c","rgb":{"b":76,"g":76,"r":76},"label":"total color blindness"}}},{"original":"#00ff00","simulations":{"protanopia":{"hex":"#6e713e","rgb":{"b":62,"g":113,"r":110},"label":"red-blind"},"tritanopia":{"hex":"#0d6e79","rgb":{"b":121,"g":110,"r":13},"label":"blue-blind"},"deuteranopia":{"hex":"#604d4d","rgb":{"b":77,"g":77,"r":96},"label":"green-blind"},"achromatopsia":{"hex":"#969696","rgb":{"b":150,"g":150,"r":150},"label":"total color blindness"}}},{"original":"#0000ff","simulations":{"protanopia":{"hex":"#0000c1","rgb":{"b":193,"g":0,"r":0},"label":"red-blind"},"tritanopia":{"hex":"#009186","rgb":{"b":134,"g":145,"r":0},"label":"blue-blind"},"deuteranopia":{"hex":"#0000b3","rgb":{"b":179,"g":0,"r":0},"label":"green-blind"},"achromatopsia":{"hex":"#1d1d1d","rgb":{"b":29,"g":29,"r":29},"label":"total color blindness"}}}]},"meta":{"timestamp":"2026-06-02T16:51:59.654Z","request_id":"82979340-71da-49f5-82ba-6bc90e6fa1b4"},"status":"ok","message":"Simulate a palette","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/simulate":{"get":{"operationId":"get_v1_simulate","tags":["Simulate"],"summary":"Simulate a colour under CVD","description":"","parameters":[{"name":"color","in":"query","required":true,"description":"Hex colour (with or without #)","schema":{"type":"string"},"example":"ff0000"},{"name":"type","in":"query","required":false,"description":"protanopia|deuteranopia|tritanopia|achromatopsia|all","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"original":"#ff0000","simulations":{"protanopia":{"hex":"#918e00","rgb":{"b":0,"g":142,"r":145},"label":"red-blind"},"tritanopia":{"hex":"#f20000","rgb":{"b":0,"g":0,"r":242},"label":"blue-blind"},"deuteranopia":{"hex":"#9fb300","rgb":{"b":0,"g":179,"r":159},"label":"green-blind"},"achromatopsia":{"hex":"#4c4c4c","rgb":{"b":76,"g":76,"r":76},"label":"total color blindness"}}},"meta":{"timestamp":"2026-06-02T16:51:59.757Z","request_id":"65bff257-167f-4c05-ab67-41d6665a6167"},"status":"ok","message":"Simulate a colour","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/types":{"get":{"operationId":"get_v1_types","tags":["Reference"],"summary":"List deficiency types","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":4,"types":[{"type":"protanopia","label":"red-blind"},{"type":"deuteranopia","label":"green-blind"},{"type":"tritanopia","label":"blue-blind"},{"type":"achromatopsia","label":"total color blindness"}]},"meta":{"timestamp":"2026-06-02T16:51:59.839Z","request_id":"7157d1be-a300-423c-80c9-21680af56aed"},"status":"ok","message":"List deficiency types","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"auth":"none upstream; this gateway requires x-api-key","name":"Color Blindness Simulator API","note":"Simulate how colours appear under colour-vision deficiencies. /v1/simulate?color=%23ff0000&type=all (types: protanopia, deuteranopia, tritanopia, achromatopsia, or all); /v1/palette?colors=%23ff0000,%2300ff00 to check a whole UI palette; /v1/types for the list. Returns the simulated hex/RGB per type. Instant, nothing stored. For accessibility testing — distinct from colour conversion/contrast.","source":"Local CVD matrix simulation — no key, no upstream","endpoints":4},"meta":{"timestamp":"2026-06-02T16:51:59.920Z","request_id":"56b6b1be-6a12-40e7-820d-946be89492fc"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":1520,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":700,"monthly_call_quota":29000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2660,"monthly_call_quota":184000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6260,"monthly_call_quota":940000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/colorblind-api"}