Get campaigns
Use this endpoint to retrieve a paginated list of Campaigns with flexible filtering options. Use this when building a Campaign picker in your UI, syncing Campaigns to your system, or auditing existing Campaign configurations.
Filtering options
companyIdquery parameter - Company ID (when not inferable from the calling key)accountIdquery parameter - filter to Campaigns belonging to a specific Accounttypesquery parameter - comma-separated Campaign types (anniversary,birthday,schedule,marketing,oneOffs,newHire)sourcesquery parameter - comma-separated Campaign sources (dashboard,dashboard_ai,api_native,api_zapier,api_make,api_salesforce,api_ftp)statusesquery parameter - comma-separated Campaign statuses (e.g.draft,active,paused)fieldsquery parameter - comma-separated field projection. Valid values:id,name,createdAt,updatedAt,companyId,accountId,account,properties,giftsExpirationInDays,giftExpirationDate,type,source,status,customization,fullRequest-Sourceheader - source of the request
Pagination
skipquery parameter - number of records to skip (default0)limitquery parameter - max records per page (1-1000, default100)
Please note
- The response wraps Campaigns in a
resultsarray withskipandlimitechoed back.
Permissions
- Requires:
campaigns:read
Authorizations
Company Level Authentication
Company level authentication provides access to all resources under your company, including accounts, campaigns, gifts, and recipients.
Getting Your API Key
- Create an API Key: Use the
POST /v2/authentication/apiKeysendpoint to generate a new API key - Set Expiration: Choose from 30, 60, 90, or 180 days (default: 90 days)
- Optional mTLS: Enable mutual TLS for enhanced security
- 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_KEYAPI 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:
- Set
enforceMtls: truewhen creating the API key - Contact support to obtain your client certificates
- Use the mTLS endpoint:
https://mtls-api.snappy.com/public-api
Headers
Source of the request
api_native, api_zapier, api_salesforce, api_ftp, api_make "api_native"
Query Parameters
Company ID
^[A-Za-z0-9]{8,}$"12345678"
Account ID
^[A-Za-z0-9]{8,}$"a12bcd34"
Number of records to skip for pagination (use with limit for paging through results)
x >= 00
Limit returned campaigns
1 <= x <= 1000100
The types of campaigns that can be returned. comma-separated format without whitespace in between. valid values are: anniversary, birthday, schedule, marketing, oneOffs, newHire.
1The type of the campaign. valid values are: anniversary, birthday, schedule, marketing, oneOffs, newHire.
anniversary, birthday, schedule, marketing, oneOffs, newHire Filter by campaign sources
1The source of the campaign.
dashboard, dashboard_ai, api_native, api_zapier, api_make, api_salesforce, api_ftp Filter by campaign statuses
1The status of the campaign.
live, sent, draft, paused, pending, scheduled, archived, active The fields that can be returned for the campaign. comma-separated format without whitespace in between. valid values are: id, name, createdAt, updatedAt, companyId, accountId, account, properties, giftsExpirationInDays, giftExpirationDate, type, source, status, customization, full.
1The fields that can be returned for the campaign. valid values are: id, name, createdAt, updatedAt, companyId, accountId, account, properties, giftsExpirationInDays, giftExpirationDate, type, source, status, customization, full.
id, name, createdAt, updatedAt, companyId, accountId, account, properties, giftsExpirationInDays, giftExpirationDate, type, status, source, customization, full Response
Ok
List of campaigns with pagination info.
The campaigns of the company.
Number of records to skip for pagination (use with limit for paging through results)
x >= 00
Maximum number of records to return per page
1 <= x <= 10010