Kit

Connect your AI agents to Kit.

Authentication: OAuth or API key. See Magic Link for the runtime auth flow, or Application credentials to bring your own OAuth app.

Sample use cases

  • Show open and click rates for every broadcast sent in the last 30 days.
  • Add [email protected] to the Product Updates form and tag her as beta-tester.
  • Draft a broadcast announcing the June webinar to the Customers segment, but don’t send it.

Available Tools

get_account

Get the authenticated Kit account and the user the API key belongs to, including the plan and the confirmed sending a…

get_creator_profile

Get the account’s public creator profile: display name, byline, bio and public URL. Kit answers 404 when the account …

get_account_colors

List the brand colors configured on the account. Call this before update_account_colors, which replaces the whole lis…

update_account_colors

Replace the account’s brand colors with the list supplied. Kit overwrites the whole list, so call get_account_colors …

get_email_stats

Get account-wide email performance: sends, opens, clicks and the bounce and unsubscribe rates over Kit’s reporting wi…

get_growth_stats

Get subscriber growth over a date window: new subscribers, cancellations and the net change. Omit both dates for Kit’…

list_broadcasts

List broadcasts with optional status and sent-date filters. Set slim to true to drop each broadcast’s HTML body from …

get_broadcast

Get one broadcast by ID, including its body, audience and schedule. Use list_broadcasts to find broadcast IDs.

get_broadcast_stats

Get delivery and engagement statistics for one broadcast: recipients, opens, clicks and unsubscribes. Use list_broadc…

list_broadcast_stats

List every broadcast with its delivery statistics, filtered by status and sent date. Use get_broadcast_stats for one …

list_broadcast_clicks

List per-link click totals for one sent broadcast. Kit answers 404 for a broadcast that has not been sent, so check s…

create_broadcast

Create a broadcast. It stays a draft unless send_at is set. Kit rejects an unconfirmed email_address with a 422 but s…

update_broadcast

Update a broadcast’s subject, body, schedule or audience. Only the fields you set are sent, so the rest keep their cu…

delete_broadcast

Permanently delete a broadcast. The inverse of create_broadcast. Use list_broadcasts to find broadcast IDs.

list_segments

List the account’s saved subscriber segments. Use this to find a segment before referencing it in a broadcast audienc…

list_email_templates

List the email templates available to broadcasts and sequences. Call this to find an email_template_id for create_bro…

list_posts

List the account’s published newsletter posts. Leave include_content null for the much smaller metadata-only payload …

get_post

Get one published post by ID, including its body. Use list_posts to find post IDs.

list_snippets

List reusable content snippets, filtered by kind and archived state. Leave include_content null for the smaller metad…

get_snippet

Get one snippet by ID, including its content. Use list_snippets to find snippet IDs.

create_snippet

Create an inline content snippet that broadcasts and sequence emails can reuse. Kit derives the snippet key from the …

update_snippet

Update an inline snippet’s name or content, or archive and restore it with archived. Only the fields you set are sent…

list_custom_fields

List the account’s custom fields. Call this before create_subscriber or update_subscriber to learn the field keys acc…

create_custom_field

Create a custom field from a label. Kit derives the field key from the label and returns it; that key is what create_…

update_custom_field

Rename a custom field. Use list_custom_fields to find IDs. Kit keeps the original key, so existing personalization ta…

delete_custom_field

Permanently delete a custom field and the values stored against it on every subscriber. Use list_custom_fields to fin…

list_forms

List the account’s forms and landing pages, filtered by lifecycle state and type. Use this to find a form_id before a…

list_form_subscribers

List the subscribers who joined through one form, with optional state and date filters. Use list_forms to find form I…

add_subscriber_to_form

Add an existing subscriber to a form by subscriber ID, which triggers the form’s automations. Use list_forms for form…

add_subscriber_to_form_by_email

Add a subscriber to a form by email address. Kit answers 404 when no subscriber has that address, so call create_subs…

list_sequence_emails

List the emails in one sequence, in send order. Leave include_content null for the much smaller metadata-only payload…

get_sequence_email

