For the complete documentation index, see llms.txt. This page is also available as Markdown.

Community

Publish, share, and discover palettes in the community gallery.

List publicly shared palettes

get

Returns a paginated list of community palettes where is_shared is true, ordered by most recently published then by popularity.

Query parameters
pageinteger · min: 1Optional

Page number (1-based).

Default: 1
limitinteger · min: 1 · max: 50Optional

Number of results per page (max 50).

Default: 20
searchstringOptional

Case-insensitive substring search on palette name.

Responses
200

Array of published palettes

application/json
palette_idstringOptionalExample: aBcDeFgHiJk
namestringOptionalExample: Ocean Blues
descriptionstring · nullableOptional
are_source_colors_lockedbooleanOptional
color_spacestring · enumOptionalExample: RGBPossible values:
algorithm_versionstring · enumOptionalExample: v3Possible values:
creator_full_namestring · nullableOptional
creator_avatar_urlstring · nullableOptional
is_sharedbooleanOptional
star_countintegerOptional
get
/list-published-palettes

List the authenticated user's palettes

get

Returns a paginated list of palettes belonging to the authenticated user (both shared and private).

Authorizations
AuthorizationstringRequired

Supabase access token obtained from the /authenticate SSE flow. Pass it as Authorization: Bearer <access_token>.

Query parameters
pageinteger · min: 1OptionalDefault: 1
limitinteger · min: 1 · max: 50OptionalDefault: 20
searchstringOptional

Case-insensitive substring search on palette name.

Responses
200

Array of the user's published palettes

application/json
palette_idstringOptionalExample: aBcDeFgHiJk
namestringOptionalExample: Ocean Blues
descriptionstring · nullableOptional
are_source_colors_lockedbooleanOptional
color_spacestring · enumOptionalExample: RGBPossible values:
algorithm_versionstring · enumOptionalExample: v3Possible values:
creator_full_namestring · nullableOptional
creator_avatar_urlstring · nullableOptional
is_sharedbooleanOptional
star_countintegerOptional
created_atstring · date-timeOptional
updated_atstring · date-timeOptional
published_atstring · date-timeOptional
get
/list-my-published-palettes

Publish a new palette

post

Create and persist a new palette in the database. Set is_shared: true to make it immediately visible in the community gallery.

Authorizations
AuthorizationstringRequired

Supabase access token obtained from the /authenticate SSE flow. Pass it as Authorization: Bearer <access_token>.

Body
namestring · min: 1RequiredExample: Ocean Blues
descriptionstringOptionalExample: A cool blue palette inspired by the ocean.
are_source_colors_lockedbooleanOptionalDefault: false
color_spacestring · enumRequiredExample: RGBPossible values:
algorithm_versionstring · enumRequiredExample: v3Possible values:
is_sharedbooleanOptionalDefault: false
Responses
post
/publish-palette

Get a specific shared palette

get

Retrieve a single publicly shared palette by its ID. Returns 404 if the palette does not exist or is not shared.

Path parameters
paletteIdstringRequired

The unique palette identifier.

Example: aBcDeFgHiJk
Responses
200

The requested palette

application/json
palette_idstringOptionalExample: aBcDeFgHiJk
namestringOptionalExample: Ocean Blues
descriptionstring · nullableOptional
are_source_colors_lockedbooleanOptional
color_spacestring · enumOptionalExample: RGBPossible values:
algorithm_versionstring · enumOptionalExample: v3Possible values:
creator_full_namestring · nullableOptional
creator_avatar_urlstring · nullableOptional
is_sharedbooleanOptional
star_countintegerOptional
get
/get-published-palette/{paletteId}

Make a palette publicly visible

post

Set is_shared to true on one of the authenticated user's palettes, making it appear in the community gallery.

Authorizations
AuthorizationstringRequired

Supabase access token obtained from the /authenticate SSE flow. Pass it as Authorization: Bearer <access_token>.

Path parameters
paletteIdstringRequiredExample: aBcDeFgHiJk
Responses
200

