Overview
All color lookups take a hex color via the hex query parameter (with or without #).
| Operation | Endpoint | Auth |
|---|---|---|
| Full color info | GET /api/color/info | Public |
| Color name | GET /api/color/name | Public |
| Shades | GET /api/color/shades | Public |
| Harmonies | GET /api/color/harmonies | Public |
| Accessibility | GET /api/color/accessibility | Public |
| Random colors | GET /api/color/random | Public |
| Save palette | POST /api/color/palettes | Required |
| List palettes | GET /api/color/palettes | Required |
| Delete palette | DELETE /api/color/palettes/:id | Required |
Full color info
GET
/api/color/info?hex=9ab87a
Public
Returns conversions (HEX, RGB, HSL, HSV, CMYK), the color name, harmonies, shades, tints/tones, accessibility, color-blind simulations, and similar colors.
bash
curl "https://api.geometry-labs.com/api/color/info?hex=9ab87a"
Color name
GET
/api/color/name?hex=9ab87a
Public
Returns the nearest named color and whether it was an exact match.
Harmonies & shades
GET /api/color/shades?hex=…, GET /api/color/harmonies?hex=…, and GET /api/color/accessibility?hex=… return focused results. GET /api/color/random?count=5 returns random colors.
Saved palettes
Palette management requires authentication. Create a palette with a name and a non-empty colors array:
bash
curl -X POST https://api.geometry-labs.com/api/color/palettes \
-H "Authorization: Bearer $GL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"My Palette","colors":[{"hex":"#9ab87a"},{"hex":"#c4a35a"}]}'