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.
openapi: 3.2.0
info:
title: Colourmemory Com Chat API
version: 2.3.4
description: 'Operations tagged Chat 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: Chat
paths:
/chat/session:
post:
summary: Chat Session
description: Issue a browser session. No secret ever reaches the page.
operationId: chat_session_chat_session_post
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
tags:
- Chat
/chat:
post:
summary: Chat
description: One turn, one JSON body. Unchanged for callers that want that.
operationId: chat_chat_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChatRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Chat
/chat/stream:
post:
summary: Chat Stream
description: 'One turn as a sequence of events, so the colour arrives first.
The blocking /chat runs tool, then a second model round for
commentary, then returns everything together -- so the customer waits
the full turn to see a palette that existed a third of the way in.
This yields the visual the moment the tool returns and streams the
commentary after it. Same tools, same metering, same entitlement
check, same result object; only the delivery changed. /chat is
untouched for anything that wants one JSON body.'
operationId: chat_stream_chat_stream_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChatRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Chat
/chat/keep:
post:
summary: Keep Current
description: 'Keep the earlier result after a side-by-side comparison.
Trying something must not cost the thing you already liked -- and until
this existed that promise was only kept in the browser. The page swapped
the DOM back; the server had already moved on, so Share froze the
rejected palette and the next turn refined it.
One step of history, which is all the comparison offers.'
operationId: keep_current_chat_keep_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ShareRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Chat
components:
schemas:
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
ChatRequest:
properties:
session_id:
type: string
title: Session Id
message:
type: string
title: Message
history:
items: {}
type: array
title: History
default: []
image_ref:
type: string
title: Image Ref
default: ''
type: object
required:
- session_id
- message
title: ChatRequest
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ShareRequest:
properties:
session_id:
type: string
title: Session Id
default: ''
include_image:
type: boolean
title: Include Image
default: false
revoke_token:
type: string
title: Revoke Token
default: ''
type: object
title: ShareRequest
x-refined-from:
- colourmemory-com-openapi.json
- colourmemory-com-openapi.yml