# Kit Developer Documentation ## Docs - [Welcome](https://developers.kit.com/welcome.md) - [MCP overview](https://developers.kit.com/mcp/overview.md): How to access Kit programmatically — the REST API and Kit's two MCP servers. - [Kit Developer Docs MCP](https://developers.kit.com/mcp/kit-developer-docs-mcp.md): Connect AI coding agents directly to Kit's developer documentation using the Model Context Protocol - [Kit MCP](https://developers.kit.com/mcp/kit-mcp.md): Let AI clients act on a creator's Kit account via the Model Context Protocol. - [Kit App Store overview](https://developers.kit.com/kit-app-store/overview.md) - [Quick start guide](https://developers.kit.com/kit-app-store/quick-start-guide.md): Getting you up and running on the Kit App Store - [Building apps](https://developers.kit.com/kit-app-store/building-apps.md): Building an app for the Kit App Store - [App Authentication](https://developers.kit.com/kit-app-store/authentication.md): Setting up authentication for your app - [App details page](https://developers.kit.com/kit-app-store/app-details-page.md): Help creators get the most from your app by setting up a comprehensive app details page. - [Visual Automation templates](https://developers.kit.com/kit-app-store/va-templates.md): Ship pre-built Visual Automations with your Kit app so creators can adopt working workflows in seconds. - [Best practices](https://developers.kit.com/kit-app-store/best-practices.md): What makes a good App on Kit? - [Going live](https://developers.kit.com/kit-app-store/going-live.md): Getting your app live onto the Kit App Store - [Managing your apps](https://developers.kit.com/kit-app-store/managing-your-apps.md): Updating your app once it's live - [App versioning](https://developers.kit.com/kit-app-store/app-versioning.md): Ensure creators have access to your latest functionality through app versioning - [Kit Developer Assistant](https://developers.kit.com/kit-app-store/kit-developer-assistant.md) - [Plugin overview](https://developers.kit.com/plugins/overview.md) - [Managing plugins](https://developers.kit.com/plugins/managing-plugins.md): Creating and configuring your app's plugins - [OAuth authorization](https://developers.kit.com/plugins/oauth-authorization.md): Setting up OAuth authorization for your plugins - [Overview](https://developers.kit.com/plugins/component-library/overview.md) - [Dependencies](https://developers.kit.com/plugins/component-library/dependencies.md) - [Color picker](https://developers.kit.com/plugins/component-library/color-picker.md) - [Date picker](https://developers.kit.com/plugins/component-library/date-picker.md) - [Dynamic select input](https://developers.kit.com/plugins/component-library/dynamic-select-input.md) - [Font picker](https://developers.kit.com/plugins/component-library/font-picker.md) - [Group](https://developers.kit.com/plugins/component-library/group.md) - [Numerical input](https://developers.kit.com/plugins/component-library/numerical-input.md) - [Radio group](https://developers.kit.com/plugins/component-library/radio-group.md) - [Search input](https://developers.kit.com/plugins/component-library/search-input.md) - [Select input](https://developers.kit.com/plugins/component-library/select-input.md) - [Slider](https://developers.kit.com/plugins/component-library/slider.md) - [Textarea](https://developers.kit.com/plugins/component-library/textarea.md) - [Text input](https://developers.kit.com/plugins/component-library/text-input.md) - [Toggle](https://developers.kit.com/plugins/component-library/toggle.md) - [Content blocks overview](https://developers.kit.com/plugins/content-blocks/overview.md): Introducing content block plugins - [Content blocks plugin flow](https://developers.kit.com/plugins/content-blocks/plugin-flow.md): Example flow for the content block plugin - [Content blocks plugin configuration](https://developers.kit.com/plugins/content-blocks/plugin-configuration.md): Setting up your content block plugins - [Content blocks plugin settings](https://developers.kit.com/plugins/content-blocks/plugin-settings.md): Sidebar settings components - [Plugin security](https://developers.kit.com/plugins/content-blocks/plugin-security.md): Security for your content block plugins - [Content blocks plugin recommendations](https://developers.kit.com/plugins/content-blocks/plugin-recommendations.md): Best practices, tips and tricks to get the most out of content block plugins - [Example content block plugin](https://developers.kit.com/plugins/content-blocks/example-plugin.md): Simple example content block plugin - [Dynamic content blocks overview](https://developers.kit.com/plugins/content-blocks/dynamic-blocks/overview.md): Subscriber-personalized content blocks powered by Liquid templates - [Dynamic content blocks plugin flow](https://developers.kit.com/plugins/content-blocks/dynamic-blocks/plugin-flow.md): Step-by-step guide to building a dynamic content block integration - [Dynamic content blocks plugin configuration](https://developers.kit.com/plugins/content-blocks/dynamic-blocks/plugin-configuration.md): Configuring your dynamic content block plugin - [Liquid templates for dynamic content blocks](https://developers.kit.com/plugins/content-blocks/dynamic-blocks/liquid-templates.md): Writing Liquid-templated HTML for dynamic content blocks - [Media source overview](https://developers.kit.com/plugins/media-source/overview.md): Introducing media source plugins - [Media source plugin flow](https://developers.kit.com/plugins/media-source/plugin-flow.md): Example flow for the media source plugin - [Media source plugin configuration](https://developers.kit.com/plugins/media-source/plugin-configuration.md): Setting up your media source plugins - [Media source plugin settings](https://developers.kit.com/plugins/media-source/plugin-settings.md): Media gallery settings components - [Media source plugin recommendations](https://developers.kit.com/plugins/media-source/plugin-recommendations.md): Best practices, tips and tricks to get the most out of media source plugins - [Example media source plugin](https://developers.kit.com/plugins/media-source/example-plugin.md): Simple example media source plugin - [API Overview](https://developers.kit.com/api-reference/overview.md) - [API Authentication](https://developers.kit.com/api-reference/authentication.md): Authenticating with the Kit API for apps and personal use - [OAuth refresh token flow](https://developers.kit.com/api-reference/oauth-refresh-token-flow.md) - [Proof Key for Code Exchange (PKCE) flow](https://developers.kit.com/api-reference/oauth-proof-key-for-code-exchange-flow.md) - [OAuth token revocation](https://developers.kit.com/api-reference/oauth-token-revocation.md) - [Upgrading to V4](https://developers.kit.com/api-reference/upgrading-to-v4.md): Helping you upgrade from V3 of the API to V4 - [Pagination](https://developers.kit.com/api-reference/pagination.md): Working with paginated responses - [Bulk & async processing](https://developers.kit.com/api-reference/bulk-and-async-processing.md): Working with our bulk endpoints - [Eventual consistency](https://developers.kit.com/api-reference/eventual-consistency.md): Understanding data freshness and propagation delays in the Kit API. - [Dates](https://developers.kit.com/api-reference/dates.md): Working with dates - [Email data retention](https://developers.kit.com/api-reference/email-data-retention.md): How long email stats are available via the Kit API, and what to do when you need older data - [API response codes](https://developers.kit.com/api-reference/response-codes.md): Key response codes you may encounter while using the Kit API - [Get current account](https://developers.kit.com/api-reference/accounts/get-current-account.md): Returns the authenticated account and user: account `id`, `name`, `plan_type`, primary email address, timezone, and the account's sending addresses with their verification and DMARC status. For OAuth apps this is the standard way to identify which account authorized your app after the token exchange… - [List colors](https://developers.kit.com/api-reference/accounts/list-colors.md): Returns the account's saved brand color palette as an array of hex codes (up to 10). These are the colors available in Kit's editors for emails, forms, and landing pages. To change the palette, use [Update colors](/api-reference/accounts/update-colors). - [Update colors](https://developers.kit.com/api-reference/accounts/update-colors.md): Replaces the account's brand color palette with the provided array of up to 10 hex codes and returns the updated list. - [Get Creator Profile](https://developers.kit.com/api-reference/accounts/get-creator-profile.md): Returns the account's Creator Profile — the public-facing identity shown on their Kit profile page and in the Creator Network: display `name`, `byline`, `bio`, `image_url`, and the public `profile_url`. - [Get email stats](https://developers.kit.com/api-reference/accounts/get-email-stats.md): Returns account-level email performance for the last 90 days: `sent`, `opened`, and `clicked` counts plus open, click, unsubscribe, and bounce rates, with the exact reporting window in `starting`/`ending` (`email_stats_mode` is `last_90`). - [Get growth stats](https://developers.kit.com/api-reference/accounts/get-growth-stats.md): Get growth stats for a specific time period. Defaults to last 90 days.

