Versioning and changelog
The API version is in the path. Additive changes ship into v1; a breaking change would ship as a new version. What changed, and when.
How versioning works#
The version is part of every path: /api/brand/v1. Within a version, these changes can arrive at any time, so write your integration to tolerate them:
- New endpoints.
- New attributes on a response object.
- New optional query parameters.
- New values in an enum, such as a new order status.
Removing or renaming an attribute, changing its type, or making an optional parameter required is a breaking change. It would ship in a new version, alongside the old one, never into v1.
Changelog#
v1, October 2026#
The first version of the Brand API: authenticated, read-only, one brand per key, with 14 endpoints across analytics, orders, opportunities, content, roster, recommendations, gifts, discount codes and surveys.
Retired endpoints#
v1 replaced the keyless public recommendations feeds. They answer 410 Gone, with no CORS headers.
| Retired | Use instead |
|---|---|
GET /api/public/brands/:partner_id/recommendations | GET /api/brand/v1/recommendations |
GET /api/brands/:domain/recommendations | GET /api/brand/v1/recommendations |
To move over:
- Create a key with the
recommendations:readscope. - Move the call from the browser to your server, since keys never go in a browser.
- Read
dataas the array: each item is one host, withhost,product_countandproducts. Pagination moved fromdata.paginationto the top-levelpagination, the host photo is nowhost.profile_photo, andbrandandtotalsare gone (GET /mereturns the brand). - Render the result into your page, or cache it and serve it from your own endpoint. See Recommendations.
- RecommendationsHosts recommending your products on their public gear lists, with their notes and a host-attributed link per product. Built to render on your site.