Wahlu API

Brands

Manage brands and their social media connections.

Brands represent your social media identities. Each brand can have multiple connected platforms (integrations). Most API endpoints require a brand_id to scope operations.

Required scope: brands:read

List brands

GET/v1/brands

Returns all brands in your workspace.

Query parameters

ParameterTypeDescription
pageintegerPage number. Defaults to 1.
limitintegerItems per page. Defaults to 50, max 100.

Example

curl
curl https://api.wahlu.com/v1/brands \
  -H "Authorization: Bearer wahlu_live_your_api_key_here"
Response
{
  "success": true,
  "data": [
    {
      "id": "brand_abc123",
      "name": "Acme Co",
      "description": "Social media agency",
      "logo_url": "https://storage.wahlu.com/logos/acme.png",
      "logo_light_url": null,
      "logo_dark_url": null,
      "timezone": "Europe/London",
      "website": "https://acme.co",
      "business_category": "Marketing",
      "brand_kit": null,
      "content_preferences": {
        "default_cta": "Visit acme.co",
        "logo_frequency": "always",
        "cta_frequency": "sometimes"
      },
      "image_posting": null,
      "video_posting": null,
      "created_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-02-01T14:20:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "has_more": false
  }
}

Get a brand

GET/v1/brands/:brand_id

Returns a single brand by ID.

curl
curl https://api.wahlu.com/v1/brands/brand_abc123 \
  -H "Authorization: Bearer wahlu_live_your_api_key_here"
Response
{
  "success": true,
  "data": {
    "id": "brand_abc123",
    "name": "Acme Co",
    "description": "Social media agency",
    "logo_url": "https://storage.wahlu.com/logos/acme.png",
    "logo_light_url": null,
    "logo_dark_url": null,
    "timezone": "Europe/London",
    "website": "https://acme.co",
    "business_category": "Marketing",
    "brand_kit": null,
    "content_preferences": {
      "default_cta": "Visit acme.co",
      "logo_frequency": "always",
      "cta_frequency": "sometimes"
    },
    "image_posting": null,
    "video_posting": null,
    "created_at": "2026-01-15T10:30:00Z",
    "updated_at": "2026-02-01T14:20:00Z"
  }
}

Response fields

ParameterTypeDescription
idstringUnique brand identifier.
namestringBrand display name.
descriptionstring | nullBrand description.
logo_urlstring | nullPrimary logo URL.
logo_light_urlstring | nullLogo for light backgrounds.
logo_dark_urlstring | nullLogo for dark backgrounds.
timezonestring | nullIANA timezone (e.g. Europe/London).
websitestring | nullBrand website URL.
business_categorystring | nullBusiness category.
brand_kitobject | nullBrand colours, fonts, and style guidelines.
content_preferencesobject | nullContent defaults (default_cta, logo_frequency, cta_frequency).
image_postingstring | nullImage posting preference.
video_postingstring | nullVideo posting preference.
created_atstringISO 8601 creation timestamp.
updated_atstringISO 8601 last-updated timestamp.