{ "openapi": "3.0.2", "info": { "title": "Klaviyo 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": [] } ], "paths": { "/api/campaigns": { "get": { "operationId": "get_campaigns", "summary": "Get Campaigns", "description": "Returns some or all campaigns based on filters.\n\nA channel filter is required to list campaigns. Please provide either:\n`?filter=equals(messages.channel,'email')` to list email campaigns, or\n`?filter=equals(messages.channel,'sms')` to list SMS campaigns.\n`?filter=equals(messages.channel,'mobile_push')` to list mobile push campaigns.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaigns.json)", "parameters": [ { "name": "fields[campaign-message]", "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_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at" ] } }, "explode": false }, { "name": "fields[campaign]", "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", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at" ] } }, "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": [ "id", "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):
`id`: `any`
`messages.channel`: `equals`
`name`: `contains`
`status`: `any`, `equals`
`archived`: `equals`
`created_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`
`scheduled_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`
`updated_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`", "required": true, "schema": { "type": "string", "example": "equals(messages.channel,'email')" } }, { "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": [ "campaign-messages", "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: 100. Min: 1. Max: 100.", "required": false, "schema": { "type": "integer", "default": 100, "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": [ "created_at", "-created_at", "id", "-id", "name", "-name", "scheduled_at", "-scheduled_at", "updated_at", "-updated_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/GetCampaignResponseCollectionCompoundDocument" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-filters": { "id": { "operators": { "list": [ "any" ] }, "value": { "type": "string" } }, "messages.channel": { "operators": { "single": [ "equals" ] }, "value": { "type": "string", "enum": [ "email", "sms", "mobile_push" ] } }, "name": { "operators": { "single": [ "contains" ] }, "value": { "type": "string" } }, "status": { "operators": { "list": [ "any", "equals" ], "single": [ "equals" ] }, "value": { "type": "string", "enum": [ "Scheduled", "Sent", "Draft", "Cancelled", "Adding Recipients", "Sending", "Variations Sent", "Sending Segments", "Cancelled: Smart Sending", "Preparing to send", "Cancelled: Account Disabled", "Cancelled: No Recipients", "Preparing to schedule", "Cancelled: Internal Error", "Queued without Recipients", "Cancelled: Billing Limit", "Cancelled: Misconfigured", "Unknown" ] } }, "archived": { "operators": { "single": [ "equals" ] }, "value": { "type": "boolean" } }, "created_at": { "operators": { "single": [ "greater-or-equal", "greater-than", "less-or-equal", "less-than" ] }, "value": { "type": "string", "format": "date-time" } }, "scheduled_at": { "operators": { "single": [ "greater-or-equal", "greater-than", "less-or-equal", "less-than" ] }, "value": { "type": "string", "format": "date-time" } }, "updated_at": { "operators": { "single": [ "greater-or-equal", "greater-than", "less-or-equal", "less-than" ] }, "value": { "type": "string", "format": "date-time" } } }, "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ] }, "post": { "operationId": "create_campaign", "summary": "Create Campaign", "description": "Creates a campaign given a set of parameters, then returns it.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_campaign.json)", "parameters": [ { "name": "fields[campaign]", "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", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-04-15" } } ], "requestBody": { "description": "Creates a campaign from parameters", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/CampaignCreateQuery" } } } }, "responses": { "201": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PostCampaignResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ] } }, "/api/campaigns/{id}": { "get": { "operationId": "get_campaign", "summary": "Get Campaign", "description": "Returns a specific campaign based on a required id.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign.json)", "parameters": [ { "name": "id", "in": "path", "description": "The campaign ID to be retrieved", "required": true, "schema": { "description": "The campaign ID to be retrieved", "type": "string" } }, { "name": "fields[campaign-message]", "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_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at" ] } }, "explode": false }, { "name": "fields[campaign]", "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", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at" ] } }, "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": [ "id", "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": [ "campaign-messages", "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/GetCampaignResponseCompoundDocument" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ] }, "patch": { "operationId": "update_campaign", "summary": "Update Campaign", "description": "Update a campaign with the given campaign ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_campaign.json)", "parameters": [ { "name": "id", "in": "path", "description": "The campaign ID to be retrieved", "required": true, "schema": { "description": "The campaign ID to be retrieved", "type": "string" } }, { "name": "fields[campaign]", "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", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-04-15" } } ], "requestBody": { "description": "Update a campaign and return it", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/CampaignPartialUpdateQuery" } } } }, "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PatchCampaignResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ] }, "delete": { "operationId": "delete_campaign", "summary": "Delete Campaign", "description": "Delete a campaign with the given campaign ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/delete_campaign.json)", "parameters": [ { "name": "id", "in": "path", "description": "The campaign ID to be deleted", "required": true, "schema": { "description": "The campaign ID to be deleted", "type": "string" } }, { "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": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ] } }, "/api/campaign-messages/{id}": { "get": { "operationId": "get_campaign_message", "summary": "Get Campaign Message", "description": "Returns a specific message based on a required id.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_message.json)", "parameters": [ { "name": "id", "in": "path", "description": "The message ID to be retrieved", "required": true, "schema": { "description": "The message ID to be retrieved", "type": "string" } }, { "name": "fields[campaign-message]", "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_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at" ] } }, "explode": false }, { "name": "fields[campaign]", "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", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at" ] } }, "explode": false }, { "name": "fields[image]", "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": [ "format", "hidden", "id", "image_url", "name", "size", "updated_at" ] } }, "explode": false }, { "name": "fields[template]", "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": [ "amp", "created", "editor_type", "html", "id", "name", "text", "updated" ] } }, "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": [ "campaign", "image", "template" ] } }, "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/GetCampaignMessageResponseCompoundDocument" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ], "x-klaviyo-subtag": "Messages" }, "patch": { "operationId": "update_campaign_message", "summary": "Update Campaign Message", "description": "Update a campaign message

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_campaign_message.json)", "parameters": [ { "name": "id", "in": "path", "description": "The message ID to be retrieved", "required": true, "schema": { "description": "The message ID to be retrieved", "type": "string" } }, { "name": "fields[campaign-message]", "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_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-04-15" } } ], "requestBody": { "description": "Update a message and return it", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/CampaignMessagePartialUpdateQuery" } } } }, "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PatchCampaignMessageResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ], "x-klaviyo-subtag": "Messages" } }, "/api/campaign-send-jobs/{id}": { "get": { "operationId": "get_campaign_send_job", "summary": "Get Campaign Send Job", "description": "Get a campaign send job

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_send_job.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the campaign to send", "required": true, "schema": { "description": "The ID of the campaign to send", "type": "string" } }, { "name": "fields[campaign-send-job]", "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": [ "id", "status" ] } }, "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/GetCampaignSendJobResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ], "x-klaviyo-subtag": "Jobs" }, "patch": { "operationId": "cancel_campaign_send", "summary": "Cancel Campaign Send", "description": "Permanently cancel the campaign, setting the status to CANCELED or\nrevert the campaign, setting the status back to DRAFT

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/cancel_campaign_send.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the currently sending campaign to cancel or revert", "required": true, "schema": { "description": "The ID of the currently sending campaign to cancel or revert", "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": "Permanently cancel the campaign, setting the status to CANCELED or\nrevert the campaign, setting the status back to DRAFT", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/CampaignSendJobPartialUpdateQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "update_campaign_send_job" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ], "x-klaviyo-subtag": "Jobs" } }, "/api/campaign-recipient-estimation-jobs/{id}": { "get": { "operationId": "get_campaign_recipient_estimation_job", "summary": "Get Campaign Recipient Estimation Job", "description": "Retrieve the status of a recipient estimation job triggered\nwith the `Create Campaign Recipient Estimation Job` endpoint.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_recipient_estimation_job.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the campaign to get recipient estimation status", "required": true, "schema": { "description": "The ID of the campaign to get recipient estimation status", "type": "string" } }, { "name": "fields[campaign-recipient-estimation-job]", "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": [ "id", "status" ] } }, "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/GetCampaignRecipientEstimationJobResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ], "x-klaviyo-subtag": "Jobs" } }, "/api/campaign-recipient-estimations/{id}": { "get": { "operationId": "get_campaign_recipient_estimation", "summary": "Get Campaign Recipient Estimation", "description": "Get the estimated recipient count for a campaign with the provided campaign ID.\nYou can refresh this count by using the `Create Campaign Recipient Estimation Job` endpoint.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_recipient_estimation.json)", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the campaign for which to get the estimated number of recipients", "required": true, "schema": { "description": "The ID of the campaign for which to get the estimated number of recipients", "type": "string" } }, { "name": "fields[campaign-recipient-estimation]", "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": [ "estimated_recipient_count", "id" ] } }, "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/GetCampaignRecipientEstimationResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ] } }, "/api/campaign-clone": { "post": { "operationId": "create_campaign_clone", "summary": "Create Campaign Clone", "description": "Clones an existing campaign, returning a new campaign based on the original with a new ID and name.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_campaign_clone.json)", "parameters": [ { "name": "fields[campaign]", "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", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-04-15" } } ], "requestBody": { "description": "Clones a campaign from an existing campaign", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/CampaignCloneQuery" } } } }, "responses": { "201": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PostCampaignResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "clone_campaign" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ] } }, "/api/campaign-message-assign-template": { "post": { "operationId": "assign_template_to_campaign_message", "summary": "Assign Template to Campaign Message", "description": "Creates a non-reusable version of the template and assigns it to the message.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/assign_template_to_campaign_message.json)", "parameters": [ { "name": "fields[campaign-message]", "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": [ "channel", "content", "content.bcc_email", "content.body", "content.cc_email", "content.from_email", "content.from_label", "content.media_url", "content.preview_text", "content.reply_to_email", "content.subject", "created_at", "id", "label", "render_options", "render_options.add_info_link", "render_options.add_opt_out_language", "render_options.add_org_prefix", "render_options.shorten_links", "send_times", "updated_at" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-04-15" } } ], "requestBody": { "description": "Takes a reusable template, clones it, and assigns the non-reusable clone to the message.", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/CampaignMessageAssignTemplateQuery" } } } }, "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PostCampaignMessageResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "create_campaign_message_assign_template" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ], "x-klaviyo-subtag": "Messages" } }, "/api/campaign-send-jobs": { "post": { "operationId": "send_campaign", "summary": "Send Campaign", "description": "Trigger a campaign to send asynchronously

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/send_campaign.json)", "parameters": [ { "name": "fields[campaign-send-job]", "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": [ "id", "status" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-04-15" } } ], "requestBody": { "description": "Trigger the campaign to send asynchronously", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/CampaignSendJobCreateQuery" } } } }, "responses": { "202": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PostCampaignSendJobResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "create_campaign_send_job" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ], "x-klaviyo-subtag": "Jobs" } }, "/api/campaign-recipient-estimation-jobs": { "post": { "operationId": "refresh_campaign_recipient_estimation", "summary": "Refresh Campaign Recipient Estimation", "description": "Trigger an asynchronous job to update the estimated number of recipients\nfor the given campaign ID. Use the `Get Campaign Recipient Estimation\nJob` endpoint to retrieve the status of this estimation job. Use the\n`Get Campaign Recipient Estimation` endpoint to retrieve the estimated\nrecipient count for a given campaign.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/refresh_campaign_recipient_estimation.json)", "parameters": [ { "name": "fields[campaign-recipient-estimation-job]", "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": [ "id", "status" ] } }, "explode": false }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-04-15" } } ], "requestBody": { "description": "Trigger an asynchronous job to update the estimated number of recipients\nfor the given campaign ID. Use the `Get Campaign Recipient Estimation\nJob` endpoint to retrieve the status of this estimation job. Use the\n`Get Campaign Recipient Estimation` endpoint to retrieve the estimated\nrecipient count for a given campaign.", "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/CampaignRecipientEstimationJobCreateQuery" } } } }, "responses": { "202": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/PostCampaignRecipientEstimationJobResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "create_campaign_recipient_estimation_job" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write" ], "x-klaviyo-subtag": "Jobs" } }, "/api/campaign-messages/{id}/campaign": { "get": { "operationId": "get_campaign_for_campaign_message", "summary": "Get Campaign for Campaign Message", "description": "Return the related campaign

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_for_campaign_message.json)", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "fields[campaign]", "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", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at" ] } }, "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/GetCampaignResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_message_campaign" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ], "x-klaviyo-subtag": "Messages" } }, "/api/campaign-messages/{id}/relationships/campaign": { "get": { "operationId": "get_campaign_id_for_campaign_message", "summary": "Get Campaign ID for Campaign Message", "description": "Returns the ID of the related campaign

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_id_for_campaign_message.json)", "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" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetCampaignMessageCampaignRelationshipResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_message_relationships_campaign" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ], "x-klaviyo-subtag": "Messages" } }, "/api/campaign-messages/{id}/template": { "get": { "operationId": "get_template_for_campaign_message", "summary": "Get Template for Campaign Message", "description": "Return the related template

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n`templates:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_template_for_campaign_message.json)", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "fields[template]", "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": [ "amp", "created", "editor_type", "html", "id", "name", "text", "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/GetTemplateResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_message_template" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read", "templates:read" ], "x-klaviyo-subtag": "Messages" } }, "/api/campaign-messages/{id}/relationships/template": { "get": { "operationId": "get_template_id_for_campaign_message", "summary": "Get Template ID for Campaign Message", "description": "Returns the ID of the related template

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n`templates:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_template_id_for_campaign_message.json)", "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" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetCampaignMessageTemplateRelationshipResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_message_relationships_template" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read", "templates:read" ], "x-klaviyo-subtag": "Messages" } }, "/api/campaign-messages/{id}/image": { "get": { "operationId": "get_image_for_campaign_message", "summary": "Get Image for Campaign Message", "description": "Return the related image for a given campaign message

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n`images:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_image_for_campaign_message.json)", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "fields[image]", "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": [ "format", "hidden", "id", "image_url", "name", "size", "updated_at" ] } }, "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/GetImageResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_message_image" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read", "images:read" ], "x-klaviyo-subtag": "Messages" } }, "/api/campaign-messages/{id}/relationships/image": { "get": { "operationId": "get_image_id_for_campaign_message", "summary": "Get Image ID for Campaign Message", "description": "Returns the ID of the related image

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n`images:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_image_id_for_campaign_message.json)", "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" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetCampaignMessageImageRelationshipResponse" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_message_relationships_image" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read", "images:read" ], "x-klaviyo-subtag": "Messages" }, "patch": { "operationId": "update_image_for_campaign_message", "summary": "Update Image for Campaign Message", "description": "Update a campaign message image

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:write`\n`images:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_image_for_campaign_message.json)", "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/CampaignMessageImageUpdateQuery" } } } }, "responses": { "204": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "update_campaign_message_relationships_image" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:write", "images:read" ], "x-klaviyo-subtag": "Messages" } }, "/api/campaigns/{id}/tags": { "get": { "operationId": "get_tags_for_campaign", "summary": "Get Tags for Campaign", "description": "Return all tags that belong to the given campaign.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`campaigns:read`\n`tags:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_tags_for_campaign.json)", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "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": [ "id", "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": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_tags" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "campaigns:read", "tags:read" ] } }, "/api/campaigns/{id}/relationships/tags": { "get": { "operationId": "get_tag_ids_for_campaign", "summary": "Get Tag IDs for Campaign", "description": "Returns the IDs of all tags associated with the given campaign.

*Rate limits*:
Burst: `3/s`
Steady: `60/m`\n\n**Scopes:**\n`campaigns:read`\n`tags:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_tag_ids_for_campaign.json)", "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" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetCampaignTagsRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_relationships_tags" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "3/s", "steady": "60/m" }, "x-klaviyo-scopes": [ "campaigns:read", "tags:read" ] } }, "/api/campaigns/{id}/campaign-messages": { "get": { "operationId": "get_messages_for_campaign", "summary": "Get Messages for Campaign", "description": "Return all messages that belong to the given campaign.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_messages_for_campaign.json)", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "fields[campaign-message]", "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_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at" ] } }, "explode": false }, { "name": "fields[campaign]", "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", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at" ] } }, "explode": false }, { "name": "fields[image]", "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": [ "format", "hidden", "id", "image_url", "name", "size", "updated_at" ] } }, "explode": false }, { "name": "fields[template]", "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": [ "amp", "created", "editor_type", "html", "id", "name", "text", "updated" ] } }, "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": [ "campaign", "image", "template" ] } }, "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/GetCampaignMessageResponseCollectionCompoundDocument" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_campaign_messages", "get_campaign_messages" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ] } }, "/api/campaigns/{id}/relationships/campaign-messages": { "get": { "operationId": "get_message_ids_for_campaign", "summary": "Get Message IDs for Campaign", "description": "Returns the IDs of all messages associated with the given campaign.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n**Scopes:**\n`campaigns:read`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_message_ids_for_campaign.json)", "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" } } ], "responses": { "200": { "description": "Success", "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/GetCampaignMessagesRelationshipsResponseCollection" } } } }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "tags": [ "Campaigns" ], "x-klaviyo-operation-aliases": [ "get_campaign_relationships_campaign_messages", "get_campaign_relationships_messages" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [ "campaigns:read" ] } } }, "components": { "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" ] } } } } }, "schemas": { "ABTestSendStrategy": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "ab_test_campaign" ] } }, "required": [ "method" ] }, "Audiences": { "type": "object", "properties": { "included": { "description": "A list of included audiences", "type": "array", "items": { "type": "string" }, "example": [ "Y6nRLr" ] }, "excluded": { "description": "An optional list of excluded audiences", "type": "array", "items": { "type": "string" }, "example": [ "UTd5ui" ], "nullable": true } }, "required": [ "included" ] }, "AudiencesUpdate": { "type": "object", "properties": { "included": { "description": "An optional list of included audiences, will override existing included audiences", "type": "array", "items": { "type": "string" }, "example": [ "Y6nRLr" ], "nullable": true }, "excluded": { "description": "An optional list of excluded audiences, will override exising excluded audiences", "type": "array", "items": { "type": "string" }, "example": [ "UTd5ui" ], "nullable": true } } }, "CampaignCloneQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignCloneQueryResourceObject" } }, "required": [ "data" ] }, "CampaignCloneQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The campaign ID to be cloned", "type": "string" }, "attributes": { "type": "object", "properties": { "new_name": { "description": "The name for the new cloned campaign", "type": "string", "example": "My cloned campaign's new name", "nullable": true } } } }, "required": [ "type", "id", "attributes" ] }, "CampaignCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignCreateQueryResourceObject" } }, "required": [ "data" ] }, "CampaignCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "attributes": { "type": "object", "properties": { "name": { "description": "The campaign name", "type": "string", "example": "My new campaign" }, "audiences": { "description": "The audiences to be included and/or excluded from the campaign", "$ref": "#/components/schemas/Audiences" }, "send_strategy": { "description": "The send strategy the campaign will send with. Defaults to 'Immediate' send strategy.", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/StaticSendStrategy" }, { "$ref": "#/components/schemas/ThrottledSendStrategy" }, { "$ref": "#/components/schemas/ImmediateSendStrategy" }, { "$ref": "#/components/schemas/SmartSendTimeStrategy" } ] }, "send_options": { "description": "Options to use when sending a campaign", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/EmailSendOptions" }, { "$ref": "#/components/schemas/SMSSendOptions" }, { "$ref": "#/components/schemas/PushSendOptions" } ] }, "tracking_options": { "description": "The tracking options associated with the campaign", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/CampaignsEmailTrackingOptions" }, { "$ref": "#/components/schemas/CampaignsSMSTrackingOptions" } ] }, "campaign-messages": { "description": "The message(s) associated with the campaign", "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/CampaignMessageCreateQueryResourceObject" } } }, "required": [ "data" ] } }, "required": [ "name", "audiences", "campaign-messages" ] } }, "required": [ "type", "attributes" ] }, "CampaignEnum": { "type": "string", "enum": [ "campaign" ] }, "CampaignMessageAssignTemplateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignMessageAssignTemplateQueryResourceObject" } }, "required": [ "data" ] }, "CampaignMessageAssignTemplateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message ID to be assigned to", "type": "string" }, "relationships": { "type": "object", "properties": { "template": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TemplateEnum" }, "id": { "description": "The template ID to assign", "type": "string", "example": "RipRmi" } }, "required": [ "type", "id" ] } } } }, "required": [ "template" ] } }, "required": [ "type", "id", "relationships" ] }, "CampaignMessageCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "attributes": { "type": "object", "properties": { "definition": { "oneOf": [ { "$ref": "#/components/schemas/EmailMessageDefinition" }, { "$ref": "#/components/schemas/SMSMessageDefinitionCreate" }, { "$ref": "#/components/schemas/MobilePushMessageStandardDefinitionCreate" }, { "$ref": "#/components/schemas/MobilePushMessageSilentDefinitionCreate" } ] } }, "required": [ "definition" ] }, "relationships": { "type": "object", "properties": { "image": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ImageEnum" }, "id": { "description": "The associated image for mobile_push messages", "type": "string" } }, "required": [ "type", "id" ] } } } } } }, "required": [ "type", "attributes" ] }, "CampaignMessageEnum": { "type": "string", "enum": [ "campaign-message" ] }, "CampaignMessageImageUpdateQuery": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ImageEnum" }, "id": { "description": "Campaign Message Image", "type": "string", "example": "14254" } }, "required": [ "type", "id" ] } }, "required": [ "data" ] }, "CampaignMessageIncrement": { "type": "object", "properties": { "badge_config": { "type": "string", "enum": [ "increment_one" ] } }, "required": [ "badge_config" ] }, "CampaignMessagePartialUpdateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignMessagePartialUpdateQueryResourceObject" } }, "required": [ "data" ] }, "CampaignMessagePartialUpdateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message ID to be retrieved", "type": "string" }, "attributes": { "type": "object", "properties": { "definition": { "description": "The contents and settings of the campaign message", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/EmailMessageDefinition" }, { "$ref": "#/components/schemas/SMSMessageDefinitionCreate" }, { "$ref": "#/components/schemas/MobilePushMessageStandardDefinitionUpdate" }, { "$ref": "#/components/schemas/MobilePushMessageSilentDefinitionUpdate" } ] } } }, "relationships": { "type": "object", "properties": { "image": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ImageEnum" }, "id": { "description": "The associated image for mobile_push messages", "type": "string" } }, "required": [ "type", "id" ] } } } } } }, "required": [ "type", "id", "attributes" ] }, "CampaignMessageProperty": { "type": "object", "properties": { "badge_config": { "type": "string", "enum": [ "set_property" ] }, "set_from_property": { "type": "string" } }, "required": [ "badge_config", "set_from_property" ] }, "CampaignMessageResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message ID", "type": "string" }, "attributes": { "type": "object", "properties": { "definition": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/EmailMessageDefinition" }, { "$ref": "#/components/schemas/SMSMessageDefinition" }, { "$ref": "#/components/schemas/MobilePushMessageStandardDefinition" }, { "$ref": "#/components/schemas/MobilePushMessageSilentDefinition" } ] }, "send_times": { "description": "The list of appropriate Send Time Sub-objects associated with the message", "type": "array", "items": { "$ref": "#/components/schemas/SendTime" }, "nullable": true }, "created_at": { "description": "The datetime when the message was created", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "updated_at": { "description": "The datetime when the message was last updated", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true } } }, "relationships": { "type": "object", "properties": { "campaign": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The parent campaign id", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "template": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TemplateEnum" }, "id": { "description": "The associated template id", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "image": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ImageEnum" }, "id": { "description": "The associated image id", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "CampaignMessageStaticCount": { "type": "object", "properties": { "badge_config": { "type": "string", "enum": [ "set_count" ] }, "value": { "type": "string" } }, "required": [ "badge_config", "value" ] }, "CampaignPartialUpdateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignPartialUpdateQueryResourceObject" } }, "required": [ "data" ] }, "CampaignPartialUpdateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The campaign ID to be retrieved", "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "description": "The campaign name", "type": "string", "example": "My new campaign", "nullable": true }, "audiences": { "description": "The audiences to be included and/or excluded from the campaign", "$ref": "#/components/schemas/AudiencesUpdate", "nullable": true }, "send_options": { "description": "Options to use when sending a campaign", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/EmailSendOptions" }, { "$ref": "#/components/schemas/SMSSendOptions" }, { "$ref": "#/components/schemas/PushSendOptions" } ] }, "tracking_options": { "description": "The tracking options associated with the campaign", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/CampaignsEmailTrackingOptions" }, { "$ref": "#/components/schemas/CampaignsSMSTrackingOptions" } ] }, "send_strategy": { "description": "The send strategy the campaign will send with", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/StaticSendStrategy" }, { "$ref": "#/components/schemas/ThrottledSendStrategy" }, { "$ref": "#/components/schemas/ImmediateSendStrategy" }, { "$ref": "#/components/schemas/SmartSendTimeStrategy" } ] } } } }, "required": [ "type", "id", "attributes" ] }, "CampaignRecipientEstimationEnum": { "type": "string", "enum": [ "campaign-recipient-estimation" ] }, "CampaignRecipientEstimationJobCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignRecipientEstimationJobCreateQueryResourceObject" } }, "required": [ "data" ] }, "CampaignRecipientEstimationJobCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignRecipientEstimationJobEnum" }, "id": { "description": "The ID of the campaign to perform recipient estimation", "type": "string" } }, "required": [ "type", "id" ] }, "CampaignRecipientEstimationJobEnum": { "type": "string", "enum": [ "campaign-recipient-estimation-job" ] }, "CampaignRecipientEstimationJobResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignRecipientEstimationJobEnum" }, "id": { "description": "The ID of the campaign used for estimating recipients", "type": "string", "example": "01GMRWDSA0ARTAKE1SFX8JGXAY" }, "attributes": { "type": "object", "properties": { "status": { "description": "The status of the recipient estimation job", "type": "string", "enum": [ "cancelled", "complete", "processing", "queued" ] } }, "required": [ "status" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "CampaignRecipientEstimationResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignRecipientEstimationEnum" }, "id": { "description": "The ID of the campaign for which to get the estimated number of recipients", "type": "string" }, "attributes": { "type": "object", "properties": { "estimated_recipient_count": { "description": "The estimated number of unique recipients the campaign will send to", "type": "integer" } }, "required": [ "estimated_recipient_count" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "CampaignResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The campaign ID", "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "description": "The campaign name", "type": "string" }, "status": { "description": "The current status of the campaign", "type": "string", "enum": [ "Adding Recipients", "Cancelled", "Cancelled: Account Disabled", "Cancelled: Billing Limit", "Cancelled: Internal Error", "Cancelled: Misconfigured", "Cancelled: No Recipients", "Cancelled: Smart Sending", "Draft", "Preparing to schedule", "Preparing to send", "Queued without Recipients", "Scheduled", "Sending", "Sending Segments", "Sent", "Unknown", "Variations Sent" ] }, "archived": { "description": "Whether the campaign has been archived or not", "type": "boolean" }, "audiences": { "description": "The audiences to be included and/or excluded from the campaign", "$ref": "#/components/schemas/Audiences" }, "send_options": { "description": "Options to use when sending a campaign", "oneOf": [ { "$ref": "#/components/schemas/EmailSendOptions" }, { "$ref": "#/components/schemas/SMSSendOptions" }, { "$ref": "#/components/schemas/PushSendOptions" } ] }, "tracking_options": { "description": "The tracking options associated with the campaign", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/CampaignsEmailTrackingOptions" }, { "$ref": "#/components/schemas/CampaignsSMSTrackingOptions" } ] }, "send_strategy": { "description": "The send strategy the campaign will send with", "oneOf": [ { "$ref": "#/components/schemas/StaticSendStrategy" }, { "$ref": "#/components/schemas/SmartSendTimeStrategy" }, { "$ref": "#/components/schemas/ThrottledSendStrategy" }, { "$ref": "#/components/schemas/ImmediateSendStrategy" }, { "$ref": "#/components/schemas/ABTestSendStrategy" }, { "$ref": "#/components/schemas/UnsupportedSendStrategy" } ] }, "created_at": { "description": "The datetime when the campaign was created", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "scheduled_at": { "description": "The datetime when the campaign was scheduled for future sending", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "updated_at": { "description": "The datetime when the campaign was last updated by a user or the system", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "send_time": { "description": "The datetime when the campaign will be / was sent or None if not yet scheduled by a send_job.", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true } }, "required": [ "name", "status", "archived", "audiences", "send_options", "send_strategy", "created_at", "updated_at" ] }, "relationships": { "type": "object", "properties": { "campaign-messages": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message(s) associated with the campaign", "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" ] }, "CampaignSendJobCreateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignSendJobCreateQueryResourceObject" } }, "required": [ "data" ] }, "CampaignSendJobCreateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignSendJobEnum" }, "id": { "description": "The ID of the campaign to send", "type": "string" } }, "required": [ "type", "id" ] }, "CampaignSendJobEnum": { "type": "string", "enum": [ "campaign-send-job" ] }, "CampaignSendJobPartialUpdateQuery": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignSendJobPartialUpdateQueryResourceObject" } }, "required": [ "data" ] }, "CampaignSendJobPartialUpdateQueryResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignSendJobEnum" }, "id": { "description": "The ID of the currently sending campaign to cancel or revert", "type": "string" }, "attributes": { "type": "object", "properties": { "action": { "description": "The action you would like to take with this send job from among 'cancel' and 'revert'", "type": "string", "example": "cancel", "enum": [ "cancel", "revert" ] } }, "required": [ "action" ] } }, "required": [ "type", "id", "attributes" ] }, "CampaignSendJobResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignSendJobEnum" }, "id": { "description": "The ID of the campaign to send", "type": "string" }, "attributes": { "type": "object", "properties": { "status": { "description": "The status of the send job", "type": "string", "enum": [ "cancelled", "complete", "processing", "queued" ] } }, "required": [ "status" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "CampaignsEmailTrackingOptions": { "type": "object", "properties": { "add_tracking_params": { "description": "Whether the campaign needs custom tracking parameters. If set to False, tracking params will not be used.", "type": "boolean", "nullable": true }, "custom_tracking_params": { "description": "A list of custom tracking parameters. If an empty list is given and add_tracking_params is True, uses company defaults.", "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/DynamicTrackingParam" }, { "$ref": "#/components/schemas/StaticTrackingParam" } ] }, "nullable": true }, "is_tracking_clicks": { "description": "Whether the campaign is tracking click events. If not specified, uses company defaults.", "type": "boolean", "nullable": true }, "is_tracking_opens": { "description": "Whether the campaign is tracking open events. If not specified, uses company defaults.", "type": "boolean", "nullable": true } } }, "CampaignsSMSTrackingOptions": { "type": "object", "properties": { "add_tracking_params": { "description": "Whether the campaign needs custom tracking parameters. If set to False, tracking params will not be used.", "type": "boolean", "nullable": true }, "custom_tracking_params": { "description": "A list of custom tracking parameters. If an empty list is given and add_tracking_params is True, uses company defaults.", "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/DynamicTrackingParam" }, { "$ref": "#/components/schemas/StaticTrackingParam" } ] }, "nullable": true } } }, "CollectionLinks": { "type": "object", "properties": { "self": { "type": "string", "format": "uri" }, "prev": { "type": "string", "format": "uri" }, "next": { "type": "string", "format": "uri" } }, "required": [ "self" ] }, "DynamicTrackingParam": { "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" ] }, "name": { "description": "Name of the tracking param", "type": "string", "example": "utm_medium" } }, "required": [ "type", "value", "name" ] }, "EmailContent": { "type": "object", "properties": { "subject": { "description": "The subject of the message", "type": "string", "example": "Buy our product!", "nullable": true }, "preview_text": { "description": "Preview text associated with the message", "type": "string", "example": "My preview text", "nullable": true }, "from_email": { "description": "The email the message should be sent from", "type": "string", "example": "store@my-company.com", "nullable": true }, "from_label": { "description": "The label associated with the from_email", "type": "string", "example": "My Company", "nullable": true }, "reply_to_email": { "description": "Optional Reply-To email address", "type": "string", "example": "reply-to@my-company.com", "nullable": true }, "cc_email": { "description": "Optional CC email address", "type": "string", "example": "cc@my-company.com", "nullable": true }, "bcc_email": { "description": "Optional BCC email address", "type": "string", "example": "bcc@my-company.com", "nullable": true } } }, "EmailContentSubObject": { "type": "object", "properties": { "subject": { "description": "The subject of the message", "type": "string", "example": "Buy our product!", "nullable": true }, "preview_text": { "description": "Preview text associated with the message", "type": "string", "example": "My preview text", "nullable": true }, "from_email": { "description": "The email the message should be sent from", "type": "string", "example": "store@my-company.com", "nullable": true }, "from_label": { "description": "The label associated with the from_email", "type": "string", "example": "My Company", "nullable": true }, "reply_to_email": { "description": "Optional Reply-To email address", "type": "string", "example": "reply-to@my-company.com", "nullable": true }, "cc_email": { "description": "Optional CC email address", "type": "string", "example": "cc@my-company.com", "nullable": true }, "bcc_email": { "description": "Optional BCC email address", "type": "string", "example": "bcc@my-company.com", "nullable": true } } }, "EmailMessageDefinition": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "email" ] }, "label": { "description": "The label or name on the message", "type": "string", "example": "My message name", "nullable": true }, "content": { "$ref": "#/components/schemas/EmailContent", "description": "Additional attributes relating to the content of the message", "nullable": true } }, "required": [ "channel" ] }, "EmailSendOptions": { "type": "object", "properties": { "use_smart_sending": { "description": "Use smart sending.", "type": "boolean", "example": true, "default": true, "nullable": true } } }, "FlowEnum": { "type": "string", "enum": [ "flow" ] }, "GetCampaignMessageCampaignRelationshipResponse": { "type": "object", "properties": { "data": { "type": "object", "nullable": true, "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The campaign ID", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignMessageImageRelationshipResponse": { "type": "object", "properties": { "data": { "type": "object", "nullable": true, "properties": { "type": { "$ref": "#/components/schemas/ImageEnum" }, "id": { "description": "The ID of the image", "type": "string", "example": "7" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignMessageResponseCollectionCompoundDocument": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/CampaignMessageResponseObjectResource" } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "included": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/TemplateResponseObjectResource" }, { "$ref": "#/components/schemas/CampaignResponseObjectResource" }, { "$ref": "#/components/schemas/ImageResponseObjectResource" } ] } } }, "required": [ "data" ] }, "GetCampaignMessageResponseCompoundDocument": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignMessageResponseObjectResource" }, "included": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/TemplateResponseObjectResource" }, { "$ref": "#/components/schemas/CampaignResponseObjectResource" }, { "$ref": "#/components/schemas/ImageResponseObjectResource" } ] } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignMessageTemplateRelationshipResponse": { "type": "object", "properties": { "data": { "type": "object", "nullable": true, "properties": { "type": { "$ref": "#/components/schemas/TemplateEnum" }, "id": { "description": "The ID of template", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignMessagesRelationshipsResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message ID", "type": "string" } } } }, "links": { "$ref": "#/components/schemas/CollectionLinks" } }, "required": [ "data" ] }, "GetCampaignRecipientEstimationJobResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignRecipientEstimationJobResponseObjectResource" }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignRecipientEstimationResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignRecipientEstimationResponseObjectResource" }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CampaignResponseObjectResource" } ], "nullable": true }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignResponseCollectionCompoundDocument": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/CampaignResponseObjectResource" } }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "included": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/TagResponseObjectResource" }, { "$ref": "#/components/schemas/CampaignMessageResponseObjectResource" } ] } } }, "required": [ "data" ] }, "GetCampaignResponseCompoundDocument": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignResponseObjectResource" }, "included": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/TagResponseObjectResource" }, { "$ref": "#/components/schemas/CampaignMessageResponseObjectResource" } ] } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignSendJobResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CampaignSendJobResponseObjectResource" }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetCampaignTagsRelationshipsResponseCollection": { "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" ] }, "GetImageResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ImageResponseObjectResource" }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "GetTagResponseCollection": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/TagResponseObjectResource" } }, "links": { "$ref": "#/components/schemas/CollectionLinks" } }, "required": [ "data" ] }, "GetTemplateResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/TemplateResponseObjectResource" } ], "nullable": true }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "ImageEnum": { "type": "string", "enum": [ "image" ] }, "ImageResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ImageEnum" }, "id": { "description": "The ID of the image", "type": "string", "example": "7" }, "attributes": { "type": "object", "properties": { "name": { "type": "string" }, "image_url": { "type": "string" }, "format": { "type": "string" }, "size": { "type": "integer" }, "hidden": { "type": "boolean" }, "updated_at": { "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" } }, "required": [ "name", "image_url", "format", "size", "hidden", "updated_at" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "ImmediateSendStrategy": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "immediate" ] } }, "required": [ "method" ] }, "ListEnum": { "type": "string", "enum": [ "list" ] }, "LocalStaticSend": { "type": "object", "properties": { "is_local": { "description": "Whether the campaign should be sent with local recipient timezone send (requires UTC time) or statically sent at the given time.", "type": "boolean", "enum": [ true ] }, "send_past_recipients_immediately": { "description": "Determines if we should send to local recipient timezone if the given time has passed. Only applicable to local sends.", "type": "boolean", "default": false } }, "required": [ "is_local" ] }, "MobilePushBadge": { "type": "object", "properties": { "display": { "description": "Whether to display a badge on the app icon", "type": "boolean", "enum": [ true ] }, "badge_options": { "description": "Badge options", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/CampaignMessageIncrement" }, { "$ref": "#/components/schemas/CampaignMessageStaticCount" }, { "$ref": "#/components/schemas/CampaignMessageProperty" } ] } }, "required": [ "display" ] }, "MobilePushContent": { "type": "object", "properties": { "title": { "description": "The title of the message", "type": "string", "nullable": true }, "body": { "description": "The message body", "type": "string", "example": "My preview push notification", "nullable": true }, "dynamic_image": { "description": "The dynamic image to be used in the push notification", "type": "string", "nullable": true }, "action_buttons": { "description": "Action buttons for the push notification", "type": "array", "items": { "$ref": "#/components/schemas/PushActionButtonDefinition" }, "nullable": true } } }, "MobilePushContentCreate": { "type": "object", "properties": { "title": { "description": "The title of the message", "type": "string", "nullable": true }, "body": { "description": "The message body", "type": "string", "example": "My preview push notification" }, "dynamic_image": { "description": "The dynamic image to be used in the push notification", "type": "string", "nullable": true }, "action_buttons": { "description": "Action buttons for the push notification (max 3, positions 0-indexed with no gaps)", "type": "array", "items": { "$ref": "#/components/schemas/PushActionButtonDefinition" }, "nullable": true } }, "required": [ "body" ] }, "MobilePushContentUpdate": { "type": "object", "properties": { "title": { "description": "The title of the message", "type": "string", "nullable": true }, "body": { "description": "The message body", "type": "string", "example": "My preview push notification", "nullable": true }, "dynamic_image": { "description": "The dynamic image to be used in the push notification", "type": "string", "nullable": true }, "action_buttons": { "description": "Action buttons for the push notification (max 3, positions 0-indexed with no gaps)", "type": "array", "items": { "$ref": "#/components/schemas/PushActionButtonDefinition" }, "nullable": true } } }, "MobilePushMessageSilentDefinition": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "mobile_push" ] }, "notification_type": { "description": "The type of notification to send", "type": "string", "enum": [ "silent" ] }, "kv_pairs": { "description": "The key-value pairs to be sent with the push notification", "type": "object", "nullable": true } }, "required": [ "channel", "notification_type" ] }, "MobilePushMessageSilentDefinitionCreate": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "mobile_push" ] }, "kv_pairs": { "description": "The key-value pairs to be sent with the push notification", "type": "object", "nullable": true }, "notification_type": { "description": "The type of notification to send", "type": "string", "example": "silent", "default": "silent", "enum": [ "silent" ] } }, "required": [ "channel" ] }, "MobilePushMessageSilentDefinitionUpdate": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "mobile_push" ] }, "kv_pairs": { "description": "The key-value pairs to be sent with the push notification", "type": "object" }, "notification_type": { "description": "The type of notification to send", "type": "string", "example": "silent", "default": "silent", "enum": [ "silent" ] } }, "required": [ "channel" ] }, "MobilePushMessageStandardDefinition": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "mobile_push" ] }, "notification_type": { "description": "The type of notification to send", "type": "string", "enum": [ "standard" ] }, "content": { "$ref": "#/components/schemas/MobilePushContent", "description": "Additional attributes relating to the content of the message" }, "kv_pairs": { "description": "The key-value pairs to be sent with the push notification", "type": "object", "nullable": true }, "options": { "$ref": "#/components/schemas/MobilePushOptions", "nullable": true } }, "required": [ "channel", "notification_type", "content" ] }, "MobilePushMessageStandardDefinitionCreate": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "mobile_push" ] }, "content": { "$ref": "#/components/schemas/MobilePushContentCreate", "description": "Additional attributes relating to the content of the message" }, "kv_pairs": { "description": "The key-value pairs to be sent with the push notification", "type": "object", "nullable": true }, "options": { "$ref": "#/components/schemas/MobilePushOptions", "nullable": true }, "notification_type": { "description": "The type of notification to send", "type": "string", "example": "standard", "default": "standard", "enum": [ "standard" ] } }, "required": [ "channel", "content" ] }, "MobilePushMessageStandardDefinitionUpdate": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "mobile_push" ] }, "kv_pairs": { "description": "The key-value pairs to be sent with the push notification", "type": "object", "nullable": true }, "content": { "$ref": "#/components/schemas/MobilePushContentUpdate", "description": "Additional attributes relating to the content of the message", "nullable": true }, "options": { "description": "Additional device specific options for the push notification", "$ref": "#/components/schemas/MobilePushOptions", "nullable": true }, "notification_type": { "description": "The type of notification to send", "type": "string", "example": "standard", "default": "standard", "enum": [ "standard" ] } }, "required": [ "channel" ] }, "MobilePushNoBadge": { "type": "object", "properties": { "display": { "description": "Whether to display a badge on the app icon", "type": "boolean", "enum": [ false ] } }, "required": [ "display" ] }, "MobilePushOptions": { "type": "object", "properties": { "on_open": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/PushOnOpenApp" }, { "$ref": "#/components/schemas/PushOnOpenDeepLink" } ] }, "badge": { "description": "Only supported on iOS.", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/MobilePushBadge" }, { "$ref": "#/components/schemas/MobilePushNoBadge" } ] }, "play_sound": { "description": "Only supported on iOS.", "type": "boolean", "default": false, "nullable": true } } }, "NonLocalStaticSend": { "type": "object", "properties": { "is_local": { "description": "Whether the campaign should be sent with local recipient timezone send (requires UTC time) or statically sent at the given time.", "type": "boolean", "enum": [ false ] } }, "required": [ "is_local" ] }, "ObjectLinks": { "type": "object", "properties": { "self": { "type": "string", "format": "uri" } }, "required": [ "self" ] }, "PatchCampaignMessageResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message ID", "type": "string" }, "attributes": { "type": "object", "properties": { "definition": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/EmailMessageDefinition" }, { "$ref": "#/components/schemas/SMSMessageDefinition" }, { "$ref": "#/components/schemas/MobilePushMessageStandardDefinition" }, { "$ref": "#/components/schemas/MobilePushMessageSilentDefinition" } ] }, "send_times": { "description": "The list of appropriate Send Time Sub-objects associated with the message", "type": "array", "items": { "$ref": "#/components/schemas/SendTime" }, "nullable": true }, "created_at": { "description": "The datetime when the message was created", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "updated_at": { "description": "The datetime when the message was last updated", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true } } }, "relationships": { "type": "object", "properties": { "campaign": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The parent campaign id", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "template": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TemplateEnum" }, "id": { "description": "The associated template id", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "image": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ImageEnum" }, "id": { "description": "The associated image id", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "PatchCampaignResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The campaign ID", "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "description": "The campaign name", "type": "string" }, "status": { "description": "The current status of the campaign", "type": "string", "enum": [ "Adding Recipients", "Cancelled", "Cancelled: Account Disabled", "Cancelled: Billing Limit", "Cancelled: Internal Error", "Cancelled: Misconfigured", "Cancelled: No Recipients", "Cancelled: Smart Sending", "Draft", "Preparing to schedule", "Preparing to send", "Queued without Recipients", "Scheduled", "Sending", "Sending Segments", "Sent", "Unknown", "Variations Sent" ] }, "archived": { "description": "Whether the campaign has been archived or not", "type": "boolean" }, "audiences": { "description": "The audiences to be included and/or excluded from the campaign", "$ref": "#/components/schemas/Audiences" }, "send_options": { "description": "Options to use when sending a campaign", "oneOf": [ { "$ref": "#/components/schemas/EmailSendOptions" }, { "$ref": "#/components/schemas/SMSSendOptions" }, { "$ref": "#/components/schemas/PushSendOptions" } ] }, "tracking_options": { "description": "The tracking options associated with the campaign", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/CampaignsEmailTrackingOptions" }, { "$ref": "#/components/schemas/CampaignsSMSTrackingOptions" } ] }, "send_strategy": { "description": "The send strategy the campaign will send with", "oneOf": [ { "$ref": "#/components/schemas/StaticSendStrategy" }, { "$ref": "#/components/schemas/SmartSendTimeStrategy" }, { "$ref": "#/components/schemas/ThrottledSendStrategy" }, { "$ref": "#/components/schemas/ImmediateSendStrategy" }, { "$ref": "#/components/schemas/ABTestSendStrategy" }, { "$ref": "#/components/schemas/UnsupportedSendStrategy" } ] }, "created_at": { "description": "The datetime when the campaign was created", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "scheduled_at": { "description": "The datetime when the campaign was scheduled for future sending", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "updated_at": { "description": "The datetime when the campaign was last updated by a user or the system", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "send_time": { "description": "The datetime when the campaign will be / was sent or None if not yet scheduled by a send_job.", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true } }, "required": [ "name", "status", "archived", "audiences", "send_options", "send_strategy", "created_at", "updated_at" ] }, "relationships": { "type": "object", "properties": { "campaign-messages": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message(s) associated with the campaign", "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" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "PostCampaignMessageResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message ID", "type": "string" }, "attributes": { "type": "object", "properties": { "label": { "description": "The label or name on the message", "type": "string" }, "channel": { "description": "The channel the message is to be sent on", "type": "string" }, "content": { "description": "Additional attributes relating to the content of the message", "oneOf": [ { "$ref": "#/components/schemas/EmailContentSubObject" }, { "$ref": "#/components/schemas/SMSContentSubObject" } ] }, "send_times": { "description": "The list of appropriate Send Time Sub-objects associated with the message", "type": "array", "items": { "$ref": "#/components/schemas/SendTimeSubObject" }, "nullable": true }, "render_options": { "description": "Additional options for rendering the message", "$ref": "#/components/schemas/RenderOptionsSubObject", "nullable": true }, "created_at": { "description": "The datetime when the message was created", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "updated_at": { "description": "The datetime when the message was last updated", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true } }, "required": [ "label", "channel", "content" ] }, "relationships": { "type": "object", "properties": { "campaign": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The parent campaign id", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } }, "template": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TemplateEnum" }, "id": { "description": "The associated template id", "type": "string" } }, "required": [ "type", "id" ] }, "links": { "$ref": "#/components/schemas/RelationshipLinks" } } } } }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "PostCampaignRecipientEstimationJobResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignRecipientEstimationJobEnum" }, "id": { "description": "The ID of the campaign used for estimating recipients", "type": "string", "example": "01GMRWDSA0ARTAKE1SFX8JGXAY" }, "attributes": { "type": "object", "properties": { "status": { "description": "The status of the recipient estimation job", "type": "string", "enum": [ "cancelled", "complete", "processing", "queued" ] } }, "required": [ "status" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "PostCampaignResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignEnum" }, "id": { "description": "The campaign ID", "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "description": "The campaign name", "type": "string" }, "status": { "description": "The current status of the campaign", "type": "string", "enum": [ "Adding Recipients", "Cancelled", "Cancelled: Account Disabled", "Cancelled: Billing Limit", "Cancelled: Internal Error", "Cancelled: Misconfigured", "Cancelled: No Recipients", "Cancelled: Smart Sending", "Draft", "Preparing to schedule", "Preparing to send", "Queued without Recipients", "Scheduled", "Sending", "Sending Segments", "Sent", "Unknown", "Variations Sent" ] }, "archived": { "description": "Whether the campaign has been archived or not", "type": "boolean" }, "audiences": { "description": "The audiences to be included and/or excluded from the campaign", "$ref": "#/components/schemas/Audiences" }, "send_options": { "description": "Options to use when sending a campaign", "oneOf": [ { "$ref": "#/components/schemas/EmailSendOptions" }, { "$ref": "#/components/schemas/SMSSendOptions" }, { "$ref": "#/components/schemas/PushSendOptions" } ] }, "tracking_options": { "description": "The tracking options associated with the campaign", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/CampaignsEmailTrackingOptions" }, { "$ref": "#/components/schemas/CampaignsSMSTrackingOptions" } ] }, "send_strategy": { "description": "The send strategy the campaign will send with", "oneOf": [ { "$ref": "#/components/schemas/StaticSendStrategy" }, { "$ref": "#/components/schemas/SmartSendTimeStrategy" }, { "$ref": "#/components/schemas/ThrottledSendStrategy" }, { "$ref": "#/components/schemas/ImmediateSendStrategy" }, { "$ref": "#/components/schemas/ABTestSendStrategy" }, { "$ref": "#/components/schemas/UnsupportedSendStrategy" } ] }, "created_at": { "description": "The datetime when the campaign was created", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "scheduled_at": { "description": "The datetime when the campaign was scheduled for future sending", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true }, "updated_at": { "description": "The datetime when the campaign was last updated by a user or the system", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "send_time": { "description": "The datetime when the campaign will be / was sent or None if not yet scheduled by a send_job.", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00", "nullable": true } }, "required": [ "name", "status", "archived", "audiences", "send_options", "send_strategy", "created_at", "updated_at" ] }, "relationships": { "type": "object", "properties": { "campaign-messages": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "$ref": "#/components/schemas/CampaignMessageEnum" }, "id": { "description": "The message(s) associated with the campaign", "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" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "PostCampaignSendJobResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/CampaignSendJobEnum" }, "id": { "description": "The ID of the campaign to send", "type": "string" }, "attributes": { "type": "object", "properties": { "status": { "description": "The status of the send job", "type": "string", "enum": [ "cancelled", "complete", "processing", "queued" ] } }, "required": [ "status" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "data" ] }, "PushActionButtonDefinition": { "type": "object", "properties": { "label": { "description": "The button label (max 40 characters)", "type": "string" }, "action_type": { "description": "The action type: open_app, deep_link, open_url, or dismiss", "type": "string" }, "position": { "description": "The display order of the button (0-indexed). If omitted, inferred from the button's order in the list.", "type": "integer", "nullable": true }, "url": { "description": "URL for deep_link or open_url action types (max 2048 characters)", "type": "string", "nullable": true } }, "required": [ "label", "action_type" ] }, "PushOnOpenApp": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "open_app" ] } }, "required": [ "type" ] }, "PushOnOpenDeepLink": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "deep_link" ] }, "ios_deep_link": { "description": "required for all platforms enabled for push", "type": "string", "nullable": true }, "android_deep_link": { "description": "required for all platforms enabled for push", "type": "string", "nullable": true } }, "required": [ "type" ] }, "PushSendOptions": { "type": "object", "properties": { "use_smart_sending": { "description": "Use smart sending.", "type": "boolean", "example": true, "default": true, "nullable": true } } }, "RelationshipLinks": { "type": "object", "properties": { "self": { "type": "string", "format": "uri" }, "related": { "type": "string", "format": "uri" } }, "required": [ "self", "related" ] }, "RenderOptions": { "type": "object", "properties": { "shorten_links": { "type": "boolean", "example": true, "default": true, "nullable": true }, "add_org_prefix": { "type": "boolean", "example": true, "default": true, "nullable": true }, "add_info_link": { "type": "boolean", "example": true, "default": true, "nullable": true }, "add_opt_out_language": { "type": "boolean", "default": false, "nullable": true } } }, "RenderOptionsSubObject": { "type": "object", "properties": { "shorten_links": { "type": "boolean", "example": true, "default": true, "nullable": true }, "add_org_prefix": { "type": "boolean", "example": true, "default": true, "nullable": true }, "add_info_link": { "type": "boolean", "example": true, "default": true, "nullable": true }, "add_opt_out_language": { "type": "boolean", "default": false, "nullable": true } } }, "SMSContent": { "type": "object", "properties": { "body": { "description": "The message body", "type": "string", "example": "My preview sms", "nullable": true }, "media_url": { "description": "URL for included media", "type": "string", "nullable": true } } }, "SMSContentCreate": { "type": "object", "properties": { "body": { "description": "The message body", "type": "string", "example": "My preview sms", "nullable": true } } }, "SMSContentSubObject": { "type": "object", "properties": { "body": { "description": "The message body", "type": "string", "example": "My preview sms", "nullable": true }, "media_url": { "description": "URL for included media", "type": "string", "nullable": true } } }, "SMSMessageDefinition": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "sms" ] }, "content": { "$ref": "#/components/schemas/SMSContent", "description": "Additional attributes relating to the content of the message", "nullable": true }, "render_options": { "description": "Additional options for rendering the message", "$ref": "#/components/schemas/RenderOptions", "nullable": true } }, "required": [ "channel" ] }, "SMSMessageDefinitionCreate": { "type": "object", "properties": { "channel": { "type": "string", "enum": [ "sms" ] }, "content": { "$ref": "#/components/schemas/SMSContentCreate", "description": "Additional attributes relating to the content of the message", "nullable": true }, "render_options": { "description": "Additional options for rendering the message", "$ref": "#/components/schemas/RenderOptions", "nullable": true } }, "required": [ "channel" ] }, "SMSSendOptions": { "type": "object", "properties": { "use_smart_sending": { "description": "Use smart sending.", "type": "boolean", "example": true, "default": true, "nullable": true } } }, "SegmentEnum": { "type": "string", "enum": [ "segment" ] }, "SendTime": { "type": "object", "properties": { "datetime": { "description": "The datetime that the message is to be sent", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "is_local": { "description": "Whether that datetime is to be a local datetime for the recipient", "type": "boolean" } }, "required": [ "datetime", "is_local" ] }, "SendTimeSubObject": { "type": "object", "properties": { "datetime": { "description": "The datetime that the message is to be sent", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "is_local": { "description": "Whether that datetime is to be a local datetime for the recipient", "type": "boolean" } }, "required": [ "datetime", "is_local" ] }, "SmartSendTimeStrategy": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "smart_send_time" ] }, "date": { "description": "The day to send on", "type": "string", "format": "date" } }, "required": [ "method", "date" ] }, "StaticSendStrategy": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "static" ] }, "datetime": { "description": "The time to send at", "type": "string", "format": "date-time", "example": "2022-11-08T00:00:00+00:00" }, "options": { "description": "If the campaign should be sent with local recipient timezone send (requires UTC time) or statically sent at the given time.", "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/LocalStaticSend" }, { "$ref": "#/components/schemas/NonLocalStaticSend" } ] } }, "required": [ "method", "datetime" ] }, "StaticTrackingParam": { "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" }, "name": { "description": "Name of the tracking param", "type": "string", "example": "utm_medium" } }, "required": [ "type", "value", "name" ] }, "TagEnum": { "type": "string", "enum": [ "tag" ] }, "TagGroupEnum": { "type": "string", "enum": [ "tag-group" ] }, "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" ] }, "TemplateEnum": { "type": "string", "enum": [ "template" ] }, "TemplateResponseObjectResource": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TemplateEnum" }, "id": { "description": "The ID of template", "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "description": "The name of the template", "type": "string" }, "editor_type": { "description": "`editor_type` has a fixed set of values:\n* SYSTEM_DRAGGABLE: indicates a drag-and-drop editor template\n* SIMPLE: A rich text editor template\n* CODE: A custom HTML template\n* USER_DRAGGABLE: A hybrid template, using custom HTML in the drag-and-drop editor", "type": "string" }, "html": { "description": "The rendered HTML of the template", "type": "string" }, "text": { "description": "The template plain_text", "type": "string", "nullable": true }, "amp": { "description": "The AMP version of the template. Requires AMP Email to be enabled to access in-app. Refer to the AMP Email setup guide at https://developers.klaviyo.com/en/docs/send_amp_emails_in_klaviyo", "type": "string", "nullable": true }, "created": { "description": "The date the template 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": "The date the template was 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 } }, "required": [ "name", "editor_type", "html" ] }, "links": { "$ref": "#/components/schemas/ObjectLinks" } }, "required": [ "type", "id", "attributes", "links" ] }, "ThrottledSendStrategy": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "throttled" ] }, "datetime": { "description": "The time to send at", "type": "string", "format": "date-time" }, "throttle_percentage": { "description": "The percentage of recipients per hour to send to.", "type": "integer", "enum": [ 10, 11, 13, 14, 17, 20, 25, 33, 50 ] } }, "required": [ "method", "datetime", "throttle_percentage" ] }, "UnsupportedSendStrategy": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "unsupported" ] } }, "required": [ "method" ] } }, "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" } } }, "tags": [ { "name": "Campaigns", "description": "campaigns" } ] }