Get one email from a sequence, including its body and delay. Use list_sequence_emails to find sequence-email IDs.

create_sequence_email

Add an email to a sequence. Kit requires a subject and a delay before sending. Use list_sequences for sequence IDs an…

update_sequence_email

Update one email in a sequence. Only the fields you set are sent, so the rest keep their current values. Use list_seq…

delete_sequence_email

Permanently delete one email from a sequence. The inverse of create_sequence_email. Use list_sequence_emails to find …

list_sequences

List the account’s sequences, optionally with their send statistics. Use this to find a sequence_id before adding sub…

get_sequence

Get one sequence by ID, optionally with its send statistics. Use list_sequences to find sequence IDs.

create_sequence

Create a sequence. Use get_account for a confirmed sending address and list_email_templates for a template ID. Kit an…

update_sequence

Update a sequence’s name, sending address or schedule. Only the fields you set are sent, so the rest keep their curre…

delete_sequence

Permanently delete a sequence and the emails inside it. The inverse of create_sequence. Use list_sequences to find se…

list_sequence_subscribers

List the subscribers enrolled in one sequence, with optional state and date filters. Use list_sequences to find seque…

add_subscriber_to_sequence

Enroll an existing subscriber in a sequence by subscriber ID. Use list_sequences for sequence IDs and list_subscriber…

add_subscriber_to_sequence_by_email

Enroll a subscriber in a sequence by email address. Use list_sequences to find sequence IDs. Use add_subscriber_to_se…

list_subscribers

List subscribers with optional state, date and email filters, and server-side sorting. Use search_subscribers for eng…

search_subscribers

Search subscribers with Kit’s condition grammar: opens, clicks, tags, attribution and custom-field conditions. Use li…

get_subscriber

Get one subscriber by ID, including their custom-field values and location. This read is immediately consistent, unli…

get_subscriber_stats

Get one subscriber’s email engagement: sends, opens, clicks, bounces and the time since their last open or click. Use…

list_subscriber_tags

List the tags applied to one subscriber, each with the time it was applied. Use list_tag_subscribers for the other di…

create_subscriber

Create a subscriber, or update the existing one with the same email address , Kit upserts on email. Use list_custom_f…

update_subscriber

Update a subscriber’s email address, first name or custom-field values. Kit requires an email address on every update…

unsubscribe_subscriber

Unsubscribe a subscriber, moving them to the cancelled state. This revokes consent and Kit treats it as permanent, so…

set_subscriber_location

Set the location Kit holds for a subscriber. Kit requires country_code, latitude and longitude together and rejects a…

delete_subscriber_location

Clear the location Kit holds for a subscriber. The inverse of set_subscriber_location. Use list_subscribers to find s…

list_tags

List the account’s tags, newest first. Use this to find a tag_id before tagging a subscriber, creating a tag-scoped w…

create_tag

Create a tag. Kit returns the existing tag instead of a duplicate when the name is already taken, so this is safe to …

update_tag

Rename a tag. Use list_tags to find tag IDs. Subscribers keep the tag through a rename.

list_tag_subscribers

List the subscribers carrying one tag, with optional state and date filters. Use list_tags to find tag IDs. Kit’s lis…

tag_subscriber

Apply a tag to an existing subscriber by subscriber ID. Use list_tags for tag IDs and list_subscribers for subscriber…

tag_subscriber_by_email

Apply a tag to a subscriber identified by email address, creating the subscriber when the address is new. Use list_ta…

remove_tag_from_subscriber

Remove a tag from a subscriber by subscriber ID. Use list_tag_subscribers to see who carries a tag. Kit answers succe…

remove_tag_from_subscriber_by_email

Remove a tag from a subscriber identified by email address. Use remove_tag_from_subscriber when you already hold the …

list_webhooks

List the account’s registered webhooks and the events they fire on. Use this to find a webhook_id before deleting one.

create_webhook

Register a webhook that POSTs to a URL when one Kit event fires. Scope-specific events need their ID: use list_forms,…

delete_webhook

Delete a webhook so Kit stops posting its event. The inverse of create_webhook. Use list_webhooks to find webhook IDs.