openapi: 3.0.2
info:
title: Klaviyo Accounts Tracking Settings 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: Tracking Settings
description: tracking settings
paths:
/api/tracking-settings:
get:
operationId: get_tracking_settings
summary: Get Tracking Settings
description: 'Get all UTM tracking settings in an account. Returns an array with a single tracking setting.
More information about UTM tracking settings can be found [here](https://help.klaviyo.com/hc/en-us/articles/115005247808).
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`tracking-settings:read`'
parameters:
- name: fields[tracking-setting]
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:
- auto_add_parameters
- custom_parameters
- utm_campaign
- utm_campaign.campaign
- utm_campaign.campaign.type
- utm_campaign.campaign.value
- utm_campaign.flow
- utm_campaign.flow.type
- utm_campaign.flow.value
- utm_id
- utm_id.campaign
- utm_id.campaign.type
- utm_id.campaign.value
- utm_id.flow
- utm_id.flow.type
- utm_id.flow.value
- utm_medium
- utm_medium.campaign
- utm_medium.campaign.type
- utm_medium.campaign.value
- utm_medium.flow
- utm_medium.flow.type
- utm_medium.flow.value
- utm_source
- utm_source.campaign
- utm_source.campaign.type
- utm_source.campaign.value
- utm_source.flow
- utm_source.flow.type
- utm_source.flow.value
- utm_term
- utm_term.campaign
- utm_term.campaign.type
- utm_term.campaign.value
- utm_term.flow
- utm_term.flow.type
- utm_term.flow.value
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: 1. Min: 1. Max: 1.'
required: false
schema:
type: integer
default: 1
maximum: 1
minimum: 1
- 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/GetTrackingSettingResponseCollection'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Tracking Settings
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- tracking-settings:read
/api/tracking-settings/{id}:
get:
operationId: get_tracking_setting
summary: Get Tracking Setting
description: 'Get the UTM tracking setting with the given account ID.
More information about UTM tracking settings can be found [here](https://help.klaviyo.com/hc/en-us/articles/115005247808).
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`tracking-settings:read`'
parameters:
- name: id
in: path
description: The id of the tracking setting (account ID).
required: true
schema:
description: The id of the tracking setting (account ID).
type: string
example: abCdEf
- name: fields[tracking-setting]
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:
- auto_add_parameters
- custom_parameters
- utm_campaign
- utm_campaign.campaign
- utm_campaign.campaign.type
- utm_campaign.campaign.value
- utm_campaign.flow
- utm_campaign.flow.type
- utm_campaign.flow.value
- utm_id
- utm_id.campaign
- utm_id.campaign.type
- utm_id.campaign.value
- utm_id.flow
- utm_id.flow.type
- utm_id.flow.value
- utm_medium
- utm_medium.campaign
- utm_medium.campaign.type
- utm_medium.campaign.value
- utm_medium.flow
- utm_medium.flow.type
- utm_medium.flow.value
- utm_source
- utm_source.campaign
- utm_source.campaign.type
- utm_source.campaign.value
- utm_source.flow
- utm_source.flow.type
- utm_source.flow.value
- utm_term
- utm_term.campaign
- utm_term.campaign.type
- utm_term.campaign.value
- utm_term.flow
- utm_term.flow.type
- utm_term.flow.value
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/GetTrackingSettingResponse'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Tracking Settings
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- tracking-settings:read
patch:
operationId: update_tracking_setting
summary: Update Tracking Setting
description: 'Update the UTM tracking setting with the given account ID.
More information about UTM tracking settings can be found [here](https://help.klaviyo.com/hc/en-us/articles/115005247808).
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`tracking-settings:write`'
parameters:
- name: id
in: path
description: The id of the tracking setting (account ID).
required: true
schema:
description: The id of the tracking setting (account ID).
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:
description: DTO for updating tracking settings
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TrackingSettingPartialUpdateQuery'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchTrackingSettingResponse'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Tracking Settings
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- tracking-settings:write
components:
schemas:
TrackingSettingPartialUpdateQueryResourceObject:
type: object
properties:
type:
$ref: '#/components/schemas/TrackingSettingEnum'
id:
description: The id of the tracking setting (account ID).
type: string
attributes:
type: object
properties:
auto_add_parameters:
description: Whether tracking parameters are automatically added to campaigns and flows.
type: boolean
nullable: true
utm_source:
description: The utm_source tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
utm_medium:
description: The utm_medium tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
utm_campaign:
description: The utm_campaign tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
utm_id:
description: The utm_id tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
utm_term:
description: The utm_term tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
custom_parameters:
description: List of custom tracking parameters.
type: array
items:
$ref: '#/components/schemas/CustomTrackingParamDTO'
nullable: true
required:
- type
- id
- attributes
TrackingSettingPartialUpdateQuery:
type: object
properties:
data:
$ref: '#/components/schemas/TrackingSettingPartialUpdateQueryResourceObject'
required:
- data
GetTrackingSettingResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TrackingSettingResponseObjectResource'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- data
ObjectLinks:
type: object
properties:
self:
type: string
format: uri
required:
- self
TrackingSettingResponseObjectResource:
type: object
properties:
type:
$ref: '#/components/schemas/TrackingSettingEnum'
id:
description: The id of the tracking setting (account ID).
type: string
attributes:
type: object
properties:
auto_add_parameters:
description: Whether tracking parameters are automatically added to campaigns and flows.
type: boolean
utm_source:
description: The utm_source tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
utm_medium:
description: The utm_medium tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
utm_campaign:
description: The utm_campaign tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
utm_id:
description: The utm_id tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
utm_term:
description: The utm_term tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
custom_parameters:
description: Additional custom tracking parameters.
type: array
items:
$ref: '#/components/schemas/CustomTrackingParamDTO'
nullable: true
required:
- auto_add_parameters
- utm_source
- utm_medium
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
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
CustomTrackingParamDTO:
type: object
properties:
flow:
description: The value of the tracking parameter when applied to a flow.
nullable: true
oneOf:
- $ref: '#/components/schemas/FlowTrackingSettingDynamicParam'
- $ref: '#/components/schemas/FlowTrackingSettingStaticParam'
campaign:
description: The value of the tracking parameter when applied to a campaign.
nullable: true
oneOf:
- $ref: '#/components/schemas/CampaignTrackingSettingDynamicParam'
- $ref: '#/components/schemas/CampaignTrackingSettingStaticParam'
name:
description: The name of the custom tracking parameter
type: string
required:
- name
CampaignTrackingSettingStaticParam:
type: object
properties:
type:
description: The type of the tracking parameter
type: string
enum:
- static
value:
description: The value of the tracking parameter
type: string
required:
- type
- value
TrackingParamDTO:
type: object
properties:
flow:
description: The value of the tracking parameter when applied to a flow.
nullable: true
oneOf:
- $ref: '#/components/schemas/FlowTrackingSettingDynamicParam'
- $ref: '#/components/schemas/FlowTrackingSettingStaticParam'
campaign:
description: The value of the tracking parameter when applied to a campaign.
nullable: true
oneOf:
- $ref: '#/components/schemas/CampaignTrackingSettingDynamicParam'
- $ref: '#/components/schemas/CampaignTrackingSettingStaticParam'
GetTrackingSettingResponseCollection:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TrackingSettingResponseObjectResource'
links:
$ref: '#/components/schemas/CollectionLinks'
required:
- data
FlowTrackingSettingDynamicParam:
type: object
properties:
type:
description: The type of the tracking parameter
type: string
enum:
- dynamic
value:
description: The value of the tracking parameter
type: string
enum:
- email_subject
- flow_id
- flow_name
- link_alt_text
- message_name
- message_name_id
- message_type
- profile_external_id
- profile_id
required:
- type
- value
PatchTrackingSettingResponse:
type: object
properties:
data:
type: object
properties:
type:
$ref: '#/components/schemas/TrackingSettingEnum'
id:
description: The id of the tracking setting (account ID).
type: string
attributes:
type: object
properties:
auto_add_parameters:
description: Whether tracking parameters are automatically added to campaigns and flows.
type: boolean
utm_source:
description: The utm_source tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
utm_medium:
description: The utm_medium tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
utm_campaign:
description: The utm_campaign tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
utm_id:
description: The utm_id tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
utm_term:
description: The utm_term tracking parameter.
$ref: '#/components/schemas/TrackingParamDTO'
nullable: true
custom_parameters:
description: Additional custom tracking parameters.
type: array
items:
$ref: '#/components/schemas/CustomTrackingParamDTO'
nullable: true
required:
- auto_add_parameters
- utm_source
- utm_medium
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- data
FlowTrackingSettingStaticParam:
type: object
properties:
type:
description: The type of the tracking parameter
type: string
enum:
- static
value:
description: The value of the tracking parameter
type: string
required:
- type
- value
TrackingSettingEnum:
type: string
enum:
- tracking-setting
CampaignTrackingSettingDynamicParam:
type: object
properties:
type:
description: The type of the tracking parameter
type: string
enum:
- dynamic
value:
description: The value of the tracking parameter
type: string
enum:
- campaign_id
- campaign_name
- campaign_name_id
- campaign_name_send_day
- email_subject
- group_id
- group_name
- group_name_id
- link_alt_text
- message_type
- profile_external_id
- profile_id
required:
- type
- value
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