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/connectors/sources/{your_source_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/connectors/sources/{your_source_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/connectors/sources/{your_source_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 next_cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
segmentsobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.attributesobject
hits[].data.idstring
hits[].data.linksobject
hits[].data.relationshipsobject
hits[].data.segmentsobject
hits[].data.typestring
hits[].data.updatedstring
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

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/connectors/sources/{your_source_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/connectors/sources/{your_source_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/connectors/sources/{your_source_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 next_cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.attributesobject
hits[].data.idstring
hits[].data.linksobject
hits[].data.relationshipsobject
hits[].data.typestring
hits[].data.updatedstring
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

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/connectors/sources/{your_source_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/connectors/sources/{your_source_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/connectors/sources/{your_source_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 next_cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
typestring
updated_atstring
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.attributesobject
hits[].data.idstring
hits[].data.linksobject
hits[].data.relationshipsobject
hits[].data.typestring
hits[].data.updated_atstring
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

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/connectors/sources/{your_source_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/connectors/sources/{your_source_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 next_cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
datetimestring
idstring
linksobject
relationshipsobject
typestring
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.attributesobject
hits[].data.datetimestring
hits[].data.idstring
hits[].data.linksobject
hits[].data.relationshipsobject
hits[].data.typestring
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

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/connectors/sources/{your_source_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/connectors/sources/{your_source_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/connectors/sources/{your_source_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 next_cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.attributesobject
hits[].data.idstring
hits[].data.linksobject
hits[].data.relationshipsobject
hits[].data.typestring
hits[].data.updatedstring
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

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/connectors/sources/{your_source_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/connectors/sources/{your_source_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/connectors/sources/{your_source_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 next_cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
relationshipsobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.attributesobject
hits[].data.idstring
hits[].data.linksobject
hits[].data.relationshipsobject
hits[].data.typestring
hits[].data.updatedstring
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

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/connectors/sources/{your_source_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/connectors/sources/{your_source_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/connectors/sources/{your_source_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 next_cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
attributesobject
idstring
linksobject
typestring
updatedstring
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.attributesobject
hits[].data.idstring
hits[].data.linksobject
hits[].data.typestring
hits[].data.updatedstring
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds