openapi: 3.0.2
info:
title: Klaviyo Accounts Lists API
version: '2026-04-15'
description: The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
contact:
name: Klaviyo Developer Experience Team
email: developers@klaviyo.com
url: https://developers.klaviyo.com
termsOfService: https://www.klaviyo.com/legal/api-terms
license:
name: License
url: https://www.klaviyo.com/legal
servers:
- url: https://a.klaviyo.com
description: Production
security:
- Klaviyo-API-Key: []
tags:
- name: Lists
description: lists
paths:
/api/lists:
get:
operationId: get_lists
summary: Get Lists
description: 'Get all lists in an account.
Filter to request a subset of all lists. Lists can be filtered by `id`, `name`, `created`, and `updated` fields.
Returns a maximum of 10 results per page.
*Rate limits*:
Burst: `75/s`
Steady: `750/m`
**Scopes:**
`lists:read`'
parameters:
- name: fields[flow]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- archived
- created
- name
- status
- trigger_type
- updated
explode: false
- name: fields[list]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- created
- name
- opt_in_process
- updated
explode: false
- name: fields[tag]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- name
explode: false
- name: filter
in: query
description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`name`: `any`, `equals`
`id`: `any`, `equals`
`created`: `greater-than`
`updated`: `greater-than`'
schema:
type: string
example: equals(name,['example'])
- name: include
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
schema:
type: array
items:
type: string
enum:
- flow-triggers
- tags
explode: false
- name: page[cursor]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
required: false
schema:
type: string
- name: page[size]
in: query
description: 'Default: 10. Min: 1. Max: 10.'
required: false
schema:
type: integer
default: 10
maximum: 10
minimum: 1
- name: sort
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
schema:
type: string
enum:
- created
- -created
- id
- -id
- name
- -name
- updated
- -updated
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetListListResponseCollectionCompoundDocument'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 75/s
steady: 750/m
x-klaviyo-scopes:
- lists:read
post:
operationId: create_list
summary: Create List
description: 'Create a new list.
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
Daily: `150/d`
**Scopes:**
`lists:write`'
parameters:
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
requestBody:
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ListCreateQuery'
responses:
'201':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PostListCreateResponse'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
daily: 150/d
x-klaviyo-scopes:
- lists:write
/api/lists/{id}:
get:
operationId: get_list
summary: Get List
description: 'Get a list with the given list ID.
*Rate limits*:
Burst: `75/s`
Steady: `750/m`
Rate limits when using the `additional-fields[list]=profile_count` parameter in your API request:
Burst: `1/s`
Steady: `15/m`
To learn more about how the `additional-fields` parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2026-04-15/docs/rate_limits_and_error_handling) guide.
**Scopes:**
`lists:read`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: additional-fields[list]
in: query
description: 'Request additional fields not included by default in the response. Supported values: ''profile_count'''
required: false
schema:
type: array
items:
type: string
enum:
- profile_count
explode: false
- name: fields[flow]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- archived
- created
- name
- status
- trigger_type
- updated
explode: false
- name: fields[list]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- created
- name
- opt_in_process
- profile_count
- updated
explode: false
- name: fields[tag]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- name
explode: false
- name: include
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
schema:
type: array
items:
type: string
enum:
- flow-triggers
- tags
explode: false
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetListRetrieveResponseCompoundDocument'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 75/s
steady: 750/m
x-klaviyo-scopes:
- lists:read
patch:
operationId: update_list
summary: Update List
description: 'Update the name of a list with the given list ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`lists:write`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
requestBody:
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ListPartialUpdateQuery'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchListPartialUpdateResponse'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- lists:write
delete:
operationId: delete_list
summary: Delete List
description: 'Delete a list with the given list ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`lists:write`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- lists:write
/api/lists/{id}/tags:
get:
operationId: get_tags_for_list
summary: Get Tags for List
description: 'Return all tags associated with the given list ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m`
**Scopes:**
`lists:read`
`tags:read`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: fields[tag]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- name
explode: false
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetTagResponseCollection'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-operation-aliases:
- get_list_tags
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 3/s
steady: 60/m
x-klaviyo-scopes:
- lists:read
- tags:read
/api/lists/{id}/relationships/tags:
get:
operationId: get_tag_ids_for_list
summary: Get Tag IDs for List
description: 'Return all tags associated with the given list ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m`
**Scopes:**
`lists:read`
`tags:read`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetListTagsRelationshipsResponseCollection'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-operation-aliases:
- get_list_relationships_tags
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 3/s
steady: 60/m
x-klaviyo-scopes:
- lists:read
- tags:read
/api/lists/{id}/profiles:
get:
operationId: get_profiles_for_list
summary: Get Profiles for List
description: 'Get all profiles within a list with the given list ID.
Filter to request a subset of all profiles. Profiles can be filtered by `email`, `phone_number`, `push_token`, and `joined_group_at` fields. Profiles can be sorted by the following fields, in ascending and descending order: `joined_group_at`
*Rate limits*:
Burst: `75/s`
Steady: `750/m`
Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:
Burst: `10/s`
Steady: `150/m`
To learn more about how the `additional-fields` parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2026-04-15/docs/rate_limits_and_error_handling) guide.
**Scopes:**
`lists:read`
`profiles:read`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: additional-fields[profile]
in: query
description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics'''
required: false
schema:
type: array
items:
type: string
enum:
- subscriptions
- predictive_analytics
explode: false
- name: fields[profile]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- created
- email
- external_id
- first_name
- image
- joined_group_at
- last_event_date
- last_name
- locale
- location
- location.address1
- location.address2
- location.city
- location.country
- location.ip
- location.latitude
- location.longitude
- location.region
- location.timezone
- location.zip
- organization
- phone_number
- predictive_analytics
- predictive_analytics.average_days_between_orders
- predictive_analytics.average_order_value
- predictive_analytics.churn_probability
- predictive_analytics.expected_date_of_next_order
- predictive_analytics.historic_clv
- predictive_analytics.historic_number_of_orders
- predictive_analytics.predicted_clv
- predictive_analytics.predicted_number_of_orders
- predictive_analytics.ranked_channel_affinity
- predictive_analytics.total_clv
- properties
- subscriptions
- subscriptions.email
- subscriptions.email.marketing
- subscriptions.email.marketing.can_receive_email_marketing
- subscriptions.email.marketing.consent
- subscriptions.email.marketing.consent_timestamp
- subscriptions.email.marketing.custom_method_detail
- subscriptions.email.marketing.double_optin
- subscriptions.email.marketing.last_updated
- subscriptions.email.marketing.list_suppressions
- subscriptions.email.marketing.method
- subscriptions.email.marketing.method_detail
- subscriptions.email.marketing.suppression
- subscriptions.mobile_push
- subscriptions.mobile_push.marketing
- subscriptions.mobile_push.marketing.can_receive_push_marketing
- subscriptions.mobile_push.marketing.consent
- subscriptions.mobile_push.marketing.consent_timestamp
- subscriptions.sms
- subscriptions.sms.marketing
- subscriptions.sms.marketing.can_receive_sms_marketing
- subscriptions.sms.marketing.consent
- subscriptions.sms.marketing.consent_timestamp
- subscriptions.sms.marketing.last_updated
- subscriptions.sms.marketing.method
- subscriptions.sms.marketing.method_detail
- subscriptions.sms.transactional
- subscriptions.sms.transactional.can_receive_sms_transactional
- subscriptions.sms.transactional.consent
- subscriptions.sms.transactional.consent_timestamp
- subscriptions.sms.transactional.last_updated
- subscriptions.sms.transactional.method
- subscriptions.sms.transactional.method_detail
- subscriptions.whatsapp
- subscriptions.whatsapp.conversational
- subscriptions.whatsapp.conversational.can_receive
- subscriptions.whatsapp.conversational.consent
- subscriptions.whatsapp.conversational.consent_timestamp
- subscriptions.whatsapp.conversational.created_timestamp
- subscriptions.whatsapp.conversational.last_updated
- subscriptions.whatsapp.conversational.metadata
- subscriptions.whatsapp.conversational.phone_number
- subscriptions.whatsapp.conversational.valid_until
- subscriptions.whatsapp.marketing
- subscriptions.whatsapp.marketing.can_receive
- subscriptions.whatsapp.marketing.consent
- subscriptions.whatsapp.marketing.consent_timestamp
- subscriptions.whatsapp.marketing.created_timestamp
- subscriptions.whatsapp.marketing.last_updated
- subscriptions.whatsapp.marketing.metadata
- subscriptions.whatsapp.marketing.phone_number
- subscriptions.whatsapp.marketing.valid_until
- subscriptions.whatsapp.transactional
- subscriptions.whatsapp.transactional.can_receive
- subscriptions.whatsapp.transactional.consent
- subscriptions.whatsapp.transactional.consent_timestamp
- subscriptions.whatsapp.transactional.created_timestamp
- subscriptions.whatsapp.transactional.last_updated
- subscriptions.whatsapp.transactional.metadata
- subscriptions.whatsapp.transactional.phone_number
- subscriptions.whatsapp.transactional.valid_until
- title
- updated
explode: false
- name: filter
in: query
description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`email`: `any`, `equals`
`phone_number`: `any`, `equals`
`push_token`: `any`, `equals`
`_kx`: `equals`
`joined_group_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`'
schema:
type: string
example: equals(email,['example'])
- name: page[cursor]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
required: false
schema:
type: string
- name: page[size]
in: query
description: 'Default: 20. Min: 1. Max: 100.'
required: false
schema:
type: integer
default: 20
maximum: 100
minimum: 1
- name: sort
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
schema:
type: string
enum:
- joined_group_at
- -joined_group_at
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetListMemberResponseCollection'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-operation-aliases:
- get_list_profiles
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 75/s
steady: 750/m
x-klaviyo-scopes:
- lists:read
- profiles:read
/api/lists/{id}/relationships/profiles:
get:
operationId: get_profile_ids_for_list
summary: Get Profile IDs for List
description: 'Get profile membership [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for a list with the given list ID.
*Rate limits*:
Burst: `75/s`
Steady: `750/m`
Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:
Burst: `10/s`
Steady: `150/m`
To learn more about how the `additional-fields` parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2026-04-15/docs/rate_limits_and_error_handling) guide.
**Scopes:**
`lists:read`
`profiles:read`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: filter
in: query
description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`email`: `any`, `equals`
`phone_number`: `any`, `equals`
`push_token`: `any`, `equals`
`_kx`: `equals`
`joined_group_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`'
schema:
type: string
example: equals(email,['example'])
- name: page[cursor]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
required: false
schema:
type: string
- name: page[size]
in: query
description: 'Default: 20. Min: 1. Max: 100.'
required: false
schema:
type: integer
default: 20
maximum: 100
minimum: 1
- name: sort
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
schema:
type: string
enum:
- joined_group_at
- -joined_group_at
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetListProfilesRelationshipsResponseCollection'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-operation-aliases:
- get_list_relationships_profiles
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 75/s
steady: 750/m
x-klaviyo-scopes:
- lists:read
- profiles:read
post:
operationId: add_profiles_to_list
summary: Add Profiles to List
description: 'Add a profile to a list with the given list ID.
It is recommended that you use the [Subscribe Profiles endpoint](https://developers.klaviyo.com/en/reference/subscribe_profiles) if you''re trying to give a profile [consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api) to receive email marketing, SMS marketing, or both.
This endpoint accepts a maximum of 1000 profiles per call.
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`lists:write`
`profiles:write`'
parameters:
- name: id
in: path
description: ''
required: true
schema:
type: string
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
requestBody:
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ListMembersAddQuery'
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-operation-aliases:
- create_list_relationships
- create_list_relationships_profile
- create_list_relationships_profiles
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- lists:write
- profiles:write
delete:
operationId: remove_profiles_from_list
summary: Remove Profiles from List
description: 'Remove a profile from a list with the given list ID.
The provided profile will no longer receive marketing from this particular list once removed.
Removing a profile from a list will not impact the profile''s [consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api) status or subscription status in general.
To update a profile''s subscription status, please use the [Unsubscribe Profiles endpoint](https://developers.klaviyo.com/en/reference/unsubscribe_profiles).
This endpoint accepts a maximum of 1000 profiles per call.
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`lists:write`
`profiles:write`'
parameters:
- name: id
in: path
description: ''
required: true
schema:
type: string
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
requestBody:
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ListMembersDeleteQuery'
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-operation-aliases:
- delete_list_relationships
- delete_list_relationships_profiles
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- lists:write
- profiles:write
/api/lists/{id}/flow-triggers:
get:
operationId: get_flows_triggered_by_list
summary: Get Flows Triggered by List
description: 'Get all flows where the given list ID is being used as the trigger.
*Rate limits*:
Burst: `3/s`
Steady: `60/m`
**Scopes:**
`flows:read`
`lists:read`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: fields[flow]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- archived
- created
- name
- status
- trigger_type
- updated
explode: false
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetFlowResponseCollection'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-operation-aliases:
- get_flow_triggers_for_list
- get_list_flow_triggers
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 3/s
steady: 60/m
x-klaviyo-scopes:
- flows:read
- lists:read
/api/lists/{id}/relationships/flow-triggers:
get:
operationId: get_ids_for_flows_triggered_by_list
summary: Get IDs for Flows Triggered by List
description: 'Get the IDs of all flows where the given list is being used as the trigger.
*Rate limits*:
Burst: `3/s`
Steady: `60/m`
**Scopes:**
`flows:read`
`lists:read`'
parameters:
- name: id
in: path
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
required: true
schema:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetListFlowTriggersRelationshipsResponseCollection'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Lists
x-klaviyo-operation-aliases:
- get_flow_trigger_ids_for_list
- get_list_relationships_flow_triggers
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 3/s
steady: 60/m
x-klaviyo-scopes:
- flows:read
- lists:read
components:
schemas:
PushTokenEnum:
type: string
enum:
- push-token
ListMembersDeleteQuery:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ProfileEnum'
id:
type: string
required:
- data
ListMembersAddQuery:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ProfileEnum'
id:
type: string
required:
- data
GetListTagsRelationshipsResponseCollection:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/TagEnum'
id:
description: The Tag ID
type: string
example: abcd1234-ef56-gh78-ij90-abcdef123456
links:
$ref: '#/components/schemas/CollectionLinks'
required:
- data
SMSTransactional:
type: object
properties:
can_receive_sms_transactional:
description: Whether or not this profile is subscribed to receive transactional SMS.
type: boolean
consent:
description: The consent status for SMS Transactional.
type: string
example: SUBSCRIBED
consent_timestamp:
description: The timestamp when consent was recorded or updated for Transactional SMS messaging , in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
method:
description: The method by which the profile was subscribed to Transactional SMS messaging .
type: string
example: TEXT
nullable: true
method_detail:
description: Additional details about the method which the profile was subscribed to Transactional SMS messaging. This may be empty if no details were provided.
type: string
example: JOIN
default: ''
nullable: true
last_updated:
description: The timestamp when the SMS consent record was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
required:
- can_receive_sms_transactional
- consent
EmailMarketing:
type: object
properties:
can_receive_email_marketing:
description: Whether or not this profile has implicit consent to receive email marketing. True if it does profile does not have any global suppressions.
type: boolean
consent:
description: The consent status for email marketing.
type: string
example: SUBSCRIBED
consent_timestamp:
description: The timestamp when consent was recorded or updated for email marketing, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
last_updated:
description: The timestamp when a field on the email marketing object was last modified.
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
method:
description: The method by which the profile was subscribed to email marketing.
type: string
example: PREFERENCE_PAGE
nullable: true
method_detail:
description: Additional details about the method by which the profile was subscribed to email marketing. This may be empty if no details were provided.
type: string
example: mydomain.com/signup
default: ''
nullable: true
custom_method_detail:
description: Additional detail provided by the caller when the profile was subscribed. This may be empty if no details were provided.
type: string
example: marketing drive
nullable: true
double_optin:
description: Whether the profile was subscribed to email marketing using a double opt-in.
type: boolean
example: true
nullable: true
suppression:
description: The global email marketing suppression for this profile.
type: array
items:
$ref: '#/components/schemas/EmailMarketingSuppression'
nullable: true
list_suppressions:
description: The list suppressions for this profile.
type: array
items:
$ref: '#/components/schemas/EmailMarketingListSuppression'
nullable: true
required:
- can_receive_email_marketing
- consent
GetListFlowTriggersRelationshipsResponseCollection:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/FlowEnum'
id:
type: string
links:
$ref: '#/components/schemas/CollectionLinks'
required:
- data
ListMemberResponseObjectResource:
type: object
properties:
type:
$ref: '#/components/schemas/ProfileEnum'
id:
description: Primary key that uniquely identifies this profile. Generated by Klaviyo.
type: string
example: 01GDDKASAP8TKDDA2GRZDSVP4H
nullable: true
attributes:
type: object
properties:
email:
description: Individual's email address
type: string
example: sarah.mason@klaviyo-demo.com
nullable: true
phone_number:
description: Individual's phone number in E.164 format
type: string
example: '+15005550006'
nullable: true
external_id:
description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system.
type: string
nullable: true
first_name:
description: Individual's first name
type: string
example: Sarah
nullable: true
last_name:
description: Individual's last name
type: string
example: Mason
nullable: true
organization:
description: Name of the company or organization within the company for whom the individual works
type: string
example: Example Corporation
nullable: true
locale:
description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2)
type: string
example: en-US
nullable: true
title:
description: Individual's job title
type: string
example: Regional Manager
nullable: true
image:
description: URL pointing to the location of a profile image
type: string
example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg
nullable: true
created:
description: Date and time when the profile was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
updated:
description: Date and time when the profile was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
last_event_date:
description: Date and time of the most recent event the triggered an update to the profile, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
location:
$ref: '#/components/schemas/ProfileLocation'
nullable: true
properties:
description: An object containing key/value pairs for any custom properties assigned to this profile
type: object
example:
pseudonym: Dr. Octopus
nullable: true
joined_group_at:
description: The datetime when this profile most recently joined the list.
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
required:
- joined_group_at
relationships:
type: object
properties:
lists:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ListEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
segments:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/SegmentEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
push-tokens:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/PushTokenEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- attributes
- links
FlowResponseObjectResource:
type: object
properties:
type:
$ref: '#/components/schemas/FlowEnum'
id:
type: string
attributes:
type: object
properties:
name:
type: string
nullable: true
status:
type: string
nullable: true
archived:
type: boolean
nullable: true
created:
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
updated:
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
trigger_type:
description: Corresponds to the object which triggered the flow.
type: string
enum:
- Added to List
- Date Based
- Low Inventory
- Metric
- Price Drop
- Unconfigured
nullable: true
relationships:
type: object
properties:
flow-actions:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/FlowActionEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
tags:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/TagEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
WhatsappTransactionalChannel:
type: object
properties:
consent:
description: The consent status for the channel.
type: string
example: SUBSCRIBED
consent_timestamp:
description: The timestamp when consent was recorded or updated for the channel, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
last_updated:
description: The timestamp when the channel was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
created_timestamp:
description: The timestamp when the channel was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
metadata:
description: Channel-specific metadata containing additional information about the permission.
type: object
nullable: true
can_receive:
description: Whether the profile can receive messages on this channel.
type: boolean
valid_until:
description: Optional expiration date for the permission, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2024-02-21T20:07:38+00:00'
nullable: true
phone_number:
description: Phone number to which the consent was granted for.
type: string
required:
- consent
- can_receive
- phone_number
GetTagResponseCollection:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TagResponseObjectResource'
links:
$ref: '#/components/schemas/CollectionLinks'
required:
- data
GetListRetrieveResponseCompoundDocument:
type: object
properties:
data:
allOf:
- properties:
type:
$ref: '#/components/schemas/ListEnum'
attributes:
properties:
profile_count:
type: integer
nullable: true
- $ref: '#/components/schemas/ListRetrieveResponseObjectResource'
included:
type: array
items:
oneOf:
- $ref: '#/components/schemas/TagResponseObjectResource'
- $ref: '#/components/schemas/FlowResponseObjectResource'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- data
ListEnum:
type: string
enum:
- list
ListListResponseObjectResource:
type: object
properties:
type:
$ref: '#/components/schemas/ListEnum'
id:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
attributes:
type: object
properties:
name:
description: A helpful name to label the list
type: string
example: Newsletter
nullable: true
created:
description: Date and time when the list was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
updated:
description: Date and time when the list was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
opt_in_process:
description: 'The opt-in process for this list. Valid values: ''double_opt_in'', ''single_opt_in''.'
type: string
example: double_opt_in
enum:
- double_opt_in
- single_opt_in
nullable: true
relationships:
type: object
properties:
profiles:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ProfileEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
tags:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/TagEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
flow-triggers:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/FlowEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
PostListCreateResponse:
type: object
properties:
data:
type: object
properties:
type:
$ref: '#/components/schemas/ListEnum'
id:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
attributes:
type: object
properties:
name:
description: A helpful name to label the list
type: string
example: Newsletter
nullable: true
created:
description: Date and time when the list was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
updated:
description: Date and time when the list was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
opt_in_process:
description: 'The opt-in process for this list. Valid values: ''double_opt_in'', ''single_opt_in''.'
type: string
example: double_opt_in
enum:
- double_opt_in
- single_opt_in
nullable: true
relationships:
type: object
properties:
profiles:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ProfileEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
tags:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/TagEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
flow-triggers:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/FlowEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- data
ListPartialUpdateQueryResourceObject:
type: object
properties:
type:
$ref: '#/components/schemas/ListEnum'
id:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
attributes:
type: object
properties:
name:
description: A helpful name to label the list
type: string
example: Newsletter
nullable: true
opt_in_process:
description: 'The opt-in process for this list. Valid values: ''double_opt_in'', ''single_opt_in''.'
type: string
example: double_opt_in
enum:
- double_opt_in
- single_opt_in
nullable: true
required:
- type
- id
- attributes
ListPartialUpdateQuery:
type: object
properties:
data:
$ref: '#/components/schemas/ListPartialUpdateQueryResourceObject'
required:
- data
GetFlowResponseCollection:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/FlowResponseObjectResource'
links:
$ref: '#/components/schemas/CollectionLinks'
required:
- data
Subscriptions:
type: object
properties:
email:
description: The email channel subscription.
$ref: '#/components/schemas/EmailChannel'
nullable: true
sms:
description: The SMS channel subscription.
$ref: '#/components/schemas/SMSChannel'
nullable: true
mobile_push:
description: The mobile push channel subscription.
$ref: '#/components/schemas/PushChannel'
nullable: true
whatsapp:
description: The whatsapp channel subscription.
$ref: '#/components/schemas/WhatsappChannel'
nullable: true
PatchListPartialUpdateResponse:
type: object
properties:
data:
type: object
properties:
type:
$ref: '#/components/schemas/ListEnum'
id:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
attributes:
type: object
properties:
name:
description: A helpful name to label the list
type: string
example: Newsletter
nullable: true
created:
description: Date and time when the list was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
updated:
description: Date and time when the list was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
opt_in_process:
description: 'The opt-in process for this list. Valid values: ''double_opt_in'', ''single_opt_in''.'
type: string
example: double_opt_in
enum:
- double_opt_in
- single_opt_in
nullable: true
relationships:
type: object
properties:
profiles:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ProfileEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
tags:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/TagEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
flow-triggers:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/FlowEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- data
EmailMarketingListSuppression:
type: object
properties:
list_id:
description: The ID of list to which the suppression applies.
type: string
example: Y6nRLr
reason:
description: The reason the profile was suppressed from the list.
type: string
example: USER_SUPPRESSED
timestamp:
description: The timestamp when the profile was suppressed from the list, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
required:
- list_id
- reason
- timestamp
PredictiveAnalytics:
type: object
properties:
historic_clv:
description: Total value of all historically placed orders
type: number
example: 93.87
nullable: true
predicted_clv:
description: Predicted value of all placed orders in the next 365 days
type: number
example: 27.24
nullable: true
total_clv:
description: Sum of historic and predicted CLV
type: number
example: 121.11
nullable: true
historic_number_of_orders:
description: Number of already placed orders
type: number
example: 2
nullable: true
predicted_number_of_orders:
description: Predicted number of placed orders in the next 365 days
type: number
example: 0.54
nullable: true
average_days_between_orders:
description: Average number of days between orders (None if only one order has been placed)
type: number
example: 189
nullable: true
average_order_value:
description: Average value of placed orders
type: number
example: 46.94
nullable: true
churn_probability:
description: Probability the customer has churned
type: number
example: 0.89
nullable: true
expected_date_of_next_order:
description: Expected date of next order, as calculated at the time of their most recent order
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
ranked_channel_affinity:
description: List of channels ranked by their predicted effectiveness for this profile, with the best channel being listed first at index 0
type: array
items:
type: string
enum:
- email
- push
- sms
- whatsapp
description: Enum for channel name return values used in the V3 API for channel affinity for the field `ranked_channel_affinity`.
example:
- sms
- email
- push
nullable: true
SMSMarketing:
type: object
properties:
can_receive_sms_marketing:
description: Whether or not this profile is subscribed to receive SMS marketing.
type: boolean
consent:
description: The consent status for SMS marketing.
type: string
example: SUBSCRIBED
consent_timestamp:
description: The timestamp when consent was recorded or updated for SMS marketing, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
method:
description: The method by which the profile was subscribed to SMS marketing.
type: string
example: TEXT
nullable: true
method_detail:
description: Additional details about the method which the profile was subscribed to SMS marketing. This may be empty if no details were provided.
type: string
example: JOIN
default: ''
nullable: true
last_updated:
description: The timestamp when the SMS consent record was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
required:
- can_receive_sms_marketing
- consent
WhatsappChannel:
type: object
properties:
marketing:
description: The Whatsapp marketing subscription.
$ref: '#/components/schemas/WhatsappMarketingChannel'
nullable: true
transactional:
description: The Whatsapp transactional subscription.
$ref: '#/components/schemas/WhatsappTransactionalChannel'
nullable: true
conversational:
description: The Whatsapp conversational subscription.
$ref: '#/components/schemas/WhatsappConversationalChannel'
nullable: true
PushChannel:
type: object
properties:
marketing:
description: The mobile push marketing subscription.
$ref: '#/components/schemas/PushMarketing'
nullable: true
ProfileEnum:
type: string
enum:
- profile
SMSChannel:
type: object
properties:
marketing:
description: The SMS marketing subscription.
$ref: '#/components/schemas/SMSMarketing'
nullable: true
transactional:
description: The SMS transactional subscription.
$ref: '#/components/schemas/SMSTransactional'
nullable: true
TagResponseObjectResource:
type: object
properties:
type:
$ref: '#/components/schemas/TagEnum'
id:
description: The Tag ID
type: string
example: abcd1234-ef56-gh78-ij90-abcdef123456
attributes:
type: object
properties:
name:
description: The Tag name
type: string
example: My Tag
required:
- name
relationships:
type: object
properties:
tag-group:
type: object
properties:
data:
type: object
properties:
type:
$ref: '#/components/schemas/TagGroupEnum'
id:
type: string
required:
- type
- id
links:
$ref: '#/components/schemas/RelationshipLinks'
lists:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ListEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
segments:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/SegmentEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
campaigns:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/CampaignEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
flows:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/FlowEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
ListCreateQuery:
type: object
properties:
data:
$ref: '#/components/schemas/ListCreateQueryResourceObject'
required:
- data
GetListListResponseCollectionCompoundDocument:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ListListResponseObjectResource'
links:
$ref: '#/components/schemas/CollectionLinks'
included:
type: array
items:
oneOf:
- $ref: '#/components/schemas/TagResponseObjectResource'
- $ref: '#/components/schemas/FlowResponseObjectResource'
required:
- data
GetListProfilesRelationshipsResponseCollection:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ProfileEnum'
id:
description: Primary key that uniquely identifies this profile. Generated by Klaviyo.
type: string
example: 01GDDKASAP8TKDDA2GRZDSVP4H
links:
$ref: '#/components/schemas/CollectionLinks'
required:
- data
FlowEnum:
type: string
enum:
- flow
CampaignEnum:
type: string
enum:
- campaign
EmailChannel:
type: object
properties:
marketing:
description: The email marketing subscription.
$ref: '#/components/schemas/EmailMarketing'
nullable: true
GetListMemberResponseCollection:
type: object
properties:
data:
type: array
items:
allOf:
- properties:
type:
$ref: '#/components/schemas/ProfileEnum'
attributes:
properties:
subscriptions:
$ref: '#/components/schemas/Subscriptions'
nullable: true
predictive_analytics:
$ref: '#/components/schemas/PredictiveAnalytics'
nullable: true
- $ref: '#/components/schemas/ListMemberResponseObjectResource'
links:
$ref: '#/components/schemas/CollectionLinks'
required:
- data
PushMarketing:
type: object
properties:
can_receive_push_marketing:
description: Whether or not this profile is subscribed to receive mobile push.
type: boolean
consent:
description: The consent status for mobile push marketing.
type: string
example: SUBSCRIBED
consent_timestamp:
description: The timestamp when the consent was last changed, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
required:
- can_receive_push_marketing
- consent
WhatsappMarketingChannel:
type: object
properties:
consent:
description: The consent status for the channel.
type: string
example: SUBSCRIBED
consent_timestamp:
description: The timestamp when consent was recorded or updated for the channel, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
last_updated:
description: The timestamp when the channel was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
created_timestamp:
description: The timestamp when the channel was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
metadata:
description: Channel-specific metadata containing additional information about the permission.
type: object
nullable: true
can_receive:
description: Whether the profile can receive messages on this channel.
type: boolean
valid_until:
description: Optional expiration date for the permission, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2024-02-21T20:07:38+00:00'
nullable: true
phone_number:
description: Phone number to which the consent was granted for.
type: string
required:
- consent
- can_receive
- phone_number
SegmentEnum:
type: string
enum:
- segment
WhatsappConversationalChannel:
type: object
properties:
consent:
description: The consent status for the channel.
type: string
example: SUBSCRIBED
consent_timestamp:
description: The timestamp when consent was recorded or updated for the channel, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
last_updated:
description: The timestamp when the channel was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
created_timestamp:
description: The timestamp when the channel was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
nullable: true
metadata:
description: Channel-specific metadata containing additional information about the permission.
type: object
nullable: true
can_receive:
description: Whether the profile can receive messages on this channel.
type: boolean
valid_until:
description: Optional expiration date for the permission, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2024-02-21T20:07:38+00:00'
nullable: true
phone_number:
description: Phone number to which the consent was granted for.
type: string
required:
- consent
- can_receive
- phone_number
ListRetrieveResponseObjectResource:
type: object
properties:
type:
$ref: '#/components/schemas/ListEnum'
id:
description: Primary key that uniquely identifies this list. Generated by Klaviyo.
type: string
example: Y6nRLr
attributes:
type: object
properties:
name:
description: A helpful name to label the list
type: string
example: Newsletter
nullable: true
created:
description: Date and time when the list was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
updated:
description: Date and time when the list was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm)
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
nullable: true
opt_in_process:
description: 'The opt-in process for this list. Valid values: ''double_opt_in'', ''single_opt_in''.'
type: string
example: double_opt_in
enum:
- double_opt_in
- single_opt_in
nullable: true
relationships:
type: object
properties:
profiles:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ProfileEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
tags:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/TagEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
flow-triggers:
type: object
properties:
data:
type: array
items:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/FlowEnum'
id:
type: string
links:
$ref: '#/components/schemas/RelationshipLinks'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
EmailMarketingSuppression:
type: object
properties:
reason:
description: The reason the profile was suppressed.
type: string
example: HARD_BOUNCE
enum:
- HARD_BOUNCE
- INVALID_EMAIL
- SPAM_COMPLAINT
- UNSUBSCRIBE
- USER_SUPPRESSED
timestamp:
description: The timestamp when the profile was suppressed, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
type: string
format: date-time
example: '2023-02-21T20:07:38+00:00'
required:
- reason
- timestamp
ObjectLinks:
type: object
properties:
self:
type: string
format: uri
required:
- self
TagGroupEnum:
type: string
enum:
- tag-group
CollectionLinks:
type: object
properties:
self:
type: string
format: uri
first:
type: string
format: uri
last:
type: string
format: uri
prev:
type: string
format: uri
next:
type: string
format: uri
required:
- self
FlowActionEnum:
type: string
enum:
- flow-action
TagEnum:
type: string
enum:
- tag
ProfileLocation:
type: object
properties:
address1:
description: First line of street address
type: string
example: 89 E 42nd St
nullable: true
address2:
description: Second line of street address
type: string
example: 1st floor
nullable: true
city:
description: City name
type: string
example: New York
nullable: true
country:
description: Country name
type: string
example: United States
nullable: true
latitude:
description: Latitude coordinate. We recommend providing a precision of four decimal places.
example: '40.7128'
nullable: true
oneOf:
- type: string
- type: number
longitude:
description: Longitude coordinate. We recommend providing a precision of four decimal places.
example: '74.0060'
nullable: true
oneOf:
- type: string
- type: number
region:
description: Region within a country, such as state or province
type: string
example: NY
nullable: true
zip:
description: Zip code
type: string
example: '10017'
nullable: true
timezone:
description: Time zone name. We recommend using time zones from the IANA Time Zone Database.
type: string
example: America/New_York
nullable: true
ip:
description: IP Address
type: string
example: 127.0.0.1
nullable: true
ListCreateQueryResourceObject:
type: object
properties:
type:
$ref: '#/components/schemas/ListEnum'
attributes:
type: object
properties:
name:
description: A helpful name to label the list
type: string
example: Newsletter
opt_in_process:
description: 'The opt-in process for this list. Valid values: ''double_opt_in'', ''single_opt_in''. If not provided, uses account default.'
type: string
example: double_opt_in
enum:
- double_opt_in
- single_opt_in
nullable: true
required:
- name
required:
- type
- attributes
RelationshipLinks:
type: object
properties:
self:
type: string
format: uri
related:
type: string
format: uri
required:
- self
- related
responses:
ClientError:
description: Client Error
content:
application/vnd.api+json:
schema:
type: object
properties:
errors:
type: array
items:
type: object
required:
- id
- code
- title
- detail
properties:
id:
type: string
code:
type: string
title:
type: string
detail:
type: string
source:
type: object
properties:
pointer:
type: string
parameter:
type: string
required:
- errors
ServerError:
description: Server Error
content:
application/vnd.api+json:
schema:
type: object
properties:
errors:
type: array
items:
type: object
required:
- id
- code
- title
- detail
properties:
id:
type: string
code:
type: string
title:
type: string
detail:
type: string
source:
type: object
properties:
pointer:
type: string
parameter:
type: string
required:
- errors
securitySchemes:
Klaviyo-API-Key:
type: apiKey
in: header
name: Authorization
description: Private key authentication for /api/ endpoints is performed by setting the `Authorization` header to `Klaviyo-API-Key your-private-api-key`
For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#authentication
x-default: Klaviyo-API-Key your-private-api-key
x-readme:
explorer-enabled: false
proxy-enabled: true
samples-enabled: true