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, Context Store Search, Context Store SQL Query
ListsList, Get, Context Store Search, Context Store SQL Query
CampaignsList, Get, Context Store Search, Context Store SQL Query
EventsList, Context Store Search, Context Store SQL Query
MetricsList, Get, Context Store Search, Context Store SQL Query
FlowsList, Get, Context Store Search, Context Store SQL Query
Email TemplatesList, Get, Context Store Search, Context Store SQL Query, Semantic Search

Profiles​

Profiles List​

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

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "profiles",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring | null

Profiles Get​

Get a single profile by ID

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "profiles",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "profiles",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"attributes": {}
}
}
}
}
}'

Python SDK​

await klaviyo.profiles.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Profiles Context Store SQL Query​

Run a SQL query against profiles records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "profiles",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await klaviyo.profiles.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Lists​

Lists List​

Returns a paginated list of all lists in your Klaviyo account

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "lists",
"action": "list"
}'

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 10)
page[cursor]stringNoCursor for pagination
Response Schema

Records​

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

Meta​

Field NameTypeDescription
nextstring | null

Lists Get​

Get a single list by ID

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "lists",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "lists",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"attributes": {}
}
}
}
}
}'

Python SDK​

await klaviyo.lists.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Lists Context Store SQL Query​

Run a SQL query against lists records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "lists",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await klaviyo.lists.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Campaigns​

Campaigns List​

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

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "campaigns",
"action": "list",
"params": {
"filter": "<str>"
}
}'

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[cursor]stringNoCursor for pagination
Response Schema

Records​

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

Meta​

Field NameTypeDescription
nextstring | null

Campaigns Get​

Get a single campaign by ID

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "campaigns",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "campaigns",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"attributes": {}
}
}
}
}
}'

Python SDK​

await klaviyo.campaigns.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Campaigns Context Store SQL Query​

Run a SQL query against campaigns records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "campaigns",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await klaviyo.campaigns.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Events​

Events List​

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

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "events",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring | 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "events",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"attributes": {}
}
}
}
}
}'

Python SDK​

await klaviyo.events.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Events Context Store SQL Query​

Run a SQL query against events records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "events",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await klaviyo.events.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Metrics​

Metrics List​

Returns a paginated list of metrics (event types)

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "metrics",
"action": "list"
}'

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
filterstringNoFilter expression for metrics. Allowed fields are integration.name and integration.category.
page[cursor]stringNoCursor for pagination
Response Schema

Records​

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

Meta​

Field NameTypeDescription
nextstring | null

Metrics Get​

Get a single metric by ID

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "metrics",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "metrics",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"attributes": {}
}
}
}
}
}'

Python SDK​

await klaviyo.metrics.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Metrics Context Store SQL Query​

Run a SQL query against metrics records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "metrics",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await klaviyo.metrics.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Flows​

Flows List​

Returns a paginated list of flows (automated sequences)

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "flows",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring | null

Flows Get​

Get a single flow by ID

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "flows",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "flows",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"attributes": {}
}
}
}
}
}'

Python SDK​

await klaviyo.flows.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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 Context Store SQL Query​

Run a SQL query against flows records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "flows",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await klaviyo.flows.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Email Templates​

Email Templates List​

Returns a paginated list of email templates

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "email_templates",
"action": "list"
}'

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 10)
page[cursor]stringNoCursor for pagination
Response Schema

Records​

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

Meta​

Field NameTypeDescription
nextstring | null

Email Templates Get​

Get a single email template by ID

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "email_templates",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "email_templates",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"attributes": {}
}
}
}
}
}'

Python SDK​

await klaviyo.email_templates.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"attributes": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Email Templates Context Store SQL Query​

Run a SQL query against email templates records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "email_templates",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await klaviyo.email_templates.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search email templates records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "klaviyo",
"entity": "email_templates",
"action": "context_store_search",
"params": {
"semantic": {"field": "attributes", "prompt": "<your natural-language query>"}
}
}'

Python SDK​

Semantic search is passed through the generic execute method — the typed email_templates.context_store_search helper only accepts query.

await klaviyo.execute(
"email_templates",
"context_store_search",
{"semantic": {"field": "attributes", "prompt": "<your natural-language query>"}},
)

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": "context_store_search",
"params": {
"semantic": {"field": "attributes", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters​

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields​

Field NameMax Context (chars)Description
attributes2048
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.updatedstringSource record field
data[].entity.namestringSource record field
data[].entity.editor_typestringSource record field
data[].entity.createdstringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
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