Skip to content
Bloomcount API
Esc
navigateopen⌘Jpreview

List colours

Every colour on the tenant, sorted by label, unpaginated.

Colours join by label, not by ID: a variant’s colors array and an event’s colourScheme hold the label text. So this endpoint is how an integration learns which labels will match before writing products. A label that isn’t in this list simply won’t line up with anything in the app.

GET/api/v1/colors
Authorization
AuthorizationBearer token (bloomcount_...) · headerrequired
Query parameters
fieldsstring
Comma-separated list of the fields to return, so a caller can ask for the parts of an object it actually uses. A dotted path reaches inside a collection, so `variants.sku` keeps the variants array with only each variant's SKU. The object's own id comes back whether or not it is listed, which keeps a trimmed response addressable. A name that the resource hasn't got returns 422 `unknown_fields:` followed by the names that did not resolve. Omit the parameter for the full object.
Responses
200OK
itemsColour[]required
Show properties
Array of Colour
colorIdstringrequired
namestringrequired
The label a variant's colors array is matched against.
hexstringrequired
isPresetbooleanrequired
Preset colours ship with the account and can't be deleted.
401Missing or invalid API key, or revoked / expired.
errorstringrequired
403Authenticated, but the key lacks the required scope or the tenant has no API access.
errorstringrequired
429Per-minute rate limit (60/min) or per-month cap exceeded.
errorstringrequired
Try it
Server
Authorization
Parameters
Request
curl -X GET "https://app.bloomcount.com/api/v1/colors" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "items": [
    {
      "colorId": "col_w2y7b4n9q1t6v3x8z5m0k7r2",
      "name": "Blush",
      "hex": "#f3c9c0"
    },
    {
      "colorId": "col_x3z8c5p0r2u7w4y9a6b1n8m3",
      "name": "Ivory",
      "hex": "#f6f1e7"
    }
  ]
}