List a brand's attribute definitions
The vocabulary a catalog is described in. scope says whether values live on the product or per variant; extract says whether enrichment may write it.
Authorization
apiKey Your API key. X-Api-Key: <key> is accepted as an alternative.
A key belongs to an organization, not a user, so it outlives whoever created it. It carries two independent things, and both are checked: an org role (a member key cannot approve a publish or activate a mapping) and a set of scopes — catalog:read, catalog:write, enrichment:write, publishing:read, publishing:write, org:read, org:write. Holding a scope does not grant a role, and holding a role does not grant a scope.
GET /v1/me returns both for the key you are holding.
In: header
Path Parameters
The brand to read.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/v1/brands/string/attributes"{ "data": [ null ]}Read a brand's activity feed GET
What happened to this catalog: imports, enrichment runs, publishes. Newest first, capped at 100.
Create an attribute definition POST
Adds a column to the brand's vocabulary. The `key` is derived from the name and returned — it is what product values join on, so it is assigned once and **never changes on a rename**. A name whose key is taken gets a numeric suffix (`fabric_weight_2`), because two attributes named the same must still be two columns. Hand-authored attributes are product-scoped. Variant scope is evidence the importer reads off the source's variant array, not a choice.