What can you do with it?

The Klaviyo API allows you to manage email marketing campaigns and subscriber lists with advanced segmentation and personalization. You can create and send campaigns, manage subscriber lists, add and remove subscribers, track campaign performance, and handle all aspects of your email marketing automation with Klaviyo’s powerful platform.

How to use it?

Basic Command Structure

/your-klaviyo-connection [action] [required-parameters] [optional-parameters]

Parameters

Required:

  • action - The action to perform (create, get, send, add, remove)
  • entity - The entity type (campaign, list, subscriber)
  • name - Campaign or list name
  • subject - Email subject line
  • from_email - Sender email address

Optional:

  • list_id - List ID for campaigns and subscribers
  • template_id - Template ID for campaigns
  • send_time - Scheduled send time
  • content_type - Content type (html, text)
  • phone_number - Subscriber phone number
  • first_name - Subscriber first name
  • last_name - Subscriber last name

Tools

Create Campaign

Create a new email campaign in Klaviyo.

Parameters:

  • name (required) - Campaign name
  • list_id (required) - Target list ID
  • template_id (required) - Template ID
  • subject (required) - Email subject line
  • from_email (required) - Sender email address
  • from_name (required) - Sender name
  • content_type (optional) - Content type (html, text)

Example:

/your-klaviyo-connection
action: create
entity: campaign
name: Winter Sale Campaign
list_id: 123456
template_id: 654321
subject: Winter Sale is Here!
from_email: sales@company.com
from_name: Company Sales
content_type: html

Response:

{
  "id": "campaign_123456",
  "name": "Winter Sale Campaign",
  "status": "draft",
  "subject": "Winter Sale is Here!",
  "from_email": "sales@company.com",
  "from_name": "Company Sales",
  "list_id": "123456",
  "template_id": "654321",
  "content_type": "html",
  "created": "2025-01-10T10:00:00Z"
}

Get Campaigns

Retrieve a list of campaigns in Klaviyo.

Parameters:

  • status (optional) - Filter by campaign status
  • limit (optional) - Number of campaigns to return

Example:

/your-klaviyo-connection
action: get
entity: campaigns
status: draft
limit: 20

Response:

[
  {
    "id": "campaign_123456",
    "name": "Winter Sale Campaign",
    "status": "draft",
    "subject": "Winter Sale is Here!",
    "created": "2025-01-10T10:00:00Z"
  },
  {
    "id": "campaign_654321",
    "name": "Spring Promo Campaign",
    "status": "sent",
    "subject": "Spring Collection Now Available",
    "created": "2025-03-01T10:00:00Z"
  }
]

Send Campaign

Send a campaign that has been created and is in draft status.

Parameters:

  • campaign_id (required) - Campaign ID to send
  • send_time (optional) - Scheduled send time (ISO format)

Example:

/your-klaviyo-connection
action: send
entity: campaign
campaign_id: campaign_123456
send_time: 2025-01-15T12:00:00Z

Response:

{
  "id": "campaign_123456",
  "name": "Winter Sale Campaign",
  "status": "sending",
  "send_time": "2025-01-15T12:00:00Z",
  "subject": "Winter Sale is Here!",
  "from_email": "sales@company.com"
}

Create List

Create a new subscriber list in Klaviyo.

Parameters:

  • name (required) - List name
  • list_type (optional) - List type (default: “list”)

Example:

/your-klaviyo-connection
action: create
entity: list
name: New Subscribers
list_type: list

Response:

{
  "list_id": "123456",
  "name": "New Subscribers",
  "list_type": "list",
  "created": "2025-01-12T12:00:00Z",
  "member_count": 0,
  "status": "active"
}

Add Subscriber to List

Add a subscriber to a specific list in Klaviyo.

Parameters:

  • list_id (required) - List ID to add subscriber to
  • email (required) - Subscriber email address
  • phone_number (optional) - Subscriber phone number
  • first_name (optional) - Subscriber first name
  • last_name (optional) - Subscriber last name

Example:

/your-klaviyo-connection
action: add
entity: subscriber
list_id: 123456
email: john.doe@example.com
phone_number: +1234567890
first_name: John
last_name: Doe

Response:

{
  "added": [
    {
      "id": "profile_123456",
      "email": "john.doe@example.com",
      "phone_number": "+1234567890",
      "first_name": "John",
      "last_name": "Doe",
      "status": "subscribed",
      "created": "2025-01-12T12:00:00Z"
    }
  ]
}

Remove Subscriber from List

Remove a subscriber from a specific list in Klaviyo.

Parameters:

  • list_id (required) - List ID to remove subscriber from
  • emails (required) - Array of email addresses to remove

Example:

/your-klaviyo-connection
action: remove
entity: subscriber
list_id: 123456
emails: ["john.doe@example.com"]

Response:

{
  "status": 204,
  "message": "Subscriber removed successfully."
}

Get Lists

Retrieve a list of all subscriber lists in Klaviyo.

Parameters:

  • limit (optional) - Number of lists to return
  • offset (optional) - Number of lists to skip

Example:

/your-klaviyo-connection
action: get
entity: lists
limit: 20
offset: 0

Response:

[
  {
    "list_id": "123456",
    "name": "New Subscribers",
    "list_type": "list",
    "created": "2025-01-12T12:00:00Z",
    "member_count": 250,
    "status": "active"
  },
  {
    "list_id": "654321",
    "name": "Loyal Customers",
    "list_type": "list",
    "created": "2024-12-15T10:00:00Z",
    "member_count": 1500,
    "status": "active"
  }
]

Notes

Campaign status includes draft, sending, sent, and scheduled. List types are typically “list” for standard subscriber lists. Subscriber profiles support custom properties and attributes. Send times use ISO 8601 format for scheduling. Templates must be created in Klaviyo dashboard before use in campaigns. Phone numbers should include country code. Uses Paragon proxy connection. Profiles can be segmented based on behavior and attributes. Campaign analytics and performance metrics are available through separate endpoints.