List addable cards
GET/openapi/2026-01/themes/cards
List all addable cards under the current theme across sources (theme, pb, custom,
extension, public, gen), de-duplicated, ordered by source, and paginated.
Request
Query Parameters
theme: cards bundled with the themepb: page-builder cards from public templatescustom: page-builder cards from the merchant's custom card templatesextension: app extension cardspublic: public cardsgen: AI cards
Theme ID. Optional; only used by the theme source. Empty -> the theme source returns empty
Data source filter. Multi-value (repeat the param source=pb&source=public, or comma-join
source=pb,public); empty aggregates every source:
Primary category filter. Only applies to the pb source
Secondary category filter. Only applies to the pb source
Page size, defaults to 10, range 1-100
Page number
Template filter. Template name (index, product, collection, cart, page, search, or a
custom template name)
Responses
- 200
OK
- application/json
- Schema
- Example
Schema
- Array [
theme: cards bundled with the themepb: page-builder cards from public templatescustom: page-builder cards from the merchant's custom card templatesextension: app extension cardspublic: public cardsgen: AI cards- ]
error code
error message
data object
items object[]
Cards on this page
Global unique ID, shaped by source: pb = global-<template_id>; custom =
custom-<template_id>; theme = the section type; extension / public = the full block
type shoplazza://apps/<app_id>/blocks/<location>/<extension_id>
Source:
Name. Usually a multi-language object {"zh-CN": "...", "en-US": "..."}, but may be a plain string depending on source
Primary category (pb only)
Secondary category (pb only)
Description (currently empty for all sources)
Preview image URL (pb only)
Update time RFC3339 (pb only)
Templates the card can be added to. Non-empty = only these template pages; empty = all pages
Max instances of this card on a single page. 0 = unlimited
Total number of cards across the selected sources
Current page number
Page size
Whether more pages exist
{
"code": "string",
"message": "string",
"data": {
"items": [
{
"id": "string",
"source": "string",
"category": "string",
"second_category": "string",
"description": "string",
"preview_image": "string",
"updated_at": "string",
"templates": [
"string"
],
"limit": 0
}
],
"total": 0,
"page": 0,
"limit": 0,
"has_more": true
}
}