---
title: "Palette Recipe Generate"
method: POST
path: "/palette/recipe/generate"
---

# Palette Recipe Generate

`POST /palette/recipe/generate`

## 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/palette/recipe/generate`
- Auth: none declared

One seed colour -> a reproducible five-role colour system
(field, ground, support, signal, accent) with Base/Light/Dark modes.

The seed hex (and any locked hex) is returned byte-identical in its role;
nothing is snapped to the archive. Every response carries its recipe,
recipe_hash and the exact algorithm_version. The same recipe and
algorithm_version always produce the same colours; development builds get a
new version id for any quality change, and retired ids return 410.

Omit seed_role to use the engine's recommended role (returned in
role_selection with its reason).

## Headers

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

## Request body

- PaletteRecipeRequest
  - `seed_hex` string, required
  - `seed_role` string, nullable
  - `harmony` string
  - `strength` integer
  - `temperature` integer
  - `contrast` integer
  - `accent` integer
  - `locked` object
  - `variant` integer
  - `seed_source` object, nullable
  - `algorithm_version` string, nullable
  - `include_evidence` boolean
  - `seed_record` object, nullable
  - `source_palette` object, nullable

## 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)
