Skip to main content
Swag in Snappy refers to branded merchandise - items like t-shirts, mugs, hats, and notebooks that customers apply their own logo or design to. The V3 Swag API exposes this catalog through Base Products and Base Variants. For the standard Product and Variant model, see Products and Variants. A Base Product is a swag template - the unbranded item from which customized swag is derived (e.g. “standard cotton t-shirt”). Base Products are the swag-catalog counterpart to standard Products. A Base Variant is a specific orderable version of a Base Product (e.g. “Standard cotton t-shirt, Medium, Navy”). Base Variants are the swag counterpart to standard Variants - and as with the marketplace catalog, the variant is the orderable unit.
Looking to create and manage a fully branded store? See the separate Swag Store API.

The Base Product Object


The Base Variant Object

A Base Variant represents a specific, orderable version of a Base Product. When placing a swag order you must always specify the variant ID - the Base Product id alone is not sufficient.

Key Concepts & Business Rules

Swag Base Products vs standard Products

V3 exposes two related endpoint families: The endpoint families use different response schemas and are not interchangeable.

Base Product → Base Variant → Order

The flow mirrors the marketplace flow: browse Base Products, drill into the Base Variants for the one you want, and place an order specifying the variant.

Pagination

Base Product and Base Variant list endpoints use page-number pagination (page[number], page[size]): See Request & Response Standards for the full V3 pagination contract.

Filtering

The Base Product list endpoint supports these JSON:API-style filters:
  • filter[brandId] - comma-separated brand IDs
  • filter[brandName] - case-insensitive brand name search
  • filter[tagId] - comma-separated tag UUIDs
  • filter[title] - case-insensitive title search
  • filter[id] - comma-separated Base Product UUIDs
  • filter[color] - comma-separated color titles
  • filter[size] - comma-separated size titles
  • filter[printingTechnique] - comma-separated printing-technique names
Multiple values within a filter use OR semantics. Unknown filter keys return 400.

Location

All Base Product and Base Variant requests require a supported ISO 3166-1 alpha-2 location query parameter.

Account scoping

All Base Product and Base Variant requests require the Snappy-Account-Id header.

Permissions

All Base Product and Base Variant endpoints require the products:read scope on your API key.

How to Work with Swag

List base products
Returns a paginated list of Base Products. Use include=brand,tags for related entities and fields=options for aggregated variant options. Get a single base product
Returns one Base Product. This endpoint supports the same include and fields expansions as the list endpoint. List base variants for a base product
Returns a paginated list of Base Variants. This endpoint does not accept include or fields. Get a single base variant
Returns one Base Variant. This endpoint does not accept include or fields.
Last modified on October 12, 2026