Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/colourmemory-com:colourmemory-com-brand-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Colourmemory Com Brand API
version: 2.3.4
description: 'Operations tagged Brand across 2 of this provider''s published API definitions: colourmemory-com-openapi.json, colourmemory-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.colourmemory.com
description: Host serving this spec; also named as mcp_endpoint host in https://api.colourmemory.com/mcp discovery document (vendor PR Eye Ltd).
tags:
- name: Brand
paths:
/brand/guideline/specify:
post:
summary: Brand Guideline Specify Route
description: 'Colour Memory Brand Standard: brand_guideline_specify per
brand-guideline-generator-spec.md §4. A genuinely new, compute-heavy
generation call (three archive-grounded candidate palettes, evidence
scoring, collision/accessibility checks) -- metered like
brand_collision_check, unlike project_export''s free reuse of
already-generated content.'
operationId: brand_guideline_specify_route_brand_guideline_specify_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandGuidelineSpecifyRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
/brand/guideline/select:
post:
summary: Brand Guideline Select Route
description: 'Colour Memory Brand Standard: brand_guideline_select per
brand-guideline-generator-spec.md §5. Records a manual decision
against an existing brand_ref and produces a revised version of it.'
operationId: brand_guideline_select_route_brand_guideline_select_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandGuidelineSelectRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
/brand/guideline/pdf:
post:
summary: Brand Guideline Pdf Route
description: 'Colour Memory Brand Standard, step 6 of the build order: renders the
client-facing document (cover, directions, decision, system, argument,
application, accessibility matrix, provenance/evidence) from an
already-persisted brand_ref''s
frozen snapshot. Never re-runs brand_guideline_specify, never
rematches an archive, never mutates the resolved project -- the
frozen-snapshot invariant applies here exactly as it does for
house_ref/palette_pdf.'
operationId: brand_guideline_pdf_route_brand_guideline_pdf_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandGuidelinePDFRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
/brand/guideline/claims:
post:
summary: Brand Guideline Claims Route
description: 'Release-hardening pass (2026-08-06), Bug 3: resolves claim_id values
(returned inline on every colour by brand_guideline_specify/select)
into their full claim record -- source title/locator/citation,
permitted claim text, do_not_say restrictions, claim_role. Read-only,
reads only the already-persisted frozen brand_ref snapshot exactly
like brand_guideline_pdf does.'
operationId: brand_guideline_claims_route_brand_guideline_claims_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandGuidelineClaimsRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
/brand/audit:
post:
summary: Brand Audit
description: 'Complete brand colour intelligence audit in one call.
Runs accessibility matrix, cultural risk, palette verdict, and design token
export internally and assembles into a single structured response.
No LLM cost -- all computed data.'
operationId: brand_audit_brand_audit_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandAuditRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
/brand/asset-pack:
post:
summary: Brand Asset Pack
description: 'Complete brand asset pack export.
Returns CSS variables, Tailwind config, Figma tokens JSON,
citation cards, and a Markdown brand guide.
Deterministic. No LLM cost.'
operationId: brand_asset_pack_brand_asset_pack_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandAuditRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
/brand/system:
post:
summary: Brand System
description: 'Complete brand colour system in one call.
Extends brand_audit with light/dark mode role maps,
typography guidance, per-colour usage rules, and citation cards.
Deterministic. No LLM cost.'
operationId: brand_system_brand_system_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandAuditRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
/brand/collision-check:
post:
summary: Brand Collision Check
description: 'Can this brand own this colour against these competitors in this market?
Computes CIEDE2000 distances between the brand colour and each competitor,
retrieves archive context for each, scores distinctiveness, and returns
a plain-English ownership verdict with strategic recommendation.'
operationId: brand_collision_check_brand_collision_check_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandCollisionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
/brand/report:
post:
summary: Brand Report
description: 'Complete one-call brand colour intelligence report.
Runs archive anchor, cliche break, colour DNA, strategy,
palette verdict, ecommerce copy, memory hooks, and agent
brief entirely internally — no chained httpx calls.'
operationId: brand_report_brand_report_post
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
- name: origin
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Origin
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrandReportRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Brand
components:
schemas:
Preferences:
properties:
palette_size:
type: integer
title: Palette Size
default: 5
accessibility_target:
type: string
title: Accessibility Target
default: AA
minimum_claim_strength:
type: string
title: Minimum Claim Strength
default: E
strict_semantic_colour:
type: boolean
title: Strict Semantic Colour
default: false
allow_unsourced_original_colours:
type: boolean
title: Allow Unsourced Original Colours
default: true
type: object
title: Preferences
BrandAuditRequest:
properties:
palette:
items:
type: string
type: array
title: Palette
site_evidence:
additionalProperties: true
type: object
title: Site Evidence
market:
type: string
title: Market
default: global
use_case:
type: string
title: Use Case
default: brand identity
medium:
type: string
title: Medium
default: digital
brand_category:
type: string
title: Brand Category
default: ''
logo_url:
type: string
title: Logo Url
default: ''
logo_base64:
type: string
title: Logo Base64
default: ''
roles:
items:
type: string
type: array
title: Roles
default: []
type: object
required:
- palette
title: BrandAuditRequest
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
IdentityAssets:
properties:
logo_image_id:
type: string
title: Logo Image Id
default: ''
wordmark_image_id:
type: string
title: Wordmark Image Id
default: ''
logo_base64:
type: string
title: Logo Base64
default: ''
wordmark_base64:
type: string
title: Wordmark Base64
default: ''
type: object
title: IdentityAssets
BrandConstraints:
properties:
avoid_concepts:
items:
type: string
type: array
title: Avoid Concepts
preferred_families:
items:
type: string
type: array
title: Preferred Families
type: object
title: BrandConstraints
description: 'Bug 2 fix (2026-08-06): confirmed live, the MCP schema had no field
for structured negative constraints at all -- a brief that says "not
a generic pink pet salon" in prose had no way to make that a real,
testable exclusion; the closest the system could do was infer
sentiment from prose (fixed separately, see _RELEVANCE_NEGATION_CUES),
which is inherently weaker than a structured field a caller can rely
on. avoid_concepts are checked as case-insensitive substring matches
against each retrieved archive entry''s own name/colour_notes/
archive_source text during concept-mode retrieval (resolve_palette_
colours) -- structured constraints, not inferred sentiment, and they
take precedence: an avoid_concepts match is excluded outright,
regardless of what the brief''s prose might otherwise suggest.
preferred_families is a soft ranking boost, not a hard filter --
matching entries are preferred, not the only ones allowed.'
OutputPreferences:
properties:
language:
type: string
title: Language
default: en-GB
tone:
type: string
title: Tone
default: authoritative
type: object
title: OutputPreferences
BrandGuidelinePDFRequest:
properties:
brand_ref:
anyOf:
- type: string
- type: 'null'
title: Brand Ref
project_id:
anyOf:
- type: string
- type: 'null'
title: Project Id
project_version:
anyOf:
- type: integer
- type: 'null'
title: Project Version
delivery:
type: string
title: Delivery
default: url
type: object
title: BrandGuidelinePDFRequest
BrandGuidelineSelectRequest:
properties:
brand_ref:
type: string
title: Brand Ref
default: ''
project_id:
type: string
title: Project Id
default: ''
selected_candidate_id:
type: string
title: Selected Candidate Id
locked_colour_ids:
items:
type: string
type: array
title: Locked Colour Ids
suppressed_claim_ids:
items:
type: string
type: array
title: Suppressed Claim Ids
note:
type: string
title: Note
default: ''
type: object
required:
- selected_candidate_id
title: BrandGuidelineSelectRequest
BrandBrief:
properties:
category:
type: string
title: Category
default: ''
positioning:
type: string
title: Positioning
default: ''
audience:
type: string
title: Audience
default: ''
personality:
items:
type: string
type: array
title: Personality
values:
items:
type: string
type: array
title: Values
channels:
items:
type: string
type: array
title: Channels
markets:
items:
type: string
type: array
title: Markets
competitors:
items:
$ref: '#/components/schemas/CompetitorInput'
type: array
title: Competitors
type: object
title: BrandBrief
CompetitorInput:
properties:
name:
type: string
title: Name
default: ''
colours:
items:
type: string
type: array
title: Colours
type: object
title: CompetitorInput
BrandGuidelineClaimsRequest:
properties:
brand_ref:
anyOf:
- type: string
- type: 'null'
title: Brand Ref
project_id:
anyOf:
- type: string
- type: 'null'
title: Project Id
project_version:
anyOf:
- type: integer
- type: 'null'
title: Project Version
claim_ids:
items:
type: string
type: array
title: Claim Ids
type: object
title: BrandGuidelineClaimsRequest
PaletteInput:
properties:
mode:
type: string
title: Mode
colours:
items:
type: string
type: array
title: Colours
locked_colours:
items:
type: string
type: array
title: Locked Colours
concept:
type: string
title: Concept
default: ''
archive:
type: string
title: Archive
default: ''
image_id:
type: string
title: Image Id
default: ''
type: object
required:
- mode
title: PaletteInput
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
BrandReportRequest:
properties:
hex:
type: string
title: Hex
brand_context:
additionalProperties: true
type: object
title: Brand Context
default: {}
markets:
items: {}
type: array
title: Markets
default: []
medium:
type: string
title: Medium
default: general
concept:
type: string
title: Concept
default: ''
product_type:
type: string
title: Product Type
default: ''
target_model:
type: string
title: Target Model
default: midjourney
type: object
required:
- hex
title: BrandReportRequest
BrandCollisionRequest:
properties:
brand_hex:
type: string
title: Brand Hex
brand_name:
type: string
title: Brand Name
default: ''
competitor_hexes:
items:
type: string
type: array
title: Competitor Hexes
default: []
competitor_names:
items:
type: string
type: array
title: Competitor Names
default: []
competitor_provenance:
items:
type: string
type: array
title: Competitor Provenance
default: []
market:
type: string
title: Market
default: global
region:
type: string
title: Region
default: ''
type: object
required:
- brand_hex
title: BrandCollisionRequest
BrandGuidelineSpecifyRequest:
properties:
brand_name:
type: string
title: Brand Name
continue_project_id:
anyOf:
- type: string
- type: 'null'
title: Continue Project Id
brand_brief:
$ref: '#/components/schemas/BrandBrief'
palette_input:
$ref: '#/components/schemas/PaletteInput'
preferences:
$ref: '#/components/schemas/Preferences'
identity_assets:
$ref: '#/components/schemas/IdentityAssets'
output_preferences:
$ref: '#/components/schemas/OutputPreferences'
constraints:
$ref: '#/components/schemas/BrandConstraints'
type: object
required:
- brand_name
- palette_input
title: BrandGuidelineSpecifyRequest
x-refined-from:
- colourmemory-com-openapi.json
- colourmemory-com-openapi.yml