Skip to Content
APIEndpointsList brands

List brands

Returns the brands the key is allowed to read. Every other brand-scoped endpoint needs a brand_id from here, so this is usually the first call an integration makes.

The workspace is taken from the key and is never a parameter. If the key was restricted to specific brands when it was minted, only those appear, so what this returns is exactly what the rest of the surface will accept. Discovery never advertises a brand a later call would refuse.

GET /v1/brands

Authorization

HeaderTypeRequired
AuthorizationBearer asky_sk_…required

Query parameters

ParameterTypeRequiredDescription
limitintegeroptionalRows per page, 1 to 100. Defaults to 20.
cursorstringoptionalOpaque cursor from the previous response. Treat it as a token, never construct one.

Request

curl --request GET \ --url 'https://api.askylabs.com/v1/brands' \ --header 'Authorization: Bearer <api-key>'

Response

{ "data": [ { "id": "242546de-4cee-4a7d-952e-f6aa60c63ef8", "name": "Asky", "workspace_id": "68e1802b-676c-4b59-8da2-2b77b940d7fa", "is_active": true, "primary_domain": "getasky.com", "website": "https://getasky.com", "created_at": "2025-11-12T18:42:40.013749+00:00", "updated_at": "2026-08-12T12:44:49.600172+00:00" } ], "pagination": { "limit": 20, "has_more": true, "next_cursor": "eyJ2IjoxLCJvIjoyMCwibCI6MjB9" }, "request_id": "req_d13b43bb10214693888b" }

Response fields

FieldTypeDescription
data.brandsobject[]required. The brands this key can reach
data.brands[].iduuidrequired. Use as brand_id on every brand-scoped endpoint
data.brands[].namestringrequired. Display name
data.brands[].workspace_iduuidrequired. Owning workspace
data.brands[].is_activebooleanrequired. An inactive brand stops being monitored but keeps its history
data.brands[].primary_domainstring | nullApex domain, for example getasky.com
data.brands[].websitestring | nullprimary_domain with its protocol. null when no domain is set
data.brands[].created_attimestamptzrequired
data.brands[].updated_attimestamptzrequired
data.countintegerrequired. Number of brands returned
request_idstringrequired. Also returned as the x-request-id header. Quote it when contacting support

Errors

StatusCodeWhen
401invalid_tokenThe key is missing, malformed, or does not exist
401token_expiredThe key passed its expiry date. Roll it in Settings to get a replacement
401token_revokedThe key was revoked
429rate_limitedOver 300 requests per minute. See the Retry-After header

Notes

Not paginated. A workspace holds a small, bounded number of brands, so the full list comes back in one response.

Last updated on