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.
The Campaign Object
| Field | Type | Description |
|---|
id | string | Unique identifier for the Campaign |
name | string | Display name of the Campaign |
status | string | Current status of the Campaign. See Campaign Statuses below |
type | string | Campaign type. The API only supports oneOffs — other campaign types available in the Snappy Dashboard cannot be created or managed via the API |
source | string | Indicates how the Campaign was created. API-created campaigns will always return api_native |
accountId | string | The ID of the Account this Campaign belongs to |
companyId | string | The ID of the Company this Campaign belongs to |
account | object | Expanded Account object containing id and name. Returned when using expand[]=account |
customization | object | Gift Customization configuration including gift properties, notification policy, and recipient experience. See Core Concepts & Data Models → Gift Customization |
createdAt | string | ISO 8601 timestamp of when the Campaign was created |
updatedAt | string | ISO 8601 timestamp of the last update |
Campaign Statuses
| Status | Description |
|---|
active | The Campaign is live and gifts can be created under it |
paused | The Campaign has been temporarily paused. No new gifts can be created |
completed | The Campaign has ended. No new gifts can be created |
draft | The 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.
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:
Retrieving Campaigns
To retrieve a list of all Campaigns available to your API key:
To retrieve a specific Campaign by 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.
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