NOTE: We return your stats in your sending time zone. This endpoint does not return timestamps in UTC. - [List broadcasts](https://developers.kit.com/api-reference/broadcasts/list-broadcasts.md): Returns a cursor-paginated list of broadcasts in the account with their content, targeting (`subscriber_filter`), email template, and web-publishing settings. Filter by lifecycle `status` (`draft`, `scheduled`, `sending`, `completed`, `aborted`) and by the `sent_after`/`sent_before` timestamps. Defa… - [Create a broadcast](https://developers.kit.com/api-reference/broadcasts/create-a-broadcast.md): Draft or schedule to send a broadcast to all or a subset of your subscribers.

To save a draft, set `send_at` to `null`.

To publish to the web, set `public` to `true`.

To schedule the broadcast for sending, provide a `send_at` timestamp. Scheduled broadcasts should contain… - [Get stats for a list of broadcasts](https://developers.kit.com/api-reference/broadcasts/get-stats-for-a-list-of-broadcasts.md): Returns delivery and engagement stats — recipients, opens, clicks, unsubscribes, and their corresponding rates — for a page of broadcasts in a single request, avoiding a call per broadcast. Narrow the results with the `status` filter and the `sent_after`/`sent_before` timestamps; results are cursor-… - [Get link clicks for a broadcast](https://developers.kit.com/api-reference/broadcasts/get-link-clicks-for-a-broadcast.md): Returns click performance for each link in a broadcast: the link `url`, its `unique_clicks`, and its click-to-delivery and click-to-open rates. Useful for seeing which calls to action actually drove engagement. - [Get stats for a broadcast](https://developers.kit.com/api-reference/broadcasts/get-stats-for-a-broadcast.md): Returns delivery and engagement stats for a single broadcast: recipients, opens, clicks, unsubscribes, their corresponding rates, plus the sending `status` and `progress`. The `open_tracking_disabled` and `click_tracking_disabled` flags indicate whether tracking was enabled when the broadcast was se… - [Get a broadcast](https://developers.kit.com/api-reference/broadcasts/get-a-broadcast.md): Returns a single broadcast's full record: subject, `content` (HTML), preview text, targeting (`subscriber_filter`), email template, sending schedule (`send_at`), and web-publishing details (`public`, `public_url`, `published_at`). - [Update a broadcast](https://developers.kit.com/api-reference/broadcasts/update-a-broadcast.md): Update an existing broadcast. Continue to draft or schedule to send a broadcast to all or a subset of your subscribers.

To save a draft, set `public` to false.

To schedule the broadcast for sending, set `public` to true and provide `send_at`. Scheduled broadcasts should contain a s… - [Delete a broadcast](https://developers.kit.com/api-reference/broadcasts/delete-a-broadcast.md): Permanently deletes a draft or scheduled broadcast and returns `204 No Content` on success. This is a hard delete and cannot be undone. - [Bulk create custom fields](https://developers.kit.com/api-reference/custom-fields/bulk-create-custom-fields.md): See "[Bulk & async processing](#bulk-amp-async-processing)" for more information. - [Bulk update subscriber custom field values](https://developers.kit.com/api-reference/custom-fields/bulk-update-subscriber-custom-field-values.md): Creates or updates custom field values for many subscribers in one request. Each entry in `custom_field_values` pairs a `subscriber_id` with a `subscriber_custom_field_id` and the `value` to set. Requires OAuth authentication. - [List custom fields](https://developers.kit.com/api-reference/custom-fields/list-custom-fields.md): A custom field allows you to collect subscriber information beyond the standard fields of first name and email address. An example would be a custom field called last name so you can get the full names of your subscribers.

You create a custom field, and then you're able to use that in your… - [Create a custom field](https://developers.kit.com/api-reference/custom-fields/create-a-custom-field.md): Create a custom field for your account. The label field must be unique to your account. Whitespace will be removed from the beginning and the end of your label.

Additionally, a key field and a name field will be generated for you. The key is an ASCII-only, lowercased, underscored representa… - [Update a custom field](https://developers.kit.com/api-reference/custom-fields/update-a-custom-field.md): Updates a custom field label (see [Create a custom field](/api-reference/custom-fields/create-a-custom-field) for more information on labels). Note that the key will change but the name remains the same when the label is updated.

Warning: An update to a custom field will br… - [Delete custom field](https://developers.kit.com/api-reference/custom-fields/delete-custom-field.md): This will remove all data in this field from your subscribers. - [Bulk add subscribers to forms](https://developers.kit.com/api-reference/forms/bulk-add-subscribers-to-forms.md): Adding subscribers to double opt-in forms will trigger sending an Incentive Email. Subscribers already added to the specified form will not receive the Incentive Email again. For more information about double opt-in see "[Double opt-in](#double-opt-in)".

The subscribers being added to the… - [List forms](https://developers.kit.com/api-reference/forms/list-forms.md): Returns a cursor-paginated list of forms and landing pages in the account. Both live on this endpoint — filter with `type=embed` for embedded forms or `type=hosted` for landing pages. By default only `active` forms are returned; use `status` (`active`, `archived`, `trashed`, or `all`) to widen the s… - [List subscribers for a form](https://developers.kit.com/api-reference/forms/list-subscribers-for-a-form.md): Returns a cursor-paginated list of subscribers who joined through (or were added to) the form. By default only `active` subscribers are returned — use `status` (`active`, `inactive`, `bounced`, `complained`, `cancelled`, or `all`) to widen the search. - [Add subscriber to form by email address](https://developers.kit.com/api-reference/forms/add-subscriber-to-form-by-email-address.md): The subscriber being added to the form must already exist. Subscribers can be created using the "[Create a subscriber](#create-a-subscriber)" endpoint. - [Add subscriber to form](https://developers.kit.com/api-reference/forms/add-subscriber-to-form.md): The subscriber being added to the form must already exist. Subscribers can be created using the "[Create a subscriber](#create-a-subscriber)" endpoint. - [Bulk create subscribers](https://developers.kit.com/api-reference/subscribers/bulk-create-subscribers.md): See "[Bulk & async processing](#bulk-amp-async-processing)" for more information. - [List subscribers](https://developers.kit.com/api-reference/subscribers/list-subscribers.md): Returns a cursor-paginated list of subscribers in the account. By default only `active` subscribers are returned — use `status` (`active`, `inactive`, `bounced`, `complained`, `cancelled`, or `all`) to widen the search. Look a subscriber up by exact `email_address`, filter by `created_after`/`create… - [Create a subscriber](https://developers.kit.com/api-reference/subscribers/create-a-subscriber.md): Behaves as an upsert. If a subscriber with the provided email address does not exist, it creates one with the specified first name and state. If a subscriber with the provided email address already exists, it updates the first name.

If you include a custom field key that does not exist on y… - [Filter subscribers by engagement, sign-up date, state, and tags](https://developers.kit.com/api-reference/subscribers/filter-subscribers-by-engagement-sign-up-date-state-and-tags.md): Searches your subscriber list with compound conditions: email engagement (opens, clicks, sends, deliveries — with count thresholds and date ranges), sign-up date, subscriber state, and tags. Every condition in the `all` array must match (AND logic). - [Get a subscriber](https://developers.kit.com/api-reference/subscribers/get-a-subscriber.md): Returns a single subscriber's record: first name, email address, `state` (e.g. `active` or `cancelled`), creation date, and their custom field values under `fields`. - [Update a subscriber](https://developers.kit.com/api-reference/subscribers/update-a-subscriber.md): If you include a custom field key that does not exist on your account, the request returns an error. Use [List custom fields](/api-reference/custom-fields/list-custom-fields) to retrieve existing keys, or [Create a custom field](/api-reference/custom-fields/create-a-custom-field) to add new fields b… - [Unsubscribe subscriber](https://developers.kit.com/api-reference/subscribers/unsubscribe-subscriber.md): Unsubscribes the subscriber from all future emails, moving them to the `cancelled` state. Returns `204 No Content` on success. The subscriber record, history, and tags are retained — they are not deleted from the account. - [List stats for a subscriber](https://developers.kit.com/api-reference/subscribers/list-stats-for-a-subscriber.md): Retrieve email stats for a specific subscriber: totals for sent, opened, clicked, and bounced emails, open and click rates, and recency signals (`last_sent`, `last_opened`, `last_clicked`, and sends since the last open/click). Filter the stats with the `email_sent_after` and/or `email_sent_before` q… - [List tags for a subscriber](https://developers.kit.com/api-reference/subscribers/list-tags-for-a-subscriber.md): Returns a cursor-paginated list of the tags currently applied to a subscriber, including when each was applied (`tagged_at`). - [Bulk create tags](https://developers.kit.com/api-reference/tags/bulk-create-tags.md): See "[Bulk & async processing](#bulk-amp-async-processing)" for more information. - [Bulk delete tags](https://developers.kit.com/api-reference/tags/bulk-delete-tags.md): See "[Bulk & async processing](/api-reference/bulk-and-async-processing)" for more information. - [Bulk tag subscribers](https://developers.kit.com/api-reference/tags/bulk-tag-subscribers.md): The subscribers being tagged must already exist. Subscribers can be created in bulk using the "[Bulk create subscriber](#bulk-create-subscribers)" endpoint.

See "[Bulk & async processing](#bulk-amp-async-processing)" for more information. - [Bulk remove tags from subscribers](https://developers.kit.com/api-reference/tags/bulk-remove-tags-from-subscribers.md): See "[Bulk & async processing](#bulk-amp-async-processing)" for more information. - [List tags](https://developers.kit.com/api-reference/tags/list-tags.md): Returns a cursor-paginated list of all tags in the account with their `id`, `name`, and creation date. Add `include=subscriber_count` to embed each tag's subscriber count. - [Create a tag](https://developers.kit.com/api-reference/tags/create-a-tag.md): Creates a tag with the given `name`. Creation is idempotent on name (matched case-insensitively): if a tag with that name already exists, the endpoint returns `200` with the existing tag instead of creating a duplicate (a newly created tag returns `201`). Returns `422` if `name` is missing. - [Update tag name](https://developers.kit.com/api-reference/tags/update-tag-name.md): Renames a tag. The tag keeps its `id` and all of its subscribers — only the `name` changes, and the new name is reflected everywhere the tag is used (forms, automations, filters). Returns `422` when the new name is blank or already used by another tag in the account (names are unique, case-insensiti… - [List subscribers for a tag](https://developers.kit.com/api-reference/tags/list-subscribers-for-a-tag.md): Returns a cursor-paginated list of subscribers who have this tag. By default only `active` subscribers are returned — use `status` (`active`, `inactive`, `bounced`, `complained`, `cancelled`, or `all`) to widen the search. - [Tag a subscriber by email address](https://developers.kit.com/api-reference/tags/tag-a-subscriber-by-email-address.md): The subscriber being tagged must already exist. Subscribers can be created using the "[Create a subscriber](#create-a-subscriber)" endpoint. - [Remove tag from subscriber by email address](https://developers.kit.com/api-reference/tags/remove-tag-from-subscriber-by-email-address.md): Removes the tag from a subscriber identified by the `email_address` query parameter, returning `204 No Content`. The subscriber stays in your account and keeps their other tags — only this tag association is removed. - [Tag a subscriber](https://developers.kit.com/api-reference/tags/tag-a-subscriber.md): The subscriber being tagged must already exist. Subscribers can be created using the "[Create a subscriber](#create-a-subscriber)" endpoint. - [Remove tag from subscriber](https://developers.kit.com/api-reference/tags/remove-tag-from-subscriber.md): Removes the tag from the subscriber and returns `204 No Content`. The subscriber stays in your account and keeps their other tags — only this tag association is removed. Returns `404` when the tag or subscriber id doesn't exist. - [List email templates](https://developers.kit.com/api-reference/email-templates/list-email-templates.md): Returns a cursor-paginated list of the account's email templates with each template's `id`, `name`, `is_default` flag, and `category` (for example `HTML` or `Starting point`). - [List posts](https://developers.kit.com/api-reference/posts/list-posts.md): Returns a cursor-paginated list of the account's posts — content published to the creator's Kit site and/or sent by email — with each post's `status` (e.g. `draft`, `scheduled`, `published`), `slug`, `public_url`, `is_paid` flag, and timestamps for publishing and sending. - [Get a post](https://developers.kit.com/api-reference/posts/get-a-post.md): Returns a single post's full record, including its `content` HTML, `status` (e.g. `draft`, `scheduled`, `published`), `slug`, SEO fields (`description`, `meta_description`), thumbnail, `is_paid` flag, and the `public_url` where it's published on the creator's Kit site. - [List purchases](https://developers.kit.com/api-reference/purchases/list-purchases.md): Returns a cursor-paginated list of purchases recorded in the account, typically imported from e-commerce platforms. Each purchase includes its `transaction_id`, `status`, `source` (e.g. the originating platform), the buyer's `email_address` and `subscriber_id`, monetary breakdown (`subtotal`, `disco… - [Create a purchase](https://developers.kit.com/api-reference/purchases/create-a-purchase.md): Records a purchase against a subscriber, identified by `email_address` — use this to sync order data from your e-commerce platform into Kit so it appears on the subscriber's profile and can drive purchase-based automations. If no subscriber with that email address exists, one is created (in the `act… - [Get a purchase](https://developers.kit.com/api-reference/purchases/get-a-purchase.md): Returns a single purchase's details: `transaction_id`, `status`, `source`, the buyer's `email_address` and `subscriber_id`, monetary breakdown (`subtotal`, `discount`, `tax`, `total`, `currency`), `transaction_time`, and the purchased `products` with quantities and unit prices. - [List segments](https://developers.kit.com/api-reference/segments/list-segments.md): Returns a cursor-paginated list of all segments in the account with their `id`, `name`, and creation date. - [List sequences](https://developers.kit.com/api-reference/sequences/list-sequences.md): Returns every sequence on the account. A sequence is a self-contained set of automated emails — subscribers join, then receive each email in order, governed by per-email `delay_value` / `delay_unit` and the sequence's overall `send_days`, `send_hour`, and `time_zone` schedule. - [Create a sequence](https://developers.kit.com/api-reference/sequences/create-a-sequence.md): Creates an empty sequence — the container that holds sequence emails. After creating the shell, use [Create a sequence email](/api-reference/sequence-emails/create-a-sequence-email) to populate it. - [Get a sequence](https://developers.kit.com/api-reference/sequences/get-a-sequence.md): Fetches a single sequence by `id`. Use this when you need the current schedule, the `active` / `repeat` / `hold` flags, the configured `email_address` and `email_template_id`, or `exclude_subscriber_sources` for a known sequence — for example, to confirm settings before adding subscribers or to rend… - [Update a sequence](https://developers.kit.com/api-reference/sequences/update-a-sequence.md): Updates any sequence settings — `name`, `email_address`, schedule (`send_days`, `send_hour`, `time_zone`), `email_template_id`, `exclude_subscriber_sources`, or the `active` / `repeat` / `hold` flags. Only fields included in the request body change; everything else is preserved. - [Delete a sequence](https://developers.kit.com/api-reference/sequences/delete-a-sequence.md): Soft-deletes a sequence. The sequence is removed from active delivery immediately, with cleanup of associated state happening in the background. - [List subscribers for a sequence](https://developers.kit.com/api-reference/sequences/list-subscribers-for-a-sequence.md): Returns a cursor-paginated list of subscribers in the sequence, each with an `added_at` timestamp for when they entered it. By default only `active` subscribers are returned — use `status` (`active`, `inactive`, `bounced`, `complained`, `cancelled`, or `all`) to widen the search. - [Add subscriber to sequence by email address](https://developers.kit.com/api-reference/sequences/add-subscriber-to-sequence-by-email-address.md): The subscriber being added to the sequence must already exist. Subscribers can be created using the "[Create a subscriber](#create-a-subscriber)" endpoint. - [Add subscriber to sequence](https://developers.kit.com/api-reference/sequences/add-subscriber-to-sequence.md): The subscriber being added to the sequence must already exist. Subscribers can be created using the "[Create a subscriber](#create-a-subscriber)" endpoint. - [List sequence emails](https://developers.kit.com/api-reference/sequence-emails/list-sequence-emails.md): Returns every email inside a sequence, ordered by `position` (the order subscribers receive them). Each entry carries timing (`delay_value`, `delay_unit`, `send_days`), publish state (`published`), and metadata (`subject`, `preview_text`, `email_template_id`). - [Create a sequence email](https://developers.kit.com/api-reference/sequence-emails/create-a-sequence-email.md): Adds a single email to a sequence. Each sequence email represents one step subscribers receive on their journey through the sequence — its `position` determines order, and `delay_value` / `delay_unit` / `send_days` determine when it fires relative to either the previous email or the subscriber's ent… - [Get a sequence email](https://developers.kit.com/api-reference/sequence-emails/get-a-sequence-email.md): Fetches a single sequence email by `id`. Unlike [List sequence emails](/api-reference/sequence-emails/list-sequence-emails), this endpoint **always returns the full `content`** — no `include_content` flag needed. - [Update a sequence email](https://developers.kit.com/api-reference/sequence-emails/update-a-sequence-email.md): Updates any field on a sequence email — `subject`, `preview_text`, `content`, `delay_value`, `delay_unit`, `send_days`, `position`, `email_template_id`, or `published`. Only fields included in the request body change; everything else is preserved. - [Delete a sequence email](https://developers.kit.com/api-reference/sequence-emails/delete-a-sequence-email.md): Permanently removes one email from a sequence. - [List snippets](https://developers.kit.com/api-reference/snippets/list-snippets.md): Returns every snippet on the account. Each snippet's `key` is the identifier used in Liquid — `{{ snippet.key }}` — when creating a broadcast or sequence email. See [Create a snippet](/api-reference/snippets/create-a-snippet) for how snippets work end-to-end. - [Create a snippet](https://developers.kit.com/api-reference/snippets/create-a-snippet.md): Snippets are reusable pieces of email content you can drop into a broadcast or sequence email using Liquid: `{{ snippet.key }}`. Update the snippet once and every email that references it picks up the new content on next send. - [Get a snippet](https://developers.kit.com/api-reference/snippets/get-a-snippet.md): Fetches a single snippet by `id`. Unlike [List snippets](/api-reference/snippets/list-snippets), this endpoint **always returns the full `content` and `document`** — no `include_content` flag needed. - [Update a snippet](https://developers.kit.com/api-reference/snippets/update-a-snippet.md): Rename a snippet, replace its body, or archive/restore it. Updates apply on the next send of any email that references the snippet via `{{ snippet.key }}` — there's no per-email versioning, so a content change ripples to every broadcast or sequence email using that key. - [List webhooks](https://developers.kit.com/api-reference/webhooks/list-webhooks.md): Webhooks are automations that will receive subscriber data when a subscriber event is triggered, such as when a subscriber completes a sequence.

When a webhook is triggered, a `POST` request will be made to your URL with a JSON payload. - [Create a webhook](https://developers.kit.com/api-reference/webhooks/create-a-webhook.md): Available event types:
- `subscriber.subscriber_activate`
- `subscriber.subscriber_unsubscribe`
- `subscriber.subscriber_bounce`
- `subscriber.subscriber_complain`
- `subscriber.form_subscribe`, required parameter `form_id` [Integer]
- `subscriber.course_subscribe`, required… - [Delete a webhook](https://developers.kit.com/api-reference/webhooks/delete-a-webhook.md): Deletes the webhook and stops all future deliveries of its subscribed events to the target URL. Returns `204 No Content` on success, `404` when the id doesn't exist, and `422` when the webhook cannot be deleted. - [Changelog](https://developers.kit.com/changelog.md): Developer platform updates and new features. ## OpenAPI Specs - [v4](https://developers.kit.com/api-reference/v4.json) ## Optional - [Kit](https://kit.com) - [Developer Community](https://kit.typeform.com/to/f8urvmPe) - [Blog](https://kit.com/resources) - [Support](https://kit.com/support)