Palette Engine as an API

Embed perceptually uniform
colour science in your product

The same OKLCH-based palette engine that powers Resonance is available as a REST API. Pass brand adjectives, get back a complete, WCAG-compliant colour system in milliseconds.

View Docs
quick-start.sh
curl -X POST https://resonanceapp.one/api/v1/generate \
  -H "Authorization: Bearer rsnc_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "adjective1": "bold",
    "adjective2": "trustworthy",
    "industry": "technology",
    "mood": "balanced",
    "warmth": 40,
    "contrast": "moderate"
  }'

API Reference

Endpoints

POST/api/v1/generate
GET/api/v1/usage
GET/api/v1/validate

Authentication

All requests must include your API key in the Authorization header as Bearer rsnc_.... Keys start with the prefix rsnc_ and are provisioned after your request is approved.

POST /api/v1/generate — Request Body

FieldTypeRequired
adjective1stringrequired
adjective2stringrequired
industryenumoptional
moodenumoptional
warmthnumberoptional
contrastenumoptional

Response Schema

response.json
{
  "meta": {
    "version": "1",
    "generatedAt": "2026-03-01T00:00:00.000Z",
    "durationMs": 12,
    "inputs": { "adjective1": "bold", "adjective2": "trustworthy", ... },
    "quota": { "limit": 5000, "used": 1, "remaining": 4999 }
  },
  "palette": {
    "accent": "#00d4aa",
    "neutralHue": 192,
    "light": {
      "tokens": {
        "background": "#f8fafb",
        "foreground": "#0f1a1c",
        "primary": "#00a88a",
        "primaryForeground": "#ffffff",
        "muted": "#e8f0f1",
        "mutedForeground": "#4a6870"
      },
      "wcag": {
        "body_text":      { "ratio": 14.2, "rating": "AAA" },
        "primary_button": { "ratio": 4.8,  "rating": "AA"  }
      }
    },
    "dark": { ... },
    "accessibilityVariants": [...],
    "chromaticWarnings": [],
    "grayscaleScore": 87
  },
  "exports": {
    "css": ":root { --background: #f8fafb; --foreground: #0f1a1c; ... }",
    "tailwind": { "background": "#f8fafb", "foreground": "#0f1a1c", ... }
  }
}

GET /api/v1/usage

usage.sh
# Check your current quota
curl https://resonanceapp.one/api/v1/usage \
  -H "Authorization: Bearer rsnc_YOUR_API_KEY"

# Response
{
  "keyPrefix": "rsnc_abc1",
  "tier": "starter",
  "quota": { "limit": 5000, "used": 42, "remaining": 4958 },
  "active": true
}

GET /api/v1/validate

Health-check your key and inspect its capabilities without consuming a generation credit. Ideal for startup checks, CI pipelines, and dashboard status widgets.

validate.sh
# Validate your key without consuming a credit
curl https://resonanceapp.one/api/v1/validate \
  -H "Authorization: Bearer rsnc_YOUR_API_KEY"
# Response
{
  "valid": true,
  "keyPrefix": "rsnc_abc1",
  "tier": "starter",
  "active": true,
  "quota": {
    "limit": 5000,
    "used": 42,
    "remaining": 4958,
    "percentUsed": 1,
    "resetsAt": "2026-04-01T00:00:00.000Z"
  },
  "capabilities": {
    "generate": true,
    "cssExport": true,
    "tailwindExport": true,
    "webhooks": false,
    "whiteLabel": false,
    "unlimitedQuota": false
  },
  "createdAt": "2026-03-01T08:00:00.000Z"
}

JavaScript / TypeScript Example

palette-client.ts
// Node.js / TypeScript
const response = await fetch("https://resonanceapp.one/api/v1/generate", {
  method: "POST",
  headers: {
    "Authorization": "Bearer rsnc_YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    adjective1: "bold",
    adjective2: "trustworthy",
    industry: "technology",
    mood: "balanced",
  }),
});

const { palette } = await response.json();
const { background, foreground, primary } = palette.light.tokens;

Error Codes

StatusError Code
400invalid_input
401unauthorized
429quota_exceeded
500generation_failed

Simple, transparent pricing

All plans include a 14-day free trial. No credit card required to request access.

Starter

For freelancers and indie developers embedding palette generation in their tools

$49/month
  • 5,000 palette generations/month
  • OKLCH + WCAG scoring included
  • REST API with JSON responses
  • Email support
  • Rate limit: 60 req/min
Most Popular

Pro

For design agencies and SaaS products that need volume and priority support

$299/month
  • 100,000 palette generations/month
  • Full token export (CSS, Figma, Tailwind)
  • Webhook callbacks on generation
  • Priority email + Slack support
  • Rate limit: 600 req/min
  • Usage dashboard

Enterprise

White-label embedding, SLA guarantees, and dedicated infrastructure for large teams

Custom
  • Unlimited generations
  • White-label branding
  • Custom domain + SSO
  • 99.9% uptime SLA
  • Dedicated account manager
  • On-premise deployment option

Request API Access

We review every request and respond within one business day.

Frequently asked questions