---
title: "Batch Passport Endpoint"
method: POST
path: "/colour/passports"
---

# Batch Passport Endpoint

`POST /colour/passports`

## 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/colour/passports`
- Auth: none declared

Batch Colour Passport -- one passport per unique hex, in one call.

Deduplicates and validates input, preserving order. Invalid hexes are
listed under `invalid`; hexes whose passport could not be built are listed
under `errors`. The response carries NO quota or entitlement information.

AT MOST 20 UNIQUE VALID HEXES PER REQUEST, AND MORE IS REFUSED, NOT
TRUNCATED. More than 20 returns 400 TOO_MANY_UNIQUE_COLOURS with
requested_unique and max_unique, having processed and charged nothing.
Duplicates and invalid values do not count towards the limit. A caller
covering a larger set must split it into requests of at most 20.

Metering: one unit per unique colour RETURNED -- the same as
/colour/passport, not one per request. Requires a key; this route does not
accept the keyless plugin trial (use /colour/passport with `hexes`).
Insufficient entitlement fails closed: nothing processed, nothing charged,
429 INSUFFICIENT_ENTITLEMENT with requested_unique and available.

## Headers

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

## Request body

- BatchPassportRequest
  - `hexes` unknown[], required
    - unknown
  - `include_physics` boolean
  - `include_cultural` boolean
  - `n_archive` 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)
