Skip to main content
A Collection is a curated catalog of gift items tailored to a specific theme, budget range, and audience (e.g. “Birthday Gifts Under $50”). The gift recipient then chooses their preferred item directly from this collection.
Want to understand how Collections fit into the bigger picture? Check out the Core Concepts & Data Models page.
Looking for the V3 endpoint that returns Products within a Collection? See Collections (V3) for GET /v3/collections/{collectionId}/products with JSON:API filtering, cursor pagination, and the V3 response envelope.

The Collection Object

FieldTypeDescription
idstringUnique identifier for the Collection
namestringDisplay name of the Collection
typesarrayThe category of items in this Collection. Possible values: gifts, swag, local experiences, custom
coverImagestring (nullable)URL of the Collection’s cover image, used for display in campaign setup and recipient experience
thumbnailsarray (nullable)List of URLs of thumbnail images representing items within the Collection
createdBystring (nullable)The team or user who created the Collection
createdAtstring (ISO 8601)When the Collection was created
updatedAtstring (ISO 8601, nullable)When the Collection was last updated

Paginated Response

The Collections list endpoint returns a paginated response with the following envelope:
FieldTypeDescription
resultsarrayThe list of Collection objects returned for the current page
skipnumberThe number of items skipped from the start of the list
limitnumberThe maximum number of items returned per page. Default and maximum is 100
For details on how to paginate through large result sets, see Request & Response Standards → Pagination.

Key Concepts & Business Rules

Collections are read-only via the API

Collections available to your Account are curated by Snappy or created via the Snappy Dashboard. You cannot create or modify Collections through the API - only retrieve them.

Collection types

The types field indicates the category of items within the Collection. This can be useful for filtering Collections when configuring a Campaign for a specific use case - for example, selecting only swag Collections for a branded merchandise campaign.

Swag Collections require accountId

Swag Collections are scoped to specific Accounts. To retrieve them, you must include the accountId parameter on the list endpoint - they will not appear without it.

Two scopes, depending on what you call

The Collections endpoints split across two permission scopes:
  • collections:read - list Collections and retrieve budget ranges (GET /v2/collections, GET /v2/collections/budgets)
  • products:read - retrieve products within a Collection or count them (GET /v2/collections/{id}/products, GET /v2/collections/{id}/products/{productId}, GET /v2/collections/{id}/products/count)
Make sure your API key carries both scopes if your integration browses Collections and their products.

Assigning a Collection to a Campaign

To use a Collection in a gifting flow, assign its id to a Campaign. Recipients will then browse and select from that Collection when they claim their gift.
A Campaign is assigned either a Collection or a specific Product - not both. See Campaigns for details.

How to Work with Collections

List Collections Search for and retrieve a list of available Collections based on your specified criteria:
GET /v2/collections
Filtering options:
  • Budget value (required)
  • Supported countries
  • Collection types (e.g. gifts, swag, local experiences, custom)
  • Account ID (required for Swag Collections)
Retrieve Collection Budget Ranges Retrieve the available minimum and maximum budget ranges for Collections - useful for determining the price points available to recipients before configuring a Campaign:
GET /v2/collections/budgets
Filtering options:
  • Collection type (required)
  • Collection ID
  • Supported countries
List Products within a Collection Retrieve a list of products available within a specific Collection:
GET /v2/collections/{collectionId}/products
Filtering options:
  • Budget range (min/max - both required)
  • Country
Get a Specific Product from a Collection Retrieve a specific product from a specific Collection by ID:
GET /v2/collections/{collectionId}/products/{productId}
The Product objects returned in this response follow the standard Product schema. See Products & Variants for the full object structure.
Count Products in a Collection Retrieve the number of products available within a specific Collection - useful for display purposes or pagination planning before fetching the full product list:
GET /v2/collections/{collectionId}/products/count
Last modified on June 18, 2026