Lospec-style palette library. List is index-only fast: filter by size / tag / contained color, sort by popularity — all backed by the composite + GIN indexes on Palette. Create dedupes by signature ("gom trùng").

GET /coloring/palettes/82/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 82,
    "id_string": "000000-f5b400-828083-023c6e-ffffff-comficker",
    "name": "Minion: Kevin",
    "desc": null,
    "colors": [
        "#000000",
        "#F5B400",
        "#828083",
        "#023C6E",
        "#FFFFFF"
    ],
    "color_count": 5,
    "signature": "fce381dd3019c0befb2304e850f17dafe877ddb9",
    "source": "extracted",
    "status": "public",
    "like_count": 0,
    "usage_count": 1,
    "download_count": 63,
    "score": 72.0,
    "is_liked": false,
    "taxonomies": [],
    "user": {
        "id": 1,
        "first_name": "",
        "last_name": "",
        "username": "comficker",
        "meta": {
            "coloring": {
                "editor": 700,
                "current": 737
            },
            "game_minesweeper": {
                "GMS": 27.5,
                "won": 55,
                "dead": 246,
                "score": 5156.0
            }
        },
        "groups": [
            {
                "id": 17,
                "name": "besy_permit_account"
            },
            {
                "id": 18,
                "name": "besy_permit_report"
            },
            {
                "id": 19,
                "name": "besy_permit_transaction"
            },
            {
                "id": 111,
                "name": "besy_permit_order"
            },
            {
                "id": 112,
                "name": "besy_permit_fulfillment"
            }
        ],
        "is_staff": true,
        "is_temporary": false,
        "avatar": null,
        "score": 0
    },
    "created": "2026-06-24T02:38:15.310784Z",
    "updated": "2026-06-24T02:38:15.310779Z"
}