---
title: "Get Harmonies"
method: POST
path: "/harmonies"
---

# Get Harmonies

`POST /harmonies`

## Request

- Base URL: `https://api.colourmemory.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.colourmemory.com/harmonies`
- Auth: none declared

Archive-grounded colour harmonies in LCh perceptual colour space.

For each harmony type, rotates the input hue in LCh space, then finds
the nearest named archive colour to each harmony target using CIEDE2000.

Returns named archive colours as harmonic partners -- with provenance,
cultural context, and source -- not just hex codes.

"hay_contrast" is a different kind of harmony type from the rest: not a
fixed-angle rotation, but D.R. Hay's (1838) documented contrast pairing
between six named hues, snapped from the input's nearest hue rather than
rotated from it, and returning Field's proportional power for the pair
(attributed to Field, not Hay, throughout) alongside the CIEDE2000
archive match. Declines to answer (covered: false) rather than guess for
a hue nearer a tertiary region than any of the six -- Hay's data has no
specific number for those.

Example:
    {"hex": "#1B1556"}

Returns complementary, analogous, triadic, and split-complementary
archive colours for Iago Venom (Shakespeare, Othello II.3.347).

## Headers

- `x-api-key` string, nullable
- `origin` string, nullable

## Request body

- HarmonyRequest
  - `hex` string, required
  - `types` string[]
  - `n_per_harmony` integer

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/colourmemory/apis/colour-memory-api.md) · [All operations](https://skmtc.dev/colourmemory/apis/colour-memory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/colourmemory/apis/colour-memory-api/revisions/4ba028f64042?raw)
