Skip to main content

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.

A Campaign is the primary organizational object for configuring and sending gifts. It acts as a reusable template that defines all the settings for a gifting activity — including the gift type, budget, branding, notification messages, and billing. Every gift in Snappy must be created within a Campaign. You cannot send a gift without one.
Want to understand how Campaigns fit into the bigger picture? Check out the Core Concepts & Data Models page.

The Campaign Object

FieldTypeDescription
idstringUnique identifier for the Campaign
namestringDisplay name of the Campaign
statusstringCurrent status of the Campaign. See Campaign Statuses below
typestringCampaign type. The API only supports oneOffs — other campaign types available in the Snappy Dashboard cannot be created or managed via the API
sourcestringIndicates how the Campaign was created. API-created campaigns will always return api_native
accountIdstringThe ID of the Account this Campaign belongs to
companyIdstringThe ID of the Company this Campaign belongs to
accountobjectExpanded Account object containing id and name. Returned when using expand[]=account
customizationobjectGift Customization configuration including gift properties, notification policy, and recipient experience. See Core Concepts & Data Models → Gift Customization
createdAtstringISO 8601 timestamp of when the Campaign was created
updatedAtstringISO 8601 timestamp of the last update

Campaign Statuses

StatusDescription
activeThe Campaign is live and gifts can be created under it
pausedThe Campaign has been temporarily paused. No new gifts can be created
completedThe Campaign has ended. No new gifts can be created
draftThe Campaign is being configured and is not yet ready to send gifts

Key Concepts & Business Rules

Every gift requires a Campaign A Campaign must exist before any gifts can be created. It provides the context, budget, and configuration for every gift sent within it. Collection or Product — not both A Campaign is configured with either a Collection (recipient chooses from a catalog) or a specific Product (a predetermined item). These are mutually exclusive — you cannot assign both to the same Campaign. Billing Method Each Campaign is assigned exactly one Billing Method at creation. This is the funding source that will be debited each time a gift is sent under this Campaign. If the Billing Method has insufficient funds, gift creation will fail. When a Campaign is created via the API, it is automatically assigned the Account’s default Billing Method. When created via the Dashboard, you can select any active Billing Method on the Account. Gift Customization inheritance Campaigns inherit Gift Customization defaults from their parent Account and Company. Any settings defined at the Campaign level override the Account defaults and apply to all gifts created under this Campaign, unless overridden again at the individual Gift level.
See Core Concepts & Data Models → Gift Customization for the full inheritance model.

How to Work with Campaigns

Creating a Campaign Campaigns can be created via the Snappy Dashboard or programmatically via the API. For most use cases we recommend creating Campaigns in the Dashboard, where you can configure Gift Customization settings visually and preview the recipient experience. To create a Campaign via the API:
POST /campaigns
Retrieving Campaigns To retrieve a list of all Campaigns available to your API key:
GET /campaigns
To retrieve a specific Campaign by ID:
GET /campaigns/{id}
Updating a Campaign Campaign settings can be updated after creation. Note that changes to Gift Customization settings on a Campaign will apply to all gifts created after the update — previously created gifts are not affected.
PATCH /campaigns/{id}
Estimating the Campaign Cost Before launching a Campaign, you can retrieve an estimated cost based on the configured budget and recipient count:
GET /campaigns/{id}/estimated-cost
Last modified on April 30, 2026