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.
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"
}'Endpoints
/api/v1/generate/api/v1/usage/api/v1/validateAll 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.
| Field | Type | Required |
|---|---|---|
| adjective1 | string | required |
| adjective2 | string | required |
| industry | enum | optional |
| mood | enum | optional |
| warmth | number | optional |
| contrast | enum | optional |
{
"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", ... }
}
}# 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
}Health-check your key and inspect its capabilities without consuming a generation credit. Ideal for startup checks, CI pipelines, and dashboard status widgets.
# 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"
}// 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;| Status | Error Code |
|---|---|
| 400 | invalid_input |
| 401 | unauthorized |
| 429 | quota_exceeded |
| 500 | generation_failed |
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
Pro
For design agencies and SaaS products that need volume and priority support
Enterprise
White-label embedding, SLA guarantees, and dedicated infrastructure for large teams
We review every request and respond within one business day.