Skip to main content
GET
/
v2
/
variants
/
{variantId}
Get variant by ID
curl --request GET \
  --url https://api.snappy.com/public-api/v2/variants/{variantId} \
  --header 'X-Api-Key: <api-key>'
{
  "id": "abc12345",
  "title": "Product Title",
  "category": "Electronics",
  "variants": [
    {
      "id": "ab6789cd",
      "description": "Variant description"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.snappy.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-Api-Key
string
header
required

Company Level Authentication

Company level authentication provides access to all resources under your company, including accounts, campaigns, gifts, and recipients.

Getting Your API Key

  1. Create an API Key: Use the POST /v2/authentication/apiKeys endpoint to generate a new API key
  2. Set Expiration: Choose from 30, 60, 90, or 180 days (default: 90 days)
  3. Optional mTLS: Enable mutual TLS for enhanced security
  4. Name Your Key: Provide a descriptive name for easy identification

Using Your API Key

Include your API key in the X-Api-Key header for every request:

X-Api-Key: YOUR_24_CHARACTER_API_KEY

API Key Management

  • Maximum Keys: Up to 3 active API keys per company
  • Rotation: Delete old keys before creating new ones when at the limit
  • Security: Keys are hashed and cannot be retrieved after creation

Enhanced Security (mTLS)

For production environments, enable mutual TLS authentication:

  1. Set enforceMtls: true when creating the API key
  2. Contact support to obtain your client certificates
  3. Use the mTLS endpoint: https://mtls-api.snappy.com/public-api

Headers

Request-Source
enum<string>

Source of the request

Available options:
api_native,
api_zapier,
api_salesforce,
api_ftp,
api_make
Example:

"api_native"

Path Parameters

variantId
string
required

Variant ID

Pattern: ^[A-Za-z0-9]{8,}$
Example:

"ab6789cd"

Query Parameters

companyId
string

Company ID

Pattern: ^[A-Za-z0-9]{8,}$
Example:

"12345678"

country
string
fields
enum<string>[]

List of additional fields to include in response objects

Minimum array length: 1

The fields to return additionally in response. Valid values are: mediaItems, tags, brand, optionAttributes, notices, pricing, supportedCountries, full.

Available options:
mediaItems,
tags,
brand,
optionAttributes,
notices,
pricing,
supportedCountries,
full
Example:
["full"]

Response

Successful response

Response containing variant details.

id
string

Product ID

Example:

"abc12345"

title
string

Product title

Example:

"Product Title"

category
string

Product category

Example:

"Electronics"

brand
object

Brand information for a product.

Example:
{
  "id": "abCd57eFG0",
  "name": "Brand Name",
  "description": "Brand Description"
}
coverImage
object

Media item for a product.

Example:
{
  "position": 1,
  "type": "image",
  "publicCloudinaryId": "bnxjv94tmzq1w8eplk73ua_picture-1.png",
  "src": "https://example.com/bnxjv94tmzq1w8eplk73ua_picture-1.png"
}
options
object

Product options and attributes.

Example:
{
  "takeYourPick": "Rainbow Bagel Making Kit",
  "color": "Black",
  "size": "S",
  "scent": "Lavender",
  "flavor": "Chocolate",
  "beverageType": "Coffee"
}
tags
object[]

Product tags

variants
object[]

Product variants

types
enum<string>[]

Product types

The type of product.

Available options:
digital,
physical,
base-product-swag,
on-demand-swag,
on-demand-plus-swag,
premium-swag,
experience,
personalized
mediaItems
object[]

Product media items

notices
object

Product notices

Example:
{
  "shipping": "Ships within 3-5 business days",
  "warranty": "1 year warranty"
}
Last modified on April 16, 2026