/v1/analyze
POST
/v1/analyze
const url = 'https://color.koval.tools/v1/analyze';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"color":"example","foreground":"example","background":"example","canvas":"example","compliance_mode":"wcag22","include":{"wcag":true,"apca":true,"reverse_roles":false,"names":false,"palette":"complementary","cvd":{"types":["protanopia"]}},"repair":{"target":"aa-normal-text","change":"foreground","max_candidates":3,"preserve":"hue"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://color.koval.tools/v1/analyze \ --header 'Content-Type: application/json' \ --data '{ "color": "example", "foreground": "example", "background": "example", "canvas": "example", "compliance_mode": "wcag22", "include": { "wcag": true, "apca": true, "reverse_roles": false, "names": false, "palette": "complementary", "cvd": { "types": [ "protanopia" ] } }, "repair": { "target": "aa-normal-text", "change": "foreground", "max_candidates": 3, "preserve": "hue" } }'Request Bodyrequired
Section titled “ Request Bodyrequired ” Media type application/json
object
color
string
foreground
string
background
string
canvas
string
compliance_mode
string
include
object
wcag
boolean
apca
boolean
reverse_roles
boolean
names
boolean
palette
string
cvd
object
types
required
Array<string>
repair
object
target
required
string
change
required
string
max_candidates
integer
preserve
string
Responses
Section titled “ Responses ”Analysis result
Media type application/json
object
mode
required
string
input
required
object
key
additional properties
string
normalized
required
object
key
additional properties
object
hex
required
string
hex8
required
string
rgb
required
object
r
required
number
g
required
number
b
required
number
hsl
required
object
h
required
number
s
required
number
l
required
number
hsv
required
object
h
required
number
s
required
number
v
required
number
cmyk
required
object
c
required
number
m
required
number
y
required
number
k
required
number
lab
required
object
l
required
number
a
required
number
b
required
number
lch
required
object
l
required
number
c
required
number
h
required
number
oklch
required
object
l
required
number
c
required
number
h
required
number
in_srgb_gamut
required
boolean
clipped_to_srgb
required
boolean
comparisons
object
key
additional properties
object
background
required
string
wcag
object
contrast_ratio
required
number
aa_normal_text
required
boolean
aa_large_text
required
boolean
aaa_normal_text
required
boolean
aaa_large_text
required
boolean
non_text_ui
required
boolean
apca
object
score
required
number
polarity
required
string
normal_text
required
boolean
large_text
required
boolean
non_text_ui
required
boolean
accessibility
object
wcag
object
contrast_ratio
required
number
aa_normal_text
required
boolean
aa_large_text
required
boolean
aaa_normal_text
required
boolean
aaa_large_text
required
boolean
non_text_ui
required
boolean
apca
object
score
required
number
polarity
required
string
normal_text
required
boolean
large_text
required
boolean
non_text_ui
required
boolean
reverse_roles
object
wcag
object
contrast_ratio
required
number
aa_normal_text
required
boolean
aa_large_text
required
boolean
aaa_normal_text
required
boolean
aaa_large_text
required
boolean
non_text_ui
required
boolean
apca
object
score
required
number
polarity
required
string
normal_text
required
boolean
large_text
required
boolean
non_text_ui
required
boolean
metadata
required
object
confidence
required
string
alpha_involved
required
boolean
in_srgb_gamut
required
boolean
repair
object
performed
required
boolean
original_passed
required
boolean
best_candidate
object
foreground
required
object
hex
required
string
hex8
required
string
rgb
required
object
r
required
number
g
required
number
b
required
number
hsl
required
object
h
required
number
s
required
number
l
required
number
hsv
required
object
h
required
number
s
required
number
v
required
number
cmyk
required
object
c
required
number
m
required
number
y
required
number
k
required
number
lab
required
object
l
required
number
a
required
number
b
required
number
lch
required
object
l
required
number
c
required
number
h
required
number
oklch
required
object
l
required
number
c
required
number
h
required
number
in_srgb_gamut
required
boolean
clipped_to_srgb
required
boolean
background
required
object
hex
required
string
hex8
required
string
rgb
required
object
r
required
number
g
required
number
b
required
number
hsl
required
object
h
required
number
s
required
number
l
required
number
hsv
required
object
h
required
number
s
required
number
v
required
number
cmyk
required
object
c
required
number
m
required
number
y
required
number
k
required
number
lab
required
object
l
required
number
a
required
number
b
required
number
lch
required
object
l
required
number
c
required
number
h
required
number
oklch
required
object
l
required
number
c
required
number
h
required
number
in_srgb_gamut
required
boolean
clipped_to_srgb
required
boolean
contrast_ratio
required
number
distance
required
object
oklab
required
number
changed
required
Array<string>
label
required
string
candidates
required
Array<object>
object
foreground
required
object
hex
required
string
hex8
required
string
rgb
required
object
r
required
number
g
required
number
b
required
number
hsl
required
object
h
required
number
s
required
number
l
required
number
hsv
required
object
h
required
number
s
required
number
v
required
number
cmyk
required
object
c
required
number
m
required
number
y
required
number
k
required
number
lab
required
object
l
required
number
a
required
number
b
required
number
lch
required
object
l
required
number
c
required
number
h
required
number
oklch
required
object
l
required
number
c
required
number
h
required
number
in_srgb_gamut
required
boolean
clipped_to_srgb
required
boolean
background
required
object
hex
required
string
hex8
required
string
rgb
required
object
r
required
number
g
required
number
b
required
number
hsl
required
object
h
required
number
s
required
number
l
required
number
hsv
required
object
h
required
number
s
required
number
v
required
number
cmyk
required
object
c
required
number
m
required
number
y
required
number
k
required
number
lab
required
object
l
required
number
a
required
number
b
required
number
lch
required
object
l
required
number
c
required
number
h
required
number
oklch
required
object
l
required
number
c
required
number
h
required
number
in_srgb_gamut
required
boolean
clipped_to_srgb
required
boolean
contrast_ratio
required
number
distance
required
object
oklab
required
number
changed
required
Array<string>
label
required
string
names
object
css
object
name
required
string
source
required
string
hex
required
string
distance
required
object
oklab
required
number
xkcd
object
name
required
string
source
required
string
hex
required
string
distance
required
object
oklab
required
number
meodai
object
name
required
string
source
required
string
hex
required
string
distance
required
object
oklab
required
number
closest
object
name
required
string
source
required
string
hex
required
string
distance
required
object
oklab
required
number
palette
Array<object>
object
hex
required
string
oklch
required
object
l
required
number
c
required
number
h
required
number
cvd_simulations
object
key
additional properties
object
foreground
required
object
hex
required
string
hex8
required
string
rgb
required
object
r
required
number
g
required
number
b
required
number
hsl
required
object
h
required
number
s
required
number
l
required
number
hsv
required
object
h
required
number
s
required
number
v
required
number
cmyk
required
object
c
required
number
m
required
number
y
required
number
k
required
number
lab
required
object
l
required
number
a
required
number
b
required
number
lch
required
object
l
required
number
c
required
number
h
required
number
oklch
required
object
l
required
number
c
required
number
h
required
number
in_srgb_gamut
required
boolean
clipped_to_srgb
required
boolean
background
required
object
hex
required
string
hex8
required
string
rgb
required
object
r
required
number
g
required
number
b
required
number
hsl
required
object
h
required
number
s
required
number
l
required
number
hsv
required
object
h
required
number
s
required
number
v
required
number
cmyk
required
object
c
required
number
m
required
number
y
required
number
k
required
number
lab
required
object
l
required
number
a
required
number
b
required
number
lch
required
object
l
required
number
c
required
number
h
required
number
oklch
required
object
l
required
number
c
required
number
h
required
number
in_srgb_gamut
required
boolean
clipped_to_srgb
required
boolean
wcag
object
contrast_ratio
required
number
aa_normal_text
required
boolean
aa_large_text
required
boolean
aaa_normal_text
required
boolean
aaa_large_text
required
boolean
non_text_ui
required
boolean
apca
object
score
required
number
polarity
required
string
normal_text
required
boolean
large_text
required
boolean
non_text_ui
required
boolean
warnings
required
Array<string>
errors
required
Array<string>
version
required
string
Example
{ "mode": "single-color", "comparisons": { "additionalProperty": { "apca": { "polarity": "dark-on-light" } } }, "accessibility": { "apca": { "polarity": "dark-on-light" }, "reverse_roles": { "apca": { "polarity": "dark-on-light" } } }, "metadata": { "confidence": "high" }, "cvd_simulations": { "additionalProperty": { "apca": { "polarity": "dark-on-light" } } }}Validation error
Media type application/json
object
error
required
object
code
required
string
message
required
string
details
required
Array<string>
Example generated
{ "error": { "code": "example", "message": "example", "details": [ "example" ] }}Rate limit exceeded
Media type application/json
object
error
required
object
code
required
string
message
required
string
details
required
Array<string>
Example generated
{ "error": { "code": "example", "message": "example", "details": [ "example" ] }}