How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
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.2.0, 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.2.0
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 EmailContent (7 properties), EmailContentSubObject (7 properties), MobilePushMessageStandardDefinition (5 properties), MobilePushMessageStandardDefinitionCreate (5 properties). Each schema is shown below with its type and property counts.

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

This is an independent, third-party profile of Klaviyo Campaigns API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.