> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Kit

**Authentication:** OAuth or API key. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-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 `alice@acme.com` 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.