Skip to main content

Klaviyo full reference

This is the full reference documentation for the Klaviyo agent connector.

Supported entities and actions

The Klaviyo connector supports the following entities and actions.

EntityActions
ProfilesList, Get, Search
ListsList, Get, Search
CampaignsList, Get, Search
EventsList, Search
MetricsList, Get, Search
FlowsList, Get, Search
Email TemplatesList, Get, Search

Profiles

Profiles List

Returns a paginated list of profiles (contacts) in your Klaviyo account

Python SDK

await klaviyo.profiles.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "profiles",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page[size]integerNoNumber of results per page (max 100)
page[cursor]stringNoCursor for pagination
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Profiles Get

Get a single profile by ID

Python SDK

await klaviyo.profiles.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "profiles",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesProfile ID
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Search and filter profiles records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await klaviyo.profiles.search(
query={"filter": {"eq": {"attributes": {}}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "profiles",
"action": "search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
segmentsobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].attributesobject
data[].idstring
data[].linksobject
data[].relationshipsobject
data[].segmentsobject
data[].typestring
data[].updatedstring

Lists

Lists List

Returns a paginated list of all lists in your Klaviyo account

Python SDK

await klaviyo.lists.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "lists",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page[size]integerNoNumber of results per page (max 100)
page[cursor]stringNoCursor for pagination
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Lists Get

Get a single list by ID

Python SDK

await klaviyo.lists.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "lists",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesList ID
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Search and filter lists records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await klaviyo.lists.search(
query={"filter": {"eq": {"attributes": {}}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "lists",
"action": "search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].attributesobject
data[].idstring
data[].linksobject
data[].relationshipsobject
data[].typestring
data[].updatedstring

Campaigns

Campaigns List

Returns a paginated list of campaigns. A channel filter is required.

Python SDK

await klaviyo.campaigns.list(
filter="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "list",
"params": {
"filter": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
filterstringYesFilter by channel (email or sms)
page[size]integerNoNumber of results per page (max 100)
page[cursor]stringNoCursor for pagination
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Campaigns Get

Get a single campaign by ID

Python SDK

await klaviyo.campaigns.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesCampaign ID
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Search and filter campaigns records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await klaviyo.campaigns.search(
query={"filter": {"eq": {"attributes": {}}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
typestring
updated_atstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].attributesobject
data[].idstring
data[].linksobject
data[].relationshipsobject
data[].typestring
data[].updated_atstring

Events

Events List

Returns a paginated list of events (actions taken by profiles)

Python SDK

await klaviyo.events.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "events",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page[size]integerNoNumber of results per page (max 100)
page[cursor]stringNoCursor for pagination
sortstringNoSort order for events
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
relationshipsobject | null
linksobject | null

Search and filter events records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await klaviyo.events.search(
query={"filter": {"eq": {"attributes": {}}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "events",
"action": "search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
datetimestring
idstring
linksobject
relationshipsobject
typestring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].attributesobject
data[].datetimestring
data[].idstring
data[].linksobject
data[].relationshipsobject
data[].typestring

Metrics

Metrics List

Returns a paginated list of metrics (event types)

Python SDK

await klaviyo.metrics.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "metrics",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page[size]integerNoNumber of results per page (max 100)
page[cursor]stringNoCursor for pagination
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Metrics Get

Get a single metric by ID

Python SDK

await klaviyo.metrics.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "metrics",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesMetric ID
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Search and filter metrics records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await klaviyo.metrics.search(
query={"filter": {"eq": {"attributes": {}}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "metrics",
"action": "search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].attributesobject
data[].idstring
data[].linksobject
data[].relationshipsobject
data[].typestring
data[].updatedstring

Flows

Flows List

Returns a paginated list of flows (automated sequences)

Python SDK

await klaviyo.flows.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "flows",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page[size]integerNoNumber of results per page (max 100)
page[cursor]stringNoCursor for pagination
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Flows Get

Get a single flow by ID

Python SDK

await klaviyo.flows.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "flows",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesFlow ID
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Search and filter flows records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await klaviyo.flows.search(
query={"filter": {"eq": {"attributes": {}}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "flows",
"action": "search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].attributesobject
data[].idstring
data[].linksobject
data[].relationshipsobject
data[].typestring
data[].updatedstring

Email Templates

Email Templates List

Returns a paginated list of email templates

Python SDK

await klaviyo.email_templates.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "email_templates",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page[size]integerNoNumber of results per page (max 100)
page[cursor]stringNoCursor for pagination
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Email Templates Get

Get a single email template by ID

Python SDK

await klaviyo.email_templates.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "email_templates",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesTemplate ID
Response Schema

Records

Field NameTypeDescription
idstring
typestring | null
attributesobject | null
linksobject | null

Search and filter email templates records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await klaviyo.email_templates.search(
query={"filter": {"eq": {"attributes": {}}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "email_templates",
"action": "search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].attributesobject
data[].idstring
data[].linksobject
data[].typestring
data[].updatedstring