Wahlu API

Labels

Organise content with labels.

Labels help you organise posts, media, and ideas into categories. You can filter content by label across the API.

List labels

GET/v1/brands/:brand_id/labels

Returns all labels for a brand. Requires labels:read.

Query parameters

ParameterTypeDescription
pageintegerPage number. Defaults to 1.
limitintegerItems per page. Defaults to 50, max 100.
curl
curl https://api.wahlu.com/v1/brands/brand_abc123/labels \
  -H "Authorization: Bearer wahlu_live_your_api_key_here"
Response
{
  "success": true,
  "data": [
    {
      "id": "label_promo",
      "name": "Promotions",
      "color": "#E97451",
      "created_at": "2026-01-15T10:00:00Z",
      "updated_at": "2026-01-15T10:00:00Z"
    },
    {
      "id": "label_content",
      "name": "Content",
      "color": "#3EB9EA",
      "created_at": "2026-01-15T10:00:00Z",
      "updated_at": "2026-01-15T10:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "has_more": false
  }
}

Response fields

ParameterTypeDescription
idstringUnique label identifier.
namestringLabel display name.
colorstring | nullHex colour code (e.g. #E97451).
created_atstringISO 8601 creation timestamp.
updated_atstringISO 8601 last-updated timestamp.

Create a label

POST/v1/brands/:brand_id/labels

Creates a new label. Requires labels:write.

Request body

ParameterTypeDescription
name*stringThe label name. Max 100 characters.
colorstringHex colour code (e.g. #E97451). Max 20 characters.
curl
curl -X POST https://api.wahlu.com/v1/brands/brand_abc123/labels \
  -H "Authorization: Bearer wahlu_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product Updates",
    "color": "#22C55E"
  }'

Update a label

PATCH/v1/brands/:brand_id/labels/:label_id

Updates a label. Only provided fields are changed. Requires labels:write.

Request body

ParameterTypeDescription
namestringUpdated name. Max 100 characters.
colorstringUpdated hex colour code. Max 20 characters.

Delete a label

DELETE/v1/brands/:brand_id/labels/:label_id

Deletes a label. Posts with this label are not deleted — the label is simply removed from them. Requires labels:write.