Colour Memory Brand API

The Brand API from Colour Memory — 9 operation(s) for brand.

GitHub OpenAPI

Operations 9

POST /brand/guideline/specify Brand Guideline Specify Route #
POST /brand/guideline/select Brand Guideline Select Route #
POST /brand/guideline/pdf Brand Guideline Pdf Route #
POST /brand/guideline/claims Brand Guideline Claims Route #
POST /brand/audit Brand Audit #
POST /brand/asset-pack Brand Asset Pack #
POST /brand/system Brand System #
POST /brand/collision-check Brand Collision Check #
POST /brand/report Brand Report #

Work with this as data

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 Specification

colourmemory-com-brand-api-openapi.yml Raw ↑
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