Update campaign by ID
Use this endpoint to update the settings of an existing Campaign, including its Gift Customization configuration. Changes apply only to gifts created after the update - previously created gifts are not affected.
Required fields:
campaignId- the Campaign identifier, passed as a path parameter
Optional fields: (in request body)
name- new display name of the Campaign (must be unique within the Company)status- Campaign lifecycle status. Allowed values via API:active,paused,archivedcustomization- updated Gift Customization configuration. The entirecustomizationobject must be provided when updating.
Optional parameters:
companyIdquery parameter - Company ID (when not inferable from the calling key)Request-Sourceheader - source of the request
Behavior Notes:
- Only
active,paused, andarchivedstatus transitions are allowed via the API. Other status changes (draft→pending→scheduledetc.) are managed by Snappy automatically or via the Dashboard. - Returns
404if the Campaign doesn’t exist. - Returns
409when renaming the Campaign to a name that already exists in the Company. - Returns
422when the requested update conflicts with business rules (e.g. updating asentorarchivedCampaign).
Permissions
- Requires:
campaigns:update
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"
Path Parameters
Campaign ID
^[A-Za-z0-9]{8,}$"abcd1234"
Query Parameters
Company ID
^[A-Za-z0-9]{8,}$"12345678"
Body
Request body for updating a campaign.
The name of the campaign.
"New campaign name"
The status of the campaign.
active, paused, archived "active"
Configuration options for customizing the campaign. The entire customization object must be provided when updating.
Response
Campaign updated
Campaign details including configuration and customization.
The id of the campaign.
"abcd1234"
The date when the campaign was created.
"2021-01-01T00:00:00.000Z"
The date when the campaign was last updated.
"2021-01-01T00:00:00.000Z"
The name of the campaign.
"Campaign Name"
The id of the account.
"a12bcd34"
The id of the company.
"A1b2C3d4"
The status of the campaign.
live, sent, draft, paused, pending, scheduled, archived, active "draft"
The source of the campaign.
dashboard, dashboard_ai, api_native, api_zapier, api_make, api_salesforce, api_ftp "api_native"
The account of the campaign.
The type of the campaign. valid values are: anniversary, birthday, schedule, marketing, oneOffs, newHire.
anniversary, birthday, schedule, marketing, oneOffs, newHire "oneOffs"
The number of days until the gifts will expire. The default value is 30 days.
30
The date when the gift will expire. Date Format: YYYY-MM-DDThh:mm:ss.sZ.
The properties of the campaign.
Campaign customization defines the entire gift recipient experience. It includes budget parameters, collection or product selection, expiration settings, notification methods, and visual presentation elements that create a cohesive branded experience.