add_categories_to_catalog_item
ChatGPTCreate a new catalog category relationship for the given item ID.
add_items_to_catalog_category
ChatGPTCreate a new item relationship for the given category ID.
add_profiles_to_list
ChatGPTAdd a profile to a list with the given list ID. It is recommended that you use the Subscribe Profiles endpoint if you're trying to give a profile consent to receive email marketing, SMS marketing, or both. This endpoint accepts a maximum of 1000 profiles per call.
ask_analytics_question
ChatGPTAnswers a natural-language question about the data in this Klaviyo account, using an LLM over the account's profiles, events, and metrics. Read-only. IMPORTANT: Results are scoped to the API key's resource scopes. Data the key cannot read is absent rather than flagged, so a low number may reflect limited scope rather than low volume. Clearly caveat this to the user. Only use this tool when: The question is open-ended or spans multiple resources You don't know which structured tool would answer it The structured tools don't support the breakdown you need For known metrics or resources, prefer the structured tools: get_campaign_report and get_flow_report for campaign and flow performance, query_metric_aggregates for event-time aggregations, get_profiles and get_segments for records. Those are faster and return exact, typed results. This tool only sees account data, so do not use it for questions about how Klaviyo works as a product. Returns one of three things, and callers must handle all three: An answer with supporting rows. A clarifying question, when the request is ambiguous. Relay it to the user or resolve it and call again. An error. The response also carries the SQL that produced the result set, so you can explain how a number was derived. It is K-SQL, Klaviyo's internal dialect built on MySQL syntax, and may contain dialect-specific constructs (e.g. automatically added joins) that are expected, not a sign the query is wrong. It is read-only and not a stable interface: do not parse it, store it, or build on its syntax. Can take up to 90 seconds. Do not call in a loop or for quick lookups.
assign_template_to_campaign_message
ChatGPTAssigns an email template to a campaign message. This should be used after creating a template with the create_email_template tool and creating an email campaign.
bulk_create_catalog_items
ChatGPTCreate a catalog item bulk create job to create a batch of catalog items. Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.
bulk_create_catalog_variants
ChatGPTCreate a catalog variant bulk create job to create a batch of catalog variants. Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.
bulk_create_coupon_codes
ChatGPTCreate a coupon-code-bulk-create-job to bulk create a list of coupon codes. Max number of coupon codes per job we allow for is 1000. Max number of jobs queued at once we allow for is 100.
bulk_create_data_source_records
ChatGPTCreate a bulk data source record import job to create a batch of records. Accepts up to 500 records per request. The maximum allowed payload size is 4MB. The maximum allowed payload size per-record is 512KB. To learn more, see our Custom Objects API overview.
bulk_create_events
ChatGPTCreate a batch of events for one or more profiles. Note that this endpoint allows you to create new profiles or update existing profile properties. At a minimum, profile and metric objects should include at least one profile identifier (e.g., id, email, or phone_number) and the metric name, respectively. Accepts up to 1,000 events per request. The maximum allowed payload size is 5MB. A single string cannot exceed 100KB.
bulk_delete_catalog_items
ChatGPTCreate a catalog item bulk delete job to delete a batch of catalog items. Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.
bulk_delete_catalog_variants
ChatGPTCreate a catalog variant bulk delete job to delete a batch of catalog variants. Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.
bulk_delete_object_records
ChatGPTDelete a batch of object records. Accepts up to 500 object record IDs per request. The maximum allowed payload size is 5MB.
bulk_import_profiles
ChatGPTCreate a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. The maximum allowed payload size per-profile is 100KB. To learn more, see our Bulk Profile Import API guide.
bulk_suppress_profiles
ChatGPTManually suppress profiles by email address or specify a segment/list ID to suppress all current members of a segment/list. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our guides on email suppressions and collecting consent. Email address per request limit: 100 This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying. bulk_unsuppress_profiles
ChatGPTManually unsuppress profiles by email address or specify a segment/list ID to unsuppress all current members of a segment/list. This only removes suppressions with reason USER_SUPPRESSED ; unsubscribed profiles and suppressed profiles with reason INVALID_EMAIL or HARD_BOUNCE remain unchanged. To learn more, see our guides on email suppressions and collecting consent. Email address per request limit: 100 This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying. bulk_update_catalog_items
ChatGPTCreate a catalog item bulk update job to update a batch of catalog items. Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.
bulk_update_catalog_variants
ChatGPTCreate a catalog variant bulk update job to update a batch of catalog variants. Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.
cancel_campaign_send
ChatGPTCancel or revert the send of a currently sending or scheduled campaign. action='cancel' permanently cancels the campaign, setting its status to CANCELED; action='revert' stops the send job and returns the campaign to DRAFT. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
clone_email_template
ChatGPTCreate a clone of an existing email template. Returns the new template with a copy of the source template's content (HTML, text, AMP, and DND definition). Cloning counts toward the 1,000-templates-per-account limit. Optionally pass a name to override the cloned template's name.
create_agent_knowledge
ChatGPTAdds an Agent Knowledge item from either a text snippet (`source.source_type: snippet, requires title and content) or a single URL (source.source_type: webpage, requires url). The URL is normalized before the uniqueness check; duplicate normalized URLs return 409 Conflict. The resource is fetchable immediately; clients can poll its status until indexing completes. For files, use POST /agent-knowledge-files`.
create_agent_skill
ChatGPTAdds a skill to Customer Agent. Customer Agent will invoke this skill when the customer message matches its `description. Provide display_name, description (summary of the skill's capabilities and when it should be used), instructions (the system prompt the skill uses to handle a turn), optional handoff (escalation behavior), optional references for named tools used as {{tool ref=<name>}} in instructions, optional agent- tools relationship data, and status. Set status: draft to stage without going live, live to activate immediately. Customer Agent generates the skill name and returns a prefixed custom id plus the generated name` attribute.
create_agent_tool
ChatGPTAdds a new external HTTP tool Customer Agent skills can call. Provide protocol details (method, URL, query parameter, header, and body templates using Jinja-style `{{variable_name}} syntax) and declare the variables those templates reference. The runtime uses variables to determine which values are supplied at call time. To reference a secret, include a variable with source: secret and value set to the agent- secret id. The tool isn't directly callable until bound to a skill with PATCH /agent-skills/{id}`.
create_back_in_stock_subscription
ChatGPTSubscribe a profile to receive back in stock notifications. Check out our Back in Stock API guide for more details. This endpoint is specifically designed to be called from server-side applications. To create subscriptions from client-side contexts, use POST /client/back-in-stock-subscriptions.
create_brand_button
ChatGPTCreate a new brand button.
create_brand_color
ChatGPTCreate a new brand color group.
create_brand_logo
ChatGPTCreate a new brand logo.
create_brand_social_group
ChatGPTCreate a new brand social group.
create_campaign
ChatGPTCreates a new draft campaign. For email campaigns, this can be used with the create_email_template tool for template creation and then assign_template_to_campaign_message to assign the template to the email campaign. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard
create_campaign_clone
ChatGPTClones an existing campaign, returning a new campaign based on the original with a new ID and name.
create_catalog_category
ChatGPTCreate a new catalog category.
create_catalog_item
ChatGPTCreate a new catalog item.
create_catalog_variant
ChatGPTCreate a new variant for a related catalog item.
create_coupon
ChatGPTCreates a new coupon.
create_coupon_code
ChatGPTSynchronously creates a coupon code for the given coupon.
create_custom_metric
ChatGPTCreate a new custom metric. Custom metric objects must include a name and definition.
create_customer_agent_response
ChatGPTSends one user message into Customer Agent and returns every public event Customer Agent emits in response. Each call is one turn: the caller supplies the conversation history with the new user message as the last entry, and Customer Agent runs one routing and response cycle against it. The response is non-streaming; the caller receives the entire event list at once and renders it in order. Continue an existing conversation by passing the optional `conversation` relationship; omit it to start a new one. A closed conversation cannot be continued this way. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
create_data_source
ChatGPTCreate a new data source in an account
create_data_source_record
ChatGPTCreate a data source record import job to create a single record. The maximum allowed payload size per-record is 512KB. To learn more, see our Custom Objects API overview.
create_dnd_email_template
ChatGPTCreate a new drag-and-drop (DND, `editor_type='SYSTEM_DRAGGABLE') email template with a structured definition`. Unlike HTML templates created with create_email_template, DND templates use a structured definition describing sections, rows, columns, and blocks (text, image, button, etc.) — there is no raw HTML body. The definition fully describes the template layout and content. You can view and edit the template in the Klaviyo UI at https://www.klaviyo.com/email-template-editor/{TEMPLATE_ID}.
create_email_template
ChatGPTCreate a new HTML email template (CODE or USER_DRAGGABLE editor type). For drag-and-drop (SYSTEM_DRAGGABLE) templates, use create_dnd_email_template instead. Returns the ID of the template. You can view and edit a template in the Klaviyo UI at https://www.klaviyo.com/email-editor/{TEMPLATE_ID}/edit. The HTML should include <html> and <body> tags. To include an image, first upload the image using the upload_image_from_url tool, then use the returned image URL. Always include an unsubscribe link by inserting the template string "{% unsubscribe 'Unsubscribe' %}" (the label is customisable). Editor types: - CODE: plain HTML-only templates with no editable surfaces. - USER_DRAGGABLE: hybrid templates that are mostly hand-written HTML with explicit editable regions. Use this when the user asks for an editable/hybrid template. For USER_DRAGGABLE, mark editable regions in the HTML: <td align="center" data-klaviyo-region="true" data-klaviyo-region-width-pixels="600"></td> Inside a region you can drop editable blocks: <div class="klaviyo-block klaviyo-text-block">Hello world!</div> <div class="klaviyo-block klaviyo-image-block"></div> <div data-klaviyo-universal-block="block_id"> </div>
create_event
ChatGPTCreate a new event to track a profile's activity. Note that this endpoint allows you to create a new profile or update an existing profile's properties. At a minimum, profile and metric objects should include at least one profile identifier (e.g., id, email, or phone_number) and the metric name, respectively. Successful response indicates that the event was validated and submitted for processing, but does not guarantee that processing is complete.
create_flow
ChatGPTCreate a new flow using an encoded flow definition. New objects within the flow definition, such as actions, will need to use a temporary_id field for identification. These will be replaced with traditional id fields after successful creation. A successful request will return the new definition to you.
create_form
ChatGPTCreate a new form.
create_list
ChatGPTCreate a new list.
create_object_schema
ChatGPTCreate an object schema.
create_object_schema_relationship
ChatGPTCreate a relationship between object schemas. Note that flow filtering and segmentation are currently not supported for object-to-object relationships.
create_object_type
ChatGPTCreate an object type.
create_or_update_profile
ChatGPTGiven a set of profile attributes and optionally an ID, create or update a profile. Returns 201 if a new profile was created, 200 if an existing profile was updated. Use the additional-fields parameter to include subscriptions and predictive analytics data in your response. Note that setting a field to null will clear out the field, whereas not including a field in your request will leave it unchanged. The maximum allowed payload size is 100KB.
create_profile
ChatGPTCreate a new profile. Must include either email, phone_number, or external_id. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}
create_profile_schema_relationship
ChatGPTCreate a relationship between an object schema and a profile
create_push_token
ChatGPTCreate or update a push token. This endpoint can be used to migrate push tokens from another platform to Klaviyo. Please use our mobile SDKs (iOS and Android) to create push tokens from users' devices. The maximum allowed payload size is 100KB. create_segment
ChatGPTCreate a segment.
create_sending_domain
ChatGPTRegister a new sending domain and return the DNS records to configure.
create_sending_domain_activation_job
ChatGPTActivate the referenced sending domain (requires prior verify to pass).
create_sending_domain_verification_job
ChatGPTRun a DNS verification check for the referenced sending domain.
create_tag
ChatGPTCreate a tag. An account cannot have more than 500 unique tags. A tag belongs to a single tag group. If relationships.tag-group.data.id is not specified, the tag is added to the account's default tag group.
create_tag_group
ChatGPTCreate a tag group. An account cannot have more than 50 unique tag groups. If exclusive is not specified true or false, the tag group defaults to non-exclusive. If a tag group is non-exclusive, any given related resource (campaign, flow, etc.) can be linked to multiple tags from that tag group. If a tag group is exclusive, any given related resource can only be linked to one tag from that tag group.
create_template_preview_send_job
ChatGPTSend a test email of a template to one or more recipients. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
create_text_messaging_configuration
ChatGPTCreate the SMS account for the calling company.
create_text_messaging_sender
ChatGPTCreate a sender and submit its initial registration. A toll-free number is provisioned in all supported regions (US + CA), so the response is the sender for the requested country and the sibling-region sender also appears in list/retrieve.
create_text_messaging_sender_registration
ChatGPTSubmit a new registration for an existing sender (resubmission).
create_translation
ChatGPTBETA. Create a new translation collection for a Klaviyo resource. Exactly one relationship must be provided in the body. Valid channel + relationship combinations: email → campaign-variation, flow-message, template, template-universal-content; sms → campaign-variation, flow-message; mobile_push → campaign-variation, flow-message; whatsapp → template only.
create_universal_content
ChatGPTCreate universal content. Currently supported block types are: button, drop_shadow, horizontal_rule, html, image, spacer, and text.
delete_agent_knowledge
ChatGPTPermanently removes the Agent Knowledge item and its indexed content. The agent will stop retrieving from it on the next turn. Conversations that previously cited this item remain unchanged.
delete_agent_secret
ChatGPTPermanently removes the secret. Tools that reference this secret by alias will fail to authenticate on their next call until the alias is rebound to a different secret. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
delete_agent_skill
ChatGPTPermanently removes the skill from Customer Agent. Past conversations routed to this skill are unchanged; future conversations cannot route to it. To disable without deletion, use `PATCH /agent-skills/{id} with status: draft`.
delete_agent_tool
ChatGPTPermanently removes the tool. Skills that referenced it lose the binding; Customer Agent will not be able to use that tool with those skills until it is rebound.
delete_brand_button
ChatGPTDelete the brand button with the given ID.
delete_brand_color
ChatGPTDelete the brand color group with the given ID.
delete_brand_logo
ChatGPTDelete the brand logo with the given ID.
delete_brand_social_group
ChatGPTDelete the brand social group with the given ID.
delete_campaign
ChatGPTDelete a campaign with the given campaign ID.
delete_catalog_category
ChatGPTDelete a catalog category using the given category ID.
delete_catalog_item
ChatGPTDelete a catalog item with the given item ID.
delete_catalog_variant
ChatGPTDelete a catalog item variant with the given variant ID.
delete_coupon
ChatGPTDelete the coupon with the given coupon ID.
delete_coupon_code
ChatGPTDeletes a coupon code specified by the given identifier synchronously. If a profile has been assigned to the coupon code, an exception will be raised
delete_custom_metric
ChatGPTDelete a custom metric with the given custom metric ID.
delete_data_source
ChatGPTDelete a data source in an account.
delete_email_template
ChatGPTDelete an email template by ID. Will fail with a 409 Conflict if the template is currently attached to a campaign or flow message — detach the message or delete the campaign/flow first. This action cannot be undone.
delete_flow
ChatGPTDelete a flow with the given flow ID.
delete_form
ChatGPTDelete a given form.
delete_list
ChatGPTDelete a list with the given list ID.
delete_object_schema_relationship
ChatGPTDelete a relationship between object schemas
delete_object_type
ChatGPTDelete the object type with the given ID.
delete_profile_schema_relationship
ChatGPTDelete a relationship between an object schema and a profile
delete_push_token
ChatGPTDelete a specific push token based on its ID.
delete_segment
ChatGPTDelete a segment with the given segment ID.
delete_sending_domain
ChatGPTDelete a sending domain.
delete_tag
ChatGPTDelete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.
delete_tag_group
ChatGPTDelete the tag group with the given tag group ID. Any tags inside that tag group, and any associations between those tags and other resources, will also be removed. The default tag group cannot be deleted.
delete_translation
ChatGPTBETA. Delete a translation collection by ID. Removes all localization settings and translation values for the resource.
delete_universal_content
ChatGPTDelete the universal content with the given ID.
delete_webhook
ChatGPTDelete a webhook with the given ID.
get_account_details
ChatGPTGet the details of the account. You can view and edit your account details flow in the Klaviyo UI at https://www.klaviyo.com/settings/account
get_agent_knowledge
ChatGPTReturns one Agent Knowledge resource by id. Resources are fetchable immediately after creation, including while pending, indexing, failed, or rejected.
get_agent_messages_for_customer_agent_conversation
ChatGPTList message linkage or full message resources for a conversation.
get_agent_secret
ChatGPTReturns metadata for one secret: name, mask, and timestamps. The plaintext value is never returned.
get_agent_secrets
ChatGPTLists every secret configured for the calling company. Returns secret metadata (name, mask, timestamps) and never the plaintext value, which cannot be read back after creation.
get_agent_skill
ChatGPTReturns full detail for a single skill: `name, display_name, description, instructions, bound agent-tools relationship data, status, and handoff. Skills are looked up by prefixed id. To list all skills, use GET /agent-skills`.
get_agent_skills
ChatGPTReturns every skill configured for the calling company's Customer Agent. Use this to inspect Customer Agent's current skills before adding or modifying a custom skill. Each item carries a prefixed `id, source, name, display_name, description, instructions, bound agent-tools relationship data, status, and handoff`. Use retrieve to inspect any one skill in detail.
get_agent_tool
ChatGPTReturns full configuration for a single tool: protocol, auth method, templated request configuration, variables, and referenced secrets. Use to inspect a tool's setup before referencing it from a skill or modifying its config.
get_agent_tools
ChatGPTReturns every external tool (HTTP API endpoint) Customer Agent skills can call. Each tool has an id, display name, protocol details (method, URL template), authentication setup, and any referenced secrets. Use this before creating a new tool to avoid duplicates, or before binding a tool to a skill to confirm the tool exists.
get_all_universal_content
ChatGPTGet all universal content in an account.
get_application
ChatGPTGet an application's Klaviyo App Marketplace listing by ID, including its description, features, the scopes it requests, and install_url. Applications cannot be installed, verified as installed, or uninstalled through this server. To install one, give the user its install_url to open in their browser, where they approve the requested scopes on Klaviyo's OAuth consent screen.
get_applications
ChatGPTList published applications in the Klaviyo App Marketplace, newest first. Filter by name, categories, or developed_by (wrap developed_by in not() to exclude a developer). Applications cannot be installed, verified as installed, or uninstalled through this server. To install one, give the user its install_url to open in their browser, where they approve the requested scopes on Klaviyo's OAuth consent screen.
get_billing_usage
ChatGPTGet current-period usage and plan cap for a single usage type.
get_brand_button
ChatGPTGet the brand button with the given ID.
get_brand_buttons
ChatGPTGet all brand buttons for the authenticated account.
get_brand_color
ChatGPTGet the brand color group with the given ID.
get_brand_colors
ChatGPTGet all brand color groups for the authenticated account.
get_brand_email_default
ChatGPTGet the brand email defaults for the authenticated account.
get_brand_email_defaults
ChatGPTList the brand email defaults for the authenticated account.
get_brand_logo
ChatGPTGet the brand logo with the given ID.
get_brand_logos
ChatGPTGet all brand logos for the authenticated account.
get_brand_social_group
ChatGPTGet the brand social group with the given ID.
get_brand_social_groups
ChatGPTGet all brand social groups for the authenticated account.
get_brand_voice
ChatGPTGet the brand voice for the authenticated company.
get_bulk_create_catalog_items_job
ChatGPTGet a catalog item bulk create job with the given job ID. An include parameter can be provided to get the following related resource data: items.
get_bulk_create_catalog_items_jobs
ChatGPTGet all catalog item bulk create jobs. Returns a maximum of 100 jobs per request.
get_bulk_create_coupon_code_jobs
ChatGPTGet all coupon code bulk create jobs. Returns a maximum of 100 jobs per request.
get_bulk_create_coupon_codes_job
ChatGPTGet a coupon code bulk create job with the given job ID.
get_bulk_create_variants_job
ChatGPTGet a catalog variant bulk create job with the given job ID. An include parameter can be provided to get the following related resource data: variants.
get_bulk_create_variants_jobs
ChatGPTGet all catalog variant bulk create jobs. Returns a maximum of 100 jobs per request.
get_bulk_delete_catalog_items_job
ChatGPTGet a catalog item bulk delete job with the given job ID.
get_bulk_delete_catalog_items_jobs
ChatGPTGet all catalog item bulk delete jobs. Returns a maximum of 100 jobs per request.
get_bulk_delete_variants_job
ChatGPTGet a catalog variant bulk delete job with the given job ID.
get_bulk_delete_variants_jobs
ChatGPTGet all catalog variant bulk delete jobs. Returns a maximum of 100 jobs per request.
get_bulk_import_profiles_job
ChatGPTGet a bulk profile import job with the given job ID.
get_bulk_import_profiles_jobs
ChatGPTGet all bulk profile import jobs. Returns a maximum of 100 jobs per request.
get_bulk_suppress_profiles_job
ChatGPTGet the bulk suppress profiles job with the given job ID.
get_bulk_suppress_profiles_jobs
ChatGPTGet the status of all bulk profile suppression jobs.
get_bulk_unsuppress_profiles_job
ChatGPTGet the bulk unsuppress profiles job with the given job ID.
get_bulk_unsuppress_profiles_jobs
ChatGPTGet all bulk unsuppress profiles jobs.
get_bulk_update_catalog_items_job
ChatGPTGet a catalog item bulk update job with the given job ID. An include parameter can be provided to get the following related resource data: items.
get_bulk_update_catalog_items_jobs
ChatGPTGet all catalog item bulk update jobs. Returns a maximum of 100 jobs per request.
get_bulk_update_variants_job
ChatGPTGet a catalog variate bulk update job with the given job ID. An include parameter can be provided to get the following related resource data: variants.
get_bulk_update_variants_jobs
ChatGPTGet all catalog variant bulk update jobs. Returns a maximum of 100 jobs per request.
get_campaign
ChatGPTReturns a specific campaign based on a required id. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard
get_campaign_ids_for_tag
ChatGPTReturns the IDs of all campaigns associated with the given tag.
get_campaign_message
ChatGPTReturns a specific message based on a required id.
get_campaign_recipient_estimation
ChatGPTGet the estimated recipient count for a campaign with the provided campaign ID. You can refresh this count by using the Create Campaign Recipient Estimation Job endpoint.
get_campaign_recipient_estimation_job
ChatGPTRetrieve the status of a recipient estimation job triggered with the Create Campaign Recipient Estimation Job endpoint.
get_campaign_report
ChatGPTReturns metrics data for campaigns with the given filters and within the given timeframe. Can return performance data such as opens, clicks, and conversions, etc. This tool will also give you information about each campaign in the report, such as: audience names and IDs for the campaign (included audiences are audiences sent the campaign, excluded audiences are audiences not sent the campaign), campaign name, send time, send channel, and campaign ID.
get_campaign_send_job
ChatGPTGet a campaign send job
get_campaigns
ChatGPTReturns some or all campaigns based on filters. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard. Do not use this for queries related to the status of campaigns, reporting on campaigns, or campaign performance data. For those use cases, use the get_campaign_report tool. A channel filter is required to list campaigns. Please provide either: ?filter=equals(messages.channel,'email') to list email campaigns, or ?filter=equals(messages.channel,'sms') to list SMS campaigns. ?filter=equals(messages.channel,'mobile_push') to list mobile push campaigns.
get_catalog_categories
ChatGPTGet all catalog categories in an account. Catalog categories can be sorted by the following fields, in ascending and descending order: created Currently, the only supported integration type is $custom, and the only supported catalog type is $default. Returns a maximum of 100 categories per request.
get_catalog_category
ChatGPTGet a catalog category with the given category ID.
get_catalog_item
ChatGPTGet a specific catalog item with the given item ID.
get_catalog_items
ChatGPTGet all catalog items in an account. (Also known as products)
get_catalog_variant
ChatGPTGet a catalog item variant with the given variant ID.
get_catalog_variants
ChatGPTGet all variants in an account. Variants can be sorted by the following fields, in ascending and descending order: created Currently, the only supported integration type is $custom, and the only supported catalog type is $default. Returns a maximum of 100 variants per request.
get_coupon
ChatGPTGet a specific coupon with the given coupon ID.
get_coupon_code
ChatGPTReturns a Coupon Code specified by the given identifier.
get_coupon_codes
ChatGPTGets a list of coupon codes associated with a coupon/coupons or a profile/profiles. A coupon/coupons or a profile/profiles must be provided as required filter params.
get_coupons
ChatGPTGet all coupons in an account. To learn more, see our Coupons API guide.
get_custom_metric
ChatGPTGet a custom metric with the given custom metric ID.
get_custom_metrics
ChatGPTGet all custom metrics in an account.
get_customer_agent
ChatGPTReturns the Customer Agent resource for the calling company. Includes `name, tone_of_voice with preset, optional custom instruction, and updated timestamp, escalation_rules, and communication_styles`. There is one Customer Agent per company.
get_data_source
ChatGPTRetrieve a data source in an account.
get_data_sources
ChatGPTGet all data sources in an account.
get_download_for_event_bulk_export_job
ChatGPTDownload the completed export as a gzipped CSV file.
get_download_for_profile_bulk_export_job
ChatGPTDownload the completed export as a gzipped CSV file.
get_email_template
ChatGPTGet an email template with the given data. Returns attributes including the html or amp. You can view and edit a template in the Klaviyo UI at https://www.klaviyo.com/email-editor/{TEMPLATE_ID}/edit.
get_event
ChatGPTGet an event with the given event ID.
get_event_bulk_export_job
ChatGPTGet the status and details of an event bulk export job. When the job is complete, the response will include the expiration and file size of the exported events file.
get_events
ChatGPTGet individual event records for a given filter such as a profile ID or metric ID. For aggregated data, prefer get_campaign_report or get_flow_report (performance metrics) or query_metric_aggregates (counts, sums, unique profiles). Only use this tool to inspect specific events or when the other tools don't support the dimension you need — in that case, only a small sample of events can be processed in context, so clearly tell the user the results are based on a limited sample.
get_flow
ChatGPTReturns a flow by ID. You can view and edit a flow in the Klaviyo UI at https://www.klaviyo.com/flow/{FLOW_ID}/edit.
get_flow_action
ChatGPTGet a flow action from a flow with the given flow action ID.
get_flow_ids_for_tag
ChatGPTReturns the IDs of all flows associated with the given tag.
get_flow_message
ChatGPTGet a flow message from a flow with the given flow message ID.
get_flow_report
ChatGPTReturns metrics data for flows with the given filters and within the given timeframe. Can return performance data such as opens, clicks, and conversions, etc. This tool will also give you information about each flow in the report, such as: flow name, trigger type, and flow ID.
get_flows
ChatGPTReturns some or all flows based on filters. You can view and edit a flow in the Klaviyo UI at https://www.klaviyo.com/flow/{FLOW_ID}/edit. Do not use this for queries related to the status of flows, reporting on flows, or flow performance data. For those use cases, use the get_flow_report tool.
get_flows_triggered_by_list
ChatGPTGet all flows where the given list ID is being used as the trigger.
get_flows_triggered_by_metric
ChatGPTGet all flows where the given metric is being used as the trigger.
get_flows_triggered_by_segment
ChatGPTGet all flows where the given segment ID is being used as the trigger.
get_form
ChatGPTGet the form with the given ID.
get_form_version
ChatGPTGet the form version with the given ID.
get_forms
ChatGPTGet all forms in an account.
get_image
ChatGPTGet the image with the given image ID.
get_images
ChatGPTGet all images in an account.
get_ingestion_logs_for_object_type
ChatGPTGet the ingestion logs for a given object type. Only ingestion failures are logged — the absence of a log entry for a record does not mean the record was ingested successfully. Logs are retained for 14 days; time filters outside that window return an empty page. Results are returned newest first with a fixed page size of 50.
get_list
ChatGPTGet a list with the given list ID. You can view and edit a list in the Klaviyo UI at https://www.klaviyo.com/lists/{LIST_ID}
get_list_ids_for_tag
ChatGPTReturns the IDs of all lists associated with the given tag.
get_lists
ChatGPTGet all lists in an account. To filter by tag, do not use the 'filters' parameter. Instead, call this and look for the 'tags' property in the response. You can view and edit a list in the Klaviyo UI at https://www.klaviyo.com/lists/{LIST_ID}
get_mapped_metric
ChatGPTGet the mapped metric with the given ID.
get_mapped_metrics
ChatGPTGet all mapped metrics in an account.
get_messaging_sender_registration_id_for_text_messaging_sender
ChatGPTReturn the most-recent registration for the given sender.
get_metric
ChatGPTGet a metric with the given metric ID. You can view and edit a metric in the Klaviyo UI at https://www.klaviyo.com/metric/{METRIC_ID}/{METRIC_NAME}
get_metric_property
ChatGPTGet a metric property with the given metric property ID.
get_metrics
ChatGPTGet all metrics in an account. You can view and edit a metric in the Klaviyo UI at https://www.klaviyo.com/metric/{METRIC_ID}/{METRIC_NAME}
get_object_record
ChatGPTGet the object record with the given compound ID.
get_object_schema
ChatGPTGet the object schema with the given ID.
get_object_type
ChatGPTReturns an object type by ID. Use include=current-schema to get its active schema, include=draft-schema for the unpublished draft, and include=schema-versions for the full version history. These return the same schema payloads as get_object_schema.
get_object_types
ChatGPTGet all object types in an account.
get_profile
ChatGPTGet details of the profile with the given profile ID. Includes additional information about their subscriptions. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}
get_profile_bulk_export_job
ChatGPTGet the status and details of a profile bulk export job. When the job is complete, the response will include the expiration and file size of the exported profiles file.
get_profiles
ChatGPTGet all profiles in an account. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}
get_push_token
ChatGPTReturn a specific push token based on its ID.
get_push_tokens
ChatGPTReturn push tokens associated with company.
get_records_for_object_type
ChatGPTGet all object records for a given object type.
get_review
ChatGPTGet the review with the given ID.
get_reviews
ChatGPTGet all reviews.
get_secret_ids_for_agent_tool
ChatGPTList Agent Secret IDs referenced by an Agent Tool.
get_secrets_for_agent_tool
ChatGPTList Agent Secret IDs referenced by an Agent Tool.
get_segment
ChatGPTGet a segment with the given segment ID. You can view and edit a segment in the Klaviyo UI at https://www.klaviyo.com/lists/{SEGMENT_ID}
get_segment_ids_for_tag
ChatGPTReturns the IDs of all segments associated with the given tag.
get_segments
ChatGPTGet all segments in an account. To filter by tag, do not use the 'filters' parameter. Instead, call this and look for the 'tags' property in the response. You can view and edit a segment in the Klaviyo UI at https://www.klaviyo.com/lists/{SEGMENT_ID}
get_sending_domain
ChatGPTGet the sending domain with the given ID.
get_sending_domains
ChatGPTList all sending domains configured for the account.
get_skills_for_agent_tool
ChatGPTList Agent Skill resources that can call this Agent Tool.
get_source_mapping
ChatGPTGet the source mapping with the given ID.
get_tag
ChatGPTRetrieve the tag with the given tag ID.
get_tag_group
ChatGPTRetrieve the tag group with the given tag group ID.
get_tag_groups
ChatGPTList all tag groups in an account. Every account has one default tag group. Tag groups can be filtered by name, exclusive, and default, and sorted by name or id in ascending or descending order. Returns a maximum of 25 tag groups per request, which can be paginated with cursor-based pagination.
get_tags
ChatGPTList all tags in an account. Tags can be filtered by name, and sorted by name or id in ascending or descending order. Returns a maximum of 50 tags per request, which can be paginated with cursor-based pagination.
get_text_messaging_configuration
ChatGPTRetrieve the SMS account for the calling company.
get_text_messaging_sender
ChatGPTRetrieve a single text-messaging sender by ID.
get_text_messaging_sender_registration
ChatGPTRetrieve a sender registration by ID.
get_text_messaging_senders
ChatGPTList the calling company's text-messaging senders.
get_translation
ChatGPTBETA. Get a translation collection by ID. Returns localization settings (source/target locales, channel, fallback). To also get the translation values (source text and translations per locale for each translatable field), pass `additional_fields_translation=["values"]. To include a related resource, pass include with one of: campaign-variation, flow-message, template, template-universal-content`.
get_translations
ChatGPTBETA. List all translation collections in the account. Each translation links a Klaviyo resource (campaign variation, flow message, template, template universal content) to its localization settings. Supports filtering on channel, resource_type, and related_resource_id, e.g. equals(channel,"email") or equals(resource_type,"campaign-variation").
get_universal_content
ChatGPTGet the universal content with the given ID.
get_webhook
ChatGPTGet the webhook with the given ID.
get_webhook_topic
ChatGPTGet the webhook topic with the given ID.
get_webhook_topics
ChatGPTGet all webhook topics in a Klaviyo account.
get_webhooks
ChatGPTGet all webhooks in an account.
klaviyo_assign_template_to_campaign_message
ChatGPTAssigns an email template to a campaign message. This should be used after creating a template with the create_email_template tool and creating an email campaign.
klaviyo_create_campaign
ChatGPTCreates a new draft campaign. For email campaigns, this can be used with the create_email_template tool for template creation and then assign_template_to_campaign_message to assign the template to the email campaign. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard
klaviyo_create_email_template
ChatGPTCreate a new email template from the given HTML. Returns the ID of the template. You can view and edit a template in the Klaviyo UI at https://www.klaviyo.com/email-editor/{TEMPLATE_ID}/edit.
klaviyo_create_profile
ChatGPTCreate a new profile. Must include either email, phone_number, or external_id. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}
klaviyo_get_account_details
ChatGPTGet the details of the account. You can view and edit your account details flow in the Klaviyo UI at https://www.klaviyo.com/settings/account
klaviyo_get_campaign
ChatGPTReturns a specific campaign based on a required id. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard
klaviyo_get_campaign_report
ChatGPTReturns metrics data for campaigns with the given filters and within the given timeframe. Can return performance data such as opens, clicks, and conversions, etc. This tool will also give you information about each campaign in the report, such as: audience names and IDs for the campaign (included audiences are audiences sent the campaign, excluded audiences are audiences not sent the campaign), campaign name, send time, send channel, and campaign ID.
klaviyo_get_campaigns
ChatGPTReturns some or all campaigns based on filters. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard. Do not use this for queries related to the status of campaigns, reporting on campaigns, or campaign performance data. For those use cases, use the get_campaign_report tool.
klaviyo_get_catalog_items
ChatGPTGet all catalog items in an account. (Also known as products)
klaviyo_get_email_template
ChatGPTGet an email template with the given data. Returns attributes including the html or amp. You can view and edit a template in the Klaviyo UI at https://www.klaviyo.com/email-editor/{TEMPLATE_ID}/edit.
klaviyo_get_events
ChatGPTGet individual event records for a given filter such as a profile ID or metric ID. For aggregated data, prefer get_campaign_report or get_flow_report (performance metrics) or query_metric_aggregates (counts, sums, unique profiles). Only use this tool to inspect specific events or when the other tools don't support the dimension you need — in that case, only a small sample of events can be processed in context, so clearly tell the user the results are based on a limited sample.
klaviyo_get_flow
ChatGPTReturns a flow by ID. You can view and edit a flow in the Klaviyo UI at https://www.klaviyo.com/flow/{FLOW_ID}/edit.
klaviyo_get_flow_report
ChatGPTReturns metrics data for flows with the given filters and within the given timeframe. Can return performance data such as opens, clicks, and conversions, etc. This tool will also give you information about each flow in the report, such as: flow name, trigger type, and flow ID.
klaviyo_get_flows
ChatGPTReturns some or all flows based on filters. You can view and edit a flow in the Klaviyo UI at https://www.klaviyo.com/flow/{FLOW_ID}/edit. Do not use this for queries related to the status of flows, reporting on flows, or flow performance data. For those use cases, use the get_flow_report tool.
klaviyo_get_list
ChatGPTGet a list with the given list ID. You can view and edit a list in the Klaviyo UI at https://www.klaviyo.com/lists/{LIST_ID}
klaviyo_get_lists
ChatGPTGet all lists in an account. To filter by tag, do not use the 'filters' parameter. Instead, call this and look for the 'tags' property. You can view and edit a list in the Klaviyo UI at https://www.klaviyo.com/lists/{LIST_ID}
klaviyo_get_metric
ChatGPTGet a metric with the given metric ID. You can view and edit a metric in the Klaviyo UI at https://www.klaviyo.com/metric/{METRIC_ID}/{METRIC_NAME}
klaviyo_get_metrics
ChatGPTGet all metrics in an account. You can view and edit a metric in the Klaviyo UI at https://www.klaviyo.com/metric/{METRIC_ID}/{METRIC_NAME}
klaviyo_get_profile
ChatGPTGet details of the profile with the given profile ID. Includes additional information about their subscriptions. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}
klaviyo_get_profiles
ChatGPTGet all profiles in an account. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}
klaviyo_get_segment
ChatGPTGet a segment with the given segment ID. You can view and edit a segment in the Klaviyo UI at https://www.klaviyo.com/lists/{SEGMENT_ID}
klaviyo_get_segments
ChatGPTGet all segments in an account. To filter by tag, do not use the 'filters' parameter. Instead, call this and look for the 'tags' property. You can view and edit a segment in the Klaviyo UI at https://www.klaviyo.com/lists/{SEGMENT_ID}
klaviyo_query_metric_aggregates
ChatGPTQuery and aggregate event data for a specific metric, with optional grouping by dimensions such as flows, campaigns, messages, etc. IMPORTANT: This endpoint returns data based on EVENT TIME (when events occurred), NOT send date. For campaign/flow performance data that matches the Klaviyo UI (which uses send date), use get_campaign_report or get_flow_report instead. Only use this tool when: - You need to aggregate raw event data by dimensions not supported by the Reporting API, but supported by this endpoint - You need time-series data broken down by hour/day/week/month - The Reporting API tools (get_campaign_report, get_flow_report) don't fulfill your specific requirements - You need to query custom metrics or non-standard aggregations Results from this endpoint are not directly comparable to get_campaign_report or get_flow_report due to different time semantics and uniqueness definitions (not attribution — both use the same attribution framework). If cross-referencing, clearly caveat this to the user. Examples of appropriate use cases: - Sum of revenue by flow over a time period (use sum_value measurement with $attributed_flow grouping) - Count of events per day/week/month for trend analysis - Unique profile counts grouped by campaign or message - Custom metric aggregations not available in standard reports
klaviyo_subscribe_profile_to_marketing
ChatGPTSubscribe a profile to marketing for a given channel. If a profile doesn't already exist, it will be created. Returns 'Success' if successful.
klaviyo_unsubscribe_profile_from_marketing
ChatGPTUnsubscribe a profile from marketing for a given channel. Returns 'Success' if successful.
klaviyo_update_profile
ChatGPTUpdate the profile with the given profile ID. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}
klaviyo_upload_image_from_url
ChatGPTUpload an image from a URL or data URI.
list_agent_knowledge
ChatGPTReturns every Agent Knowledge item for the calling company, including items that are pending, indexing, indexed, failed, or rejected. Returns only top-level items by default. Filter by `folder_id to instead list one folder's immediate contents (one level deep, not recursive). To add a snippet, webpage, or Q&A pair, POST to this endpoint with the appropriate nested source.source_type`; upload files with the file upload endpoint.
list_billing_usage
ChatGPTList current-period usage and plan caps for the account.
list_customer_agent_conversations
ChatGPTReturns all Customer Agent conversations. Results are ordered by newest conversations first. Supports filters by `status and created_at` time window, plus cursor pagination for large conversations.
list_email_templates
ChatGPTList email templates in the account with optional filtering and sorting. Returns template metadata (id, name, editor_type, html, created, updated). Drag-and-drop (SYSTEM_DRAGGABLE) templates only include their structured definition when additional_fields_template includes "definition". For a single template, prefer get_email_template.
merge_profiles
ChatGPTMerge a given related profile into a profile with the given profile ID. The profile provided under relationships (the "source" profile) will be merged into the profile provided by the ID in the base data object (the "destination" profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please visit our Help Center. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying. query_customer_agent_skill_values
ChatGPTReturns per-skill aggregates across the requested timeframe. Each row of `results is one skill bucket with a computed volume` statistic. Counts are at the invocation level: one conversation that runs multiple skills contributes to multiple buckets.
query_customer_agent_values
ChatGPTReturns conversation-level aggregates across the requested timeframe. A single call may request multiple `statistics (volume and/or resolution-rate); each row of results carries the bucket-identifying groupings values and computed statistics for that bucket. Optionally group by channel or status, or omit groupings` for a single overall row.
query_form_series
ChatGPTReturns the requested form analytics series data.
query_form_values
ChatGPTReturns the requested form analytics values data.
query_metric_aggregates
ChatGPTQuery and aggregate event data for a specific metric, with optional grouping by dimensions such as flows, campaigns, messages, etc. IMPORTANT: This endpoint returns data based on EVENT TIME (when events occurred), NOT send date. For campaign/flow performance data that matches the Klaviyo UI (which uses send date), use get_campaign_report or get_flow_report instead. Only use this tool when: - You need to aggregate raw event data by dimensions not supported by the Reporting API, but supported by this endpoint - You need time-series data broken down by hour/day/week/month - The Reporting API tools (get_campaign_report, get_flow_report) don't fulfill your specific requirements - You need to query custom metrics or non-standard aggregations Results from this endpoint are not directly comparable to get_campaign_report or get_flow_report due to different time semantics and uniqueness definitions (not attribution — both use the same attribution framework). If cross-referencing, clearly caveat this to the user. Examples of appropriate use cases: - Sum of revenue by flow over a time period (use sum_value measurement with $attributed_flow grouping) - Count of events per day/week/month for trend analysis - Unique profile counts grouped by campaign or message - Custom metric aggregations not available in standard reports
query_segment_series
ChatGPTReturns the requested segment analytics series data.
query_segment_values
ChatGPTReturns the requested segment analytics values data.
refresh_campaign_recipient_estimation
ChatGPTTrigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the Get Campaign Recipient Estimation Job endpoint to retrieve the status of this estimation job. Use the Get Campaign Recipient Estimation endpoint to retrieve the estimated recipient count for a given campaign.
remove_categories_from_catalog_item
ChatGPTDelete catalog category relationships for the given item ID.
remove_items_from_catalog_category
ChatGPTDelete item relationships for the given category ID.
remove_profiles_from_list
ChatGPTRemove a profile from a list with the given list ID. The provided profile will no longer receive marketing from this particular list once removed. Removing a profile from a list will not impact the profile's consent status or subscription status in general. To update a profile's subscription status, please use the Unsubscribe Profiles endpoint. This endpoint accepts a maximum of 1000 profiles per call.
remove_tag_from_campaigns
ChatGPTRemove a tag's association with one or more campaigns. Use the request body to pass in the ID(s) of the campaign(s) whose association with the tag will be removed.
remove_tag_from_flows
ChatGPTRemove a tag's association with one or more flows. Use the request body to pass in the ID(s) of the flows(s) whose association with the tag will be removed.
remove_tag_from_lists
ChatGPTRemove a tag's association with one or more lists. Use the request body to pass in the ID(s) of the list(s) whose association with the tag will be removed.
remove_tag_from_segments
ChatGPTRemove a tag's association with one or more segments. Use the request body to pass in the ID(s) of the segments(s) whose association with the tag will be removed.
render_email_template
ChatGPTRender an email template with a provided context. Returns the HTML, plaintext, and AMP versions of the template with template tags evaluated. Does not modify the template or send any email. Templates are rendered with contexts in a similar manner to Django templates; nested variables can be referenced via dot notation. Variables without corresponding context values are treated as FALSE. Rate-limited to 3/s burst and 60/m steady — significantly stricter than other template endpoints.
report_unsupported_task
ChatGPTCall before replying that you can't do something in Klaviyo; logs the gap so Klaviyo can add support. Use it when no tool exists for the request, when a tool you tried doesn't cover the case (e.g. you can read a flow but not change its trigger), when the Klaviyo API doesn't support it, or when the connection lacks permission. Call it even if you called no other tool, then tell the user. Do not call it for transient errors, auth failures, rate limits, or invalid input you could fix by retrying.
request_profile_deletion
ChatGPTRequest a deletion for the profiles corresponding to one of the following identifiers: email, phone_number, or id. If multiple identifiers are provided, we will return an error. All profiles that match the provided identifier will be deleted. The deletion occurs asynchronously; however, once it has completed, the deleted profile will appear on the Deleted Profiles page. For more information on the deletion process, please refer to our Help Center docs on how to handle GDPR and CCPA deletion requests. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying. retrieve_customer_agent_conversation
ChatGPTReturns one Customer Agent conversation with its status and message turns.
send_campaign
ChatGPTTrigger a campaign to send asynchronously. Creates a campaign send job that sends the campaign to its configured audience. Once recipients start receiving messages the send cannot be undone; a send in progress can be stopped with cancel_campaign_send. Track progress with get_campaign_send_job. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
subscribe_profile_to_marketing
ChatGPTSubscribe profiles to marketing for one or more channels. If a profile doesn't already exist, it will be created. Provide email and/or phone_number on each profile, and set the corresponding channel (email/sms) under attributes.subscriptions.{channel}.marketing.consent = "SUBSCRIBED". Optionally include a list relationship to also add the profile to that list. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
tag_campaigns
ChatGPTAssociate a tag with one or more campaigns. Any campaign cannot be associated with more than 100 tags. Use the request body to pass in the ID(s) of the campaign(s) that will be associated with the tag.
tag_flows
ChatGPTAssociate a tag with one or more flows. Any flow cannot be associated with more than 100 tags. Use the request body to pass in the ID(s) of the flow(s) that will be associated with the tag.
tag_lists
ChatGPTAssociate a tag with one or more lists. Any list cannot be associated with more than 100 tags. Use the request body to pass in the ID(s) of the lists(s) that will be associated with the tag.
tag_segments
ChatGPTAssociate a tag with one or more segments. Any segment cannot be associated with more than 100 tags. Use the request body to pass in the ID(s) of the segments(s) that will be associated with the tag.
unsubscribe_profile_from_marketing
ChatGPTUnsubscribe profiles from marketing for one or more channels. Provide email and/or phone_number on each profile, and set the corresponding channel (email/sms) under attributes.subscriptions.{channel}.marketing.consent = "UNSUBSCRIBED". Optionally include a list relationship to scope the unsubscription to that list. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
update_agent_knowledge
ChatGPTPatches editable fields on an Agent Knowledge item. For snippets, update `title and/or content. For Q&A pairs, update question and/or answer`. Re-indexing on content or answer change is automatic.
update_agent_skill
ChatGPTPatches one or more fields on an existing skill: `display_name, description, instructions, status, handoff, and the agent-tools relationship or named references used as {{tool ref=<name>}} in instructions. Send instructions and references together when changing either one. They form one replacement document and are validated together. To rebind tools, send a new agent-tools relationship list; this is a full replacement, not merged. Skills are looked up by prefixed id. Use status: draft` to pause a custom skill.
update_agent_tool
ChatGPTPatches the tool's config in place: protocol, templated request configuration, variables, auth, and referenced secrets. All skills bound to this tool pick up the new behavior immediately on next call.
update_brand_button
ChatGPTUpdate the brand button with the given ID.
update_brand_color
ChatGPTUpdate the brand color group with the given ID.
update_brand_email_default
ChatGPTPartial update of the brand email defaults for the authenticated account.
update_brand_logo
ChatGPTUpdate the brand logo with the given ID.
update_brand_social_group
ChatGPTUpdate the brand social group with the given ID.
update_brand_voice
ChatGPTUpdate the brand voice for the authenticated company.
update_campaign
ChatGPTUpdate a campaign with the given campaign ID.
update_campaign_message
ChatGPTUpdate a campaign message
update_catalog_category
ChatGPTUpdate a catalog category with the given category ID.
update_catalog_item
ChatGPTUpdate a catalog item with the given item ID.
update_catalog_variant
ChatGPTUpdate a catalog item variant with the given variant ID.
update_categories_for_catalog_item
ChatGPTUpdate catalog category relationships for the given item ID.
update_coupon
ChatGPTRate limits:<br>Burst: 3/s<br>Steady: 60/m
update_coupon_code
ChatGPTUpdates a coupon code specified by the given identifier synchronously. We allow updating the 'status' and 'expires_at' of coupon codes.
update_custom_metric
ChatGPTUpdate a custom metric with the given custom metric ID.
update_customer_agent
ChatGPTPatches the Customer Agent resource for the calling company. The request body `data.id must match the path parameter. Supports name, tone_of_voice, escalation_rules, and communication_styles. For tone, provide tone_of_voice.preset from the supported enum, or preset: "custom" together with custom_instruction. For escalation_rules and communication_styles`, the supplied array replaces the existing list; omit the field to leave the existing list unchanged. Takes effect on the next turn.
update_customer_agent_conversation
ChatGPTUpdate a Customer Agent conversation. `status and customer are the only updatable attributes, and at least one must be provided. Only status: closed is accepted. customer` can only be set once — a conversation that already has customer data rejects further updates.
update_dnd_email_template
ChatGPTUpdate an existing drag-and-drop (DND) email template. Provide any combination of name, definition, or text to update. The definition fully replaces the existing one — partial updates to individual sections/blocks are not supported. To update a DND template, first retrieve it with get_email_template, modify the definition, then pass the full definition here.
update_email_template
ChatGPTUpdate an existing HTML email template (CODE or USER_DRAGGABLE editor type). For drag-and-drop (SYSTEM_DRAGGABLE) templates, use update_dnd_email_template instead — passing html to a DND template will return a 400. Provide any combination of name, html, or text to update; only provided fields change. The template's editor type cannot be changed.
update_flow
ChatGPTUpdate the status of a flow with the given flow ID, and all actions in that flow.
update_flow_action
ChatGPTUpdate a flow action.
update_image
ChatGPTUpdate the image with the given image ID.
update_image_for_campaign_message
ChatGPTUpdate the image associated with a campaign message. Provide the ID of an existing image — e.g. one uploaded with upload_image_from_url.
update_items_for_catalog_category
ChatGPTUpdate item relationships for the given category ID.
update_list
ChatGPTUpdate the name of a list with the given list ID.
update_mapped_metric
ChatGPTUpdate the mapped metric with the given ID.
update_object_schema
ChatGPTUpdate the object schema with the given ID.
update_object_schema_relationship
ChatGPTUpdate a relationship between object schemas
update_profile
ChatGPTUpdate the profile with the given profile ID. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}
update_profile_schema_relationship
ChatGPTUpdate a relationship between an object schema and a profile
update_review
ChatGPTUpdate a review.
update_segment
ChatGPTUpdate a segment with the given segment ID.
update_source_mapping
ChatGPTUpdate the source mapping with the given ID.
update_tag
ChatGPTUpdate the tag with the given tag ID. Only a tag's name can be changed. A tag cannot be moved from one tag group to another.
update_tag_group
ChatGPTUpdate the tag group with the given tag group ID. Only a tag group's name can be changed. A tag group's exclusive or default value cannot be changed.
update_translation
ChatGPTBETA. Update a translation's settings and/or import translation values. All attributes are optional — only provided fields are updated. To import values, first call get_translation with `additional_fields_translation=["values"], then provide the values array with updated translations. Each value has a composite id (e.g. scheduled_message::abc::subject) and a translations map of locale codes to translated text (e.g. {'fr': 'Bonjour'}`).
update_universal_content
ChatGPTUpdate universal content. The definition field can only be updated on the following block types at this time: button, drop_shadow, horizontal_rule, html, image, spacer, and text.
upload_image_from_url
ChatGPTUpload an image from a URL or data URI.
assign_template_to_campaign_message
Claudecreate_campaign
Claudecreate_email_template
Claudecreate_profile
Claudeget_account_details
Claudeget_campaign
Claudeget_campaign_report
Claudeget_campaigns
Claudeget_catalog_items
Claudeget_email_template
Claudeget_events
Claudeget_flow
Claudeget_flow_report
Claudeget_flows
Claudeget_list
Claudeget_lists
Claudeget_metric
Claudeget_metrics
Claudeget_profile
Claudeget_profiles
Claudeget_segment
Claudeget_segments
Claudequery_metric_aggregates
Claudesubscribe_profile_to_marketing
Claudeunsubscribe_profile_from_marketing
Claudeupdate_profile
Claudeupload_image_from_url
Claude