One Product Catalog API, Every Storefront in Sync
TL;DR: A product catalog API should do more than park files in a bucket. With Playbook you build a visual product catalog where every product image carries typed metadata (SKU, price, status, campaign), stays searchable, and ships to any storefront, app, or channel over a CDN. Bulk-ingest images with their fields attached, filter by SKU or category server-side, then publish a hosted catalog or fetch the data and render your own grid. One source of truth for product visuals, addressable over REST.
Your product images already live in four places. A designer's drive, a shared folder, the CMS, and whatever your agency sent last week. Every storefront pulls a slightly different version, and nobody can say which one is current. That is not a storage problem. It is a missing backend.
Treat the catalog like data instead. Point the Playbook API at your images, attach the metadata your team already tracks, and let one library answer for every surface that renders a product.
The image and its SKU belong in the same record
In Playbook, a product image and its SKU live in the same record, not in two systems you reconcile at 2am. Custom fields attach typed metadata to every asset: a Status, a price, a campaign name, a category, any option list your catalog runs on. You set those fields at upload time, in bulk, straight from the ingest call.
The payoff is that the metadata travels with the pixels. When a downstream app pulls an image, it pulls the SKU, the price, and the approval state in the same response. No join table, no second lookup, no drift between the picture and the facts about it.
The library already knows your SKUs
Generic AI tagging knows "bottle" and "smiling." It does not know SKU 4471-B. Playbook's custom trained tags close that gap: teach the library your own labels once, and its SKU detection finds every asset they belong on, each candidate ranked by confidence for you to approve. Thousands of legacy shots get sorted against your real catalog without a human touching each file.
Dyla Brands runs this at portfolio scale. The CPG group manages 12+ drink-mix brands and 15,000+ assets across a 60-person team. "What is this magic? It's so easy," said Senior Design Manager Emma Madia.
Deliver from a CDN, not a download link
Every asset exposes a display_url served through a CDN, so a caller drops it straight into an <img src>, a storefront template, or a native app. For images you can request a width and height and get a resized rendition on the fly, no build step, no re-export. Publish a board and Playbook hands back a hosted catalog URL. Or fetch the assets and render your own grid from the same data. Either way the pixels come from one place.
What powers it
The whole flow is four REST calls, authenticated with Authorization: Bearer $PLAYBOOK_TOKEN. Full walkthrough in the product catalog example.
POST /v1/$ORG/boardscreates the collection.POST /v1/$ORG/assets/batch_create_from_urlsbulk-ingests product images with theirfields(SKU, price, category) attached in one shot.GET /v1/$ORG/boards/$BOARD/assetsreturns each product with itsfieldsanddisplay_url, paginated atper_page=100.POST /v1/$ORG/boards/$BOARD/publishreturns a public, hosted catalog URL.- Custom fields become filterable facets, so category and price filtering happens server-side.
- Custom trained tags + SKU detection map your archive to your real catalog.
- CDN permalinks give any asset a permanent, resizable public URL.
Developer FAQ
Which endpoints build the catalog? Four: boards to create the collection, assets/batch_create_from_urls to ingest images with metadata, boards/$BOARD/assets to read products back with their fields and CDN URL, and boards/$BOARD/publish for a hosted page. Everything is REST, bearer-token authenticated.
How do I attach a SKU to a product image? Pass a fields object on the batch-create call. Those custom fields are typed (status, price, campaign, category) and become filterable facets, so the SKU is queryable, not just stored as a caption.
Can I serve images without exposing my workspace? Yes. Each asset's display_url is CDN-delivered, and permalinks mint a permanent public URL you can hotlink anywhere, with on-the-fly resizing for images. Do not permalink a confidential asset, since the file becomes public.
Which plan do I need for API access? REST API access is on paid plans, with call volumes that scale by tier (50K per month on Pro up to millions on higher tiers, and CDN links from Pro at the time of writing). Confirm current limits on the pricing page.
Give your product visuals one source of truth. Bring your own storefront, keep your own stack, and let the catalog answer over an API. Schedule a demo and point it at your real SKUs.