Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Klaviyo Campaigns API

campaigns

Klaviyo Campaigns API is one of 23 APIs that Klaviyo publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Campaigns. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an AsyncAPI specification, an API reference, authentication docs, and rate-limit docs.

This API exposes 26 operations across 20 paths, and defines 110 schemas. It is described by OpenAPI 3.0.2, at version 2026-04-15.

Requests are made against a single base URL, https://a.klaviyo.com.

26 operations 20 paths 110 schemas 1 DELETE16 GET4 PATCH5 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.2
API Version
2026-04-15
Base URL
https://a.klaviyo.com
Authentication
API Key
License
Terms of Service
Resource Areas
1

Authentication & Security 1

Klaviyo Campaigns API declares 1 security scheme for authenticating requests. An API key is passed in the header as Authorization (Klaviyo-API-Key). By default, every request must be authenticated.

  • Klaviyo-API-Key — Private key authentication for /api/ endpoints is performed by setting the Authorization header to Klaviyo-API-Key your-private-api-key For more information pl…

Paths & Operations 26

Across 20 paths, the API surfaces 26 operations — 1 DELETE, 16 GET, 4 PATCH, 5 POST. Each is listed below with its method, path, parameters, and response codes.

Campaigns 26

campaigns

GET
/api/campaigns
Get Campaigns
get_campaigns 9 params → 2004XX5XX
POST
/api/campaigns
Create Campaign
create_campaign 1 param body → 2014XX5XX
GET
/api/campaigns/{id}
Get Campaign
get_campaign 6 params → 2004XX5XX
PATCH
/api/campaigns/{id}
Update Campaign
update_campaign 2 params body → 2004XX5XX
DELETE
/api/campaigns/{id}
Delete Campaign
delete_campaign 2 params → 2044XX5XX
GET
/api/campaign-messages/{id}
Get Campaign Message
get_campaign_message 7 params → 2004XX5XX
PATCH
/api/campaign-messages/{id}
Update Campaign Message
update_campaign_message 2 params body → 2004XX5XX
GET
/api/campaign-send-jobs/{id}
Get Campaign Send Job
get_campaign_send_job 3 params → 2004XX5XX
PATCH
/api/campaign-send-jobs/{id}
Cancel Campaign Send
cancel_campaign_send 2 params body → 2044XX5XX
GET
/api/campaign-recipient-estimation-jobs/{id}
Get Campaign Recipient Estimation Job
get_campaign_recipient_estimation_job 3 params → 2004XX5XX
GET
/api/campaign-recipient-estimations/{id}
Get Campaign Recipient Estimation
get_campaign_recipient_estimation 3 params → 2004XX5XX
POST
/api/campaign-clone
Create Campaign Clone
create_campaign_clone 1 param body → 2014XX5XX
POST
/api/campaign-message-assign-template
Assign Template to Campaign Message
assign_template_to_campaign_message 1 param body → 2004XX5XX
POST
/api/campaign-send-jobs
Send Campaign
send_campaign 1 param body → 2024XX5XX
POST
/api/campaign-recipient-estimation-jobs
Refresh Campaign Recipient Estimation
refresh_campaign_recipient_estimation 1 param body → 2024XX5XX
GET
/api/campaign-messages/{id}/campaign
Get Campaign for Campaign Message
get_campaign_for_campaign_message 3 params → 2004XX5XX
GET
/api/campaign-messages/{id}/relationships/campaign
Get Campaign ID for Campaign Message
get_campaign_id_for_campaign_message 2 params → 2004XX5XX
GET
/api/campaign-messages/{id}/template
Get Template for Campaign Message
get_template_for_campaign_message 3 params → 2004XX5XX
GET
/api/campaign-messages/{id}/relationships/template
Get Template ID for Campaign Message
get_template_id_for_campaign_message 2 params → 2004XX5XX
GET
/api/campaign-messages/{id}/image
Get Image for Campaign Message
get_image_for_campaign_message 3 params → 2004XX5XX
GET
/api/campaign-messages/{id}/relationships/image
Get Image ID for Campaign Message
get_image_id_for_campaign_message 2 params → 2004XX5XX
PATCH
/api/campaign-messages/{id}/relationships/image
Update Image for Campaign Message
update_image_for_campaign_message 2 params body → 2044XX5XX
GET
/api/campaigns/{id}/tags
Get Tags for Campaign
get_tags_for_campaign 3 params → 2004XX5XX
GET
/api/campaigns/{id}/relationships/tags
Get Tag IDs for Campaign
get_tag_ids_for_campaign 2 params → 2004XX5XX
GET
/api/campaigns/{id}/campaign-messages
Get Messages for Campaign
get_messages_for_campaign 7 params → 2004XX5XX
GET
/api/campaigns/{id}/relationships/campaign-messages
Get Message IDs for Campaign
get_message_ids_for_campaign 2 params → 2004XX5XX

Schemas 110

The contract defines 110 schemas that model the data the API accepts and returns. The most detailed are EmailContentSubObject (7 properties), EmailContent (7 properties), CampaignResponseObjectResource (5 properties), TagResponseObjectResource (5 properties). Each schema is shown below with its type and property counts.

CampaignMessageIncrement
object
1 property 1 required
CampaignMessageCreateQueryResourceObject
object
3 properties 2 required
MobilePushOptions
object
3 properties
ImageResponseObjectResource
object
4 properties 4 required
CampaignPartialUpdateQueryResourceObject
object
3 properties 3 required
StaticSendStrategy
object
3 properties 2 required
CampaignMessageEnum
string
SMSContentCreate
object
1 property
GetTagResponseCollection
object
2 properties 1 required
ListEnum
string
GetCampaignResponseCompoundDocument
object
3 properties 1 required
CampaignMessageAssignTemplateQueryResourceObject
object
3 properties 3 required
PushSendOptions
object
1 property
GetCampaignMessageCampaignRelationshipResponse
object
2 properties 1 required
Audiences
object
2 properties 1 required
GetCampaignMessageResponseCollectionCompoundDocument
object
3 properties 1 required
CampaignMessageResponseObjectResource
object
5 properties 4 required
CampaignRecipientEstimationJobCreateQueryResourceObject
object
2 properties 2 required
StaticTrackingParam
object
3 properties 3 required
ObjectLinks
object
1 property 1 required
EmailContentSubObject
object
7 properties
ABTestSendStrategy
object
1 property 1 required
TagEnum
string
SMSContent
object
2 properties
GetCampaignResponse
object
2 properties 1 required
SendTime
object
2 properties 2 required
CampaignMessagePartialUpdateQueryResourceObject
object
4 properties 3 required
SMSContentSubObject
object
2 properties
PostCampaignSendJobResponse
object
2 properties 1 required
MobilePushNoBadge
object
1 property 1 required
CampaignCreateQuery
object
1 property 1 required
CampaignResponseObjectResource
object
5 properties 4 required
PatchCampaignMessageResponse
object
2 properties 1 required
EmailContent
object
7 properties
SMSMessageDefinitionCreate
object
3 properties 1 required
CampaignMessageStaticCount
object
2 properties 2 required
ImageEnum
string
MobilePushMessageStandardDefinitionUpdate
object
5 properties 1 required
CampaignMessageAssignTemplateQuery
object
1 property 1 required
GetCampaignMessageResponseCompoundDocument
object
3 properties 1 required
MobilePushMessageStandardDefinitionCreate
object
5 properties 2 required
RenderOptionsSubObject
object
4 properties
GetTemplateResponse
object
2 properties 1 required
FlowEnum
string
CampaignEnum
string
LocalStaticSend
object
2 properties 1 required
MobilePushContentUpdate
object
4 properties
MobilePushContent
object
4 properties
CampaignCloneQuery
object
1 property 1 required
AudiencesUpdate
object
2 properties
PostCampaignRecipientEstimationJobResponse
object
2 properties 1 required
PatchCampaignResponse
object
2 properties 1 required
CampaignRecipientEstimationJobEnum
string
GetCampaignMessagesRelationshipsResponseCollection
object
2 properties 1 required
RelationshipLinks
object
2 properties 2 required
MobilePushMessageSilentDefinition
object
3 properties 2 required
CampaignMessageProperty
object
2 properties 2 required
GetCampaignMessageTemplateRelationshipResponse
object
2 properties 1 required
GetCampaignResponseCollectionCompoundDocument
object
3 properties 1 required
MobilePushMessageSilentDefinitionUpdate
object
3 properties 1 required
CampaignRecipientEstimationJobResponseObjectResource
object
4 properties 4 required
CampaignRecipientEstimationEnum
string
EmailSendOptions
object
1 property
CampaignCloneQueryResourceObject
object
3 properties 3 required
SMSMessageDefinition
object
3 properties 1 required
TagResponseObjectResource
object
5 properties 4 required
PushOnOpenApp
object
1 property 1 required
SmartSendTimeStrategy
object
2 properties 2 required
MobilePushMessageSilentDefinitionCreate
object
3 properties 1 required
SegmentEnum
string
MobilePushContentCreate
object
4 properties 1 required
PushOnOpenDeepLink
object
3 properties 1 required
TagGroupEnum
string
PushActionButtonDefinition
object
4 properties 2 required
GetCampaignRecipientEstimationResponse
object
2 properties 1 required
CampaignSendJobPartialUpdateQueryResourceObject
object
3 properties 3 required
EmailMessageDefinition
object
3 properties 1 required
CampaignRecipientEstimationResponseObjectResource
object
4 properties 4 required
ThrottledSendStrategy
object
3 properties 3 required
CampaignSendJobResponseObjectResource
object
4 properties 4 required
CampaignMessageImageUpdateQuery
object
1 property 1 required
SMSSendOptions
object
1 property
PostCampaignResponse
object
2 properties 1 required
CampaignsEmailTrackingOptions
object
4 properties
CampaignRecipientEstimationJobCreateQuery
object
1 property 1 required
UnsupportedSendStrategy
object
1 property 1 required
CampaignMessagePartialUpdateQuery
object
1 property 1 required
RenderOptions
object
4 properties
GetCampaignMessageImageRelationshipResponse
object
2 properties 1 required
GetImageResponse
object
2 properties 1 required
MobilePushMessageStandardDefinition
object
5 properties 3 required
TemplateEnum
string
CampaignPartialUpdateQuery
object
1 property 1 required
CampaignCreateQueryResourceObject
object
2 properties 2 required
GetCampaignTagsRelationshipsResponseCollection
object
2 properties 1 required
PostCampaignMessageResponse
object
2 properties 1 required
GetCampaignRecipientEstimationJobResponse
object
2 properties 1 required
CampaignSendJobCreateQueryResourceObject
object
2 properties 2 required
GetCampaignSendJobResponse
object
2 properties 1 required
MobilePushBadge
object
2 properties 1 required
CampaignSendJobEnum
string
CampaignSendJobPartialUpdateQuery
object
1 property 1 required
ImmediateSendStrategy
object
1 property 1 required
SendTimeSubObject
object
2 properties 2 required
CampaignsSMSTrackingOptions
object
2 properties
NonLocalStaticSend
object
1 property 1 required
CollectionLinks
object
5 properties 1 required
DynamicTrackingParam
object
3 properties 3 required
CampaignSendJobCreateQuery
object
1 property 1 required
TemplateResponseObjectResource
object
4 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

klaviyo-campaigns-api-openapi.yml Raw ↑

Other APIs Klaviyo publishes across the network.

Klaviyo Accounts API
Klaviyo Catalogs API
Klaviyo Client API
Klaviyo Conversations API
Klaviyo Coupons API
Klaviyo Custom Objects API
Klaviyo Data Privacy API
Klaviyo Events API
Klaviyo Flows API
Klaviyo Forms API
Klaviyo Images API
Klaviyo Lists API