---
title: "Create custom color palette"
method: POST
path: "/v1/color-palettes"
tags: ["Color Palettes"]
---

# Create custom color palette

`POST /v1/color-palettes`

## Request

- Base URL: `https://blobsrus.omniapp.co/api`
- URL: `https://blobsrus.omniapp.co/api/v1/color-palettes`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

<Note>
  This endpoint requires **Organization Admin** permissions.
</Note>

Create a custom chart color palette. Palette names must be unique per type within the organization.

## Request body

- object
  - `colors` string[], required: Ordered hex colors. Discrete palettes are used in order; continuous palettes interpolate between them.
  - `name` string, required: Palette name, unique per type within the organization
  - `type` 'discrete' | 'continuous', required: - `discrete` palettes color categories - `continuous` palettes define a gradient for numeric scales

## Response `201`

Color palette created

- ColorPaletteObject
  - `colors` string[]: Ordered hex colors. Discrete palettes are used in order; continuous palettes interpolate between them.
  - `id` string, uuid: Palette ID. Visualizations reference the palette by this value.
  - `created_at` string, date-time: When the palette was created
  - `name` string: Palette name, unique per type within the organization
  - `type` 'discrete' | 'continuous': - `discrete` palettes color categories - `continuous` palettes define a gradient for numeric scales
  - `updated_at` string, date-time: When the palette was last updated

## Other responses

- `400`: Bad Request. Validation errors include: - `name: Required` - `type: Invalid option: expected one of "discrete"|"continuous"` - `colors: Too small: expected array to have >=1 items` - `colors: Too big: expected array to have <=50 items` - `colors: Invalid string: must match pattern ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$`
- `401`: Authentication required
- `403`: Forbidden. Requires Organization Admin permissions.
- `405`: Method Not Allowed - Invalid HTTP method for this endpoint
- `409`: Conflict. A palette with this name already exists for this type.
- `429`: Too Many Requests - Rate limit exceeded (60 requests/minute)

## Changes

- **2026-11-03** `43290040f88f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omni/apis/omni-api/changes/v1/color-palettes/post.md)

---

[API](https://skmtc.dev/omni/apis/omni-api.md) - [All operations](https://skmtc.dev/omni/apis/omni-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omni/apis/omni-api/revisions/43290040f88f?raw)