Updated palette record

application/json
palette_idstringOptionalExample: aBcDeFgHiJk
namestringOptionalExample: Ocean Blues
descriptionstring · nullableOptional
are_source_colors_lockedbooleanOptional
color_spacestring · enumOptionalExample: RGBPossible values:
algorithm_versionstring · enumOptionalExample: v3Possible values:
creator_full_namestring · nullableOptional
creator_avatar_urlstring · nullableOptional
is_sharedbooleanOptional
star_countintegerOptional
created_atstring · date-timeOptional
updated_atstring · date-timeOptional
published_atstring · date-timeOptional
post
/share-published-palette/{paletteId}

Make a palette private

post

Set is_shared to false on one of the authenticated user's palettes, hiding it from the community gallery.

Authorizations
AuthorizationstringRequired

Supabase access token obtained from the /authenticate SSE flow. Pass it as Authorization: Bearer <access_token>.

Path parameters
paletteIdstringRequiredExample: aBcDeFgHiJk
Responses
200

Updated palette record

application/json
palette_idstringOptionalExample: aBcDeFgHiJk
namestringOptionalExample: Ocean Blues
descriptionstring · nullableOptional
are_source_colors_lockedbooleanOptional
color_spacestring · enumOptionalExample: RGBPossible values:
algorithm_versionstring · enumOptionalExample: v3Possible values:
creator_full_namestring · nullableOptional
creator_avatar_urlstring · nullableOptional
is_sharedbooleanOptional
star_countintegerOptional
created_atstring · date-timeOptional
updated_atstring · date-timeOptional
published_atstring · date-timeOptional
post
/unshare-published-palette/{paletteId}

Update an existing palette

post

Partially update an existing palette. Only the fields present in the request body are updated; all others remain unchanged.

Authorizations
AuthorizationstringRequired

Supabase access token obtained from the /authenticate SSE flow. Pass it as Authorization: Bearer <access_token>.

Path parameters
paletteIdstringRequiredExample: aBcDeFgHiJk
Body

All fields are optional; only the supplied ones are updated.

namestring · min: 1Optional
descriptionstringOptional
are_source_colors_lockedbooleanOptional
color_spacestring · enumOptionalExample: RGBPossible values:
algorithm_versionstring · enumOptionalExample: v3Possible values:
is_sharedbooleanOptional
Responses
200

Updated palette record

application/json
palette_idstringOptionalExample: aBcDeFgHiJk
namestringOptionalExample: Ocean Blues
descriptionstring · nullableOptional
are_source_colors_lockedbooleanOptional
color_spacestring · enumOptionalExample: RGBPossible values:
algorithm_versionstring · enumOptionalExample: v3Possible values:
creator_full_namestring · nullableOptional
creator_avatar_urlstring · nullableOptional
is_sharedbooleanOptional
star_countintegerOptional
created_atstring · date-timeOptional
updated_atstring · date-timeOptional
published_atstring · date-timeOptional
post
/update-published-palette/{paletteId}

Permanently delete a palette

delete

Permanently remove a palette from the database. This action is irreversible. Only the palette's creator can delete it.

Authorizations
AuthorizationstringRequired

Supabase access token obtained from the /authenticate SSE flow. Pass it as Authorization: Bearer <access_token>.

Path parameters
paletteIdstringRequiredExample: aBcDeFgHiJk
Responses
200

The deleted palette record

application/json
palette_idstringOptionalExample: aBcDeFgHiJk
namestringOptionalExample: Ocean Blues
descriptionstring · nullableOptional
are_source_colors_lockedbooleanOptional
color_spacestring · enumOptionalExample: RGBPossible values:
algorithm_versionstring · enumOptionalExample: v3Possible values:
creator_full_namestring · nullableOptional
creator_avatar_urlstring · nullableOptional
is_sharedbooleanOptional
star_countintegerOptional
created_atstring · date-timeOptional
updated_atstring · date-timeOptional
published_atstring · date-timeOptional
delete
/unpublish-palette/{paletteId}

Last updated