Documentation Index
Fetch the complete documentation index at: https://developers.kit.com/llms.txt
Use this file to discover all available pages before exploring further.
🚀 GET /v4/broadcasts/stats — enriched response and date filtering
GET /v4/broadcasts/stats now returns subject and send_at on every row by default. This eliminates the need for a follow-up GET /v4/broadcasts/:id call per row when building subject-line or send-time analyses.The endpoint also accepts two new optional query parameters:sent_after— filter to broadcasts sent after this ISO 8601 datetimesent_before— filter to broadcasts sent before this ISO 8601 datetime
per_page / after continues to work as documented.Plan gating: this endpoint requires a Pro plan or special developer authorisation. Requests from free accounts return 403.Full reference: /api-reference/broadcasts/get-stats-for-a-list-of-broadcasts🚀 Sequence Emails CRUD API
Full CRUD for the individual emails inside a sequence is now available on the V4 API:GET /v4/sequences/:sequence_id/emails— list emails in send order.contentis omitted by default; passinclude_content=trueto include it.GET /v4/sequences/:sequence_id/emails/:id— fetch a single email, always with full content.POST /v4/sequences/:sequence_id/emails— create an email (published: falseby default so it doesn’t go out until you flip it).PUT /v4/sequences/:sequence_id/emails/:id— update subject, content, timing, send days, position, or publish state.DELETE /v4/sequences/:sequence_id/emails/:id— remove an email; subscribers already queued for it will skip it.
delay_unit: "days" follows the sequence schedule, delay_unit: "hours" bypasses it and fires once the delay elapses (checked every 15 minutes). Per-email send_days overrides the sequence-level schedule (days mode only) — pass send_days: null to revert to inheriting it.Snippets are referenced inside content via {{ snippet.<key> }} and resolve at send time, so editing a snippet automatically updates every email referencing it without re-publishing.Full reference: /api-reference/sequence-emails/list-sequence-emails · /api-reference/sequence-emails/get-a-sequence-email · /api-reference/sequence-emails/create-a-sequence-email · /api-reference/sequence-emails/update-a-sequence-email · /api-reference/sequence-emails/delete-a-sequence-email🚀 GET /v4/subscribers now supports opt-in enrichment via include=
GET /v4/subscribers now accepts an include= query parameter that returns additional fields alongside the base subscriber record. Pass a comma-separated list of any of the following values:include=attribution— referrer, UTM parameters, and Kit source data per subscriberinclude=tags— array of{id, name}tag objectsinclude=location— city, state, country, lat, and lnginclude=canceled_at— ISO 8601 cancellation timestamp; requiresstatus=cancelled(returns422otherwise)
include=tags,location,canceled_at). Omitting include= leaves existing response shape and performance unchanged. Invalid values return 422 with the full list of accepted options.Full reference: /api-reference/subscribers/list-subscribers🚀 Snippets CRUD API
Snippets are now available on the V4 API:GET /v4/snippets— list snippets, withsnippet_typeandarchivedfilters.contentanddocumentare omitted by default — passinclude_content=trueto include them.GET /v4/snippets/:id— fetch a single snippet (always includes content).POST /v4/snippets— create a snippet.PUT /v4/snippets/:id— rename, update content, or archive/restore (passarchived: true/falsein the body).
content, and block snippets store rich HTML in document_attributes[value_html]. A snippet’s type is set on creation and cannot be changed via PUT.Each response includes a key field — that’s the identifier used to reference a snippet from a broadcast or sequence email via Liquid ({{ snippet.key }}). The API also rejects circular references (a snippet nesting itself) with a clear validation error.Full reference: /api-reference/snippets/list-snippets · /api-reference/snippets/get-a-snippet · /api-reference/snippets/create-a-snippet · /api-reference/snippets/update-a-snippet🚀 Help Text Hyperlinks
You can now use markdown formatting in the help field of all plugin component library. The following formatting is supported:- Hyperlinks: link text
- Bold: bold
- Italic: italic
🚀 Newsletter posts on the V4 API
Two new read-only endpoints expose newsletter posts on the V4 API — including drafts and web-only posts that weren’t reachable through broadcasts:GET /v4/posts— cursor-paginated list (up to 1000 per page). Passinclude_content=trueto return the full HTML body (off by default to keep responses small).GET /v4/posts/{id}— fetch a single post, always includescontent.
id, publication_id, title, slug, description, status, published_at, sent_at, thumbnail_url, is_paid, and public_url. Use publication_id to join a post back to its broadcast via GET /v4/broadcasts. Supports API key and OAuth2.Full reference: /api-reference/posts/list-posts · /api-reference/posts/get-a-post🚀 Sending addresses on the Account endpoint
TheGET /v4/account response now includes a sending_addresses array listing every sending address configured on the account. Each entry contains email_address, from_name, status, is_default, is_verified, and is_dmarc_configured. These addresses can be used when creating or updating any email via the API. Unverified addresses are included and marked with is_verified: false.Full reference: /api-reference/accounts/get-current-account🚀 Sequences CRUD API
Full CRUD support for sequences is now available on the V4 API. Five endpoints shipped:GET /v4/sequences— expanded to return the full sequence object (13 fields includingsend_days,time_zone,email_address,exclude_subscriber_sources)GET /v4/sequences/:id— fetch a single sequence by IDPOST /v4/sequences— create a sequence programmaticallyPUT /v4/sequences/:id— update sequence settingsDELETE /v4/sequences/:id— soft delete with background cleanup
🚀 Broadcast date filtering
GET /v4/broadcasts now supports sent_after and sent_before query parameters for server-side date filtering. Use both together to define a date range, or omit both to preserve existing unfiltered behaviour. Filters are applied before pagination, so page sizes and cursor behaviour remain consistent. Invalid date values return 422 with descriptive error messages.This enables incremental sync patterns — instead of fetching your full broadcast history and filtering client-side, call GET /v4/broadcasts?sent_after=2026-04-16 to retrieve only what’s changed since your last run.Full reference: developers.kit.com/api-reference/broadcasts/list-broadcasts🚀 Default values now supported across all plugin settings components
All plugin settings components now support an optionaldefault property that pre-fills the setting value when a creator first adds the component. Previously only available on Radio Group, Slider, Toggle, and Textarea, it is now also supported on:- Color Picker (string)
- Text Input (string)
- Numerical Input (number)
- Font Picker (object with
fontFamilyandfontWeight) - Select Input (string)
- Date Picker (string, UTC ISO8601)
default continue working unchanged.🔧 Going-live checklist prompt added to app submission
The Submit for Approval modal now displays a pre-submission checklist when you click “Submit for approval” in the Distribution tab, with a direct link to the going-live checklist. No changes to the submission API or review process.🚀 App Store Search
The Kit App Store now has free-text search. Creators can search by app name, category, or description with real-time debounced results and fuzzy/partial matching. The category filter has moved into a dropdown co-located with the search input. No API changes — this is an in-product UI feature available atapp.kit.com under Automate > Apps. See the App Store overview and app details page for context on the App Store surface.🔧 Purchases endpoints now return subscriber_id
The List Purchases and Get Purchase endpoints now includesubscriber_id in the response, eliminating the need for an extra API call to map a purchase to a subscriber.🚀 Kit Developer Docs MCP server
Connect your AI coding agent directly to Kit’s developer documentation using the Kit Developer Docs MCP server. Supported clients can query the full API reference on demand, make live API calls on your behalf, and spin up local OAuth servers for testing.🚀 Custom Field Webhooks & Bulk Updates
- Introduced 3 new webhook events for custom fields:
custom_field.field_created,custom_field.field_deleted, andcustom_field.field_value_updated, enabling real-time sync with third-party apps. - Added a bulk update endpoint (
POST /v4/bulk/custom_fields/subscribers) to update multiple custom field values for multiple subscribers in a single API call. - Learn more about webhooks and bulk updates.
🚀 Transparent color option now available in color picker
The color picker component now supports anallow_transparent property that displays a “Transparent” toggle, allowing creators to set colors to transparent.🚀 App Settings now live in Kit App Store
Developers can now set an external “App Settings” URL in their app settings, allowing Creators to be able to customize their app setup post-installation, reducing account bloat by controlling data creation and sync. Read about best practices of how to implement this here.🔧 Improved Kit App Store Sorting
- Default sorting now highlights the most popular apps by all-time installations.
- Introduced a “Trending” category for apps gaining traction across our creators.
- Renamed “Last added” to “Newest” for clarity.
🚀 New API endpoints: “List stats for a subscriber” and “Filter subscribers based on engagement”
Developers can now use Kit’s API to filter subscribers by events likeopened, clicked, sent, delivered, and subscribed with customizable date ranges and event counts. Explore the API to enhance subscriber engagement tracking. Additionally, the List stats endpoint now supports specifying date ranges for subscriber engagement data. Learn more.🚀 Automation nodes app plugin environment launched
Developers can now integrate third-party apps with Kit Visual Automations using action and event nodes. This opens up powerful new ways for developers to build with Kit, and for creators to automate their workflows.- Event nodes trigger automations on conditions like “call booked” or “survey completed”.
- Action nodes perform tasks in external systems such as “send an SMS” or “enroll a subscriber in a course”.
- Apps like Shopify, Thinkific, and Calendly are already utilizing these nodes.
🚀 Dynamic return URLs for app installations
Developers can now redirect users back to specific pages after completing an app install using thereturn_to query parameter in installation flows, enabling smoother integration experiences that originate from partner sites.📖 Developer changelog now live

- Emoji categories: 🚀 Added, 🔧 Changed, 🐛 Fixed, ⚠️ Breaking Changes
- RSS subscription: Never miss an update with the RSS feed button
- Smart filtering: Filter by product area including Kit App Store, Plugins, API, Authentication, and more
- Copy functionality: Easily share updates with the copy page feature
🚀 New subscriber stats endpoint available
Get comprehensive engagement metrics for individual subscribers including sends, opens, clicks, bounce rates, and timestamps via the new subscriber stats API endpoint.🚀 New plugin components and dependency support now available
- New plugin components: Radio Group, Slider, Textarea, Toggle, Numerical Input
- New plugin capabilities: Group, Dependencies
- Plugin enhancements: Transparency and weights in Font Picker, a11y improvements across all components
🔧 Kit App Store and app management UX improvements
- Entire app cards now clickable with streamlined navigation and consistent button hierarchy
- New install button directly on Build tab for faster app testing workflows
- In app settings (
https://app.kit.com/apps/:app_id/auth), API and Plugin Authentication separated into distinct sections with clearer plugin type display
🚀 App Versioning now available for seamless authentication updates
Developers can now ensure creators have access to their latest functionality through app versioning:- Apps automatically create new versions when authentication requirements change
- Creators receive smart notifications and can update permissions without reinstalling
- Plugin-level scope control with cumulative permission tracking across all plugins
🔧 OAuth flow now starts from api.kit.com
Kit’s OAuth flow is now initiated fromapi.kit.com/v4/oauth for consistency with other API endpoints, replacing the previous app.kit.com requirement.🚀 Direct app installation URLs now available
Developers can now drive app installations directly from their websites usinghttps://app.kit.com/apps/:app_id/install?k_app_id=k_:app_id without requiring users to first visit Kit App Store.🔧 App icons now display consistently across the Kit App Store
App thumbnails now display as uniform squares (60x60px on detail pages, 40x40px elsewhere) with proper cropping and centering, ensuring professional appearance regardless of original image dimensions.🚀 Plugin deletion now available for developers
Developers can now permanently delete plugins from their Kit apps to better manage their plugin inventory.🚀 Brand new developer documentation platform
We’ve completely rebuilt our developer documentation from the ground up, centralizing all developer resources in one comprehensive hub at developers.kit.com.Key improvements include:
- Unified resource center: All guides, tutorials, and API documentation now live in one carefully structured location
- Updated content: Every piece of documentation has been refreshed and expanded, from app creation guides to OAuth implementation tutorials
- Enhanced navigation: Improved site structure makes finding relevant information faster and more intuitive
🚀 New interactive features
API Sandbox
- Test Kit’s V4 API directly in the documentation
- Input your API key and make live requests without leaving the docs
- Perfect for rapid prototyping and testing
Advanced Search & AI Support
- Full-text search across all documentation
- Built-in “Ask AI” functionality for instant answers
- Industry-standard llms.txt and llms-full.txt support for AI integrations
🔧 Developer experience improvements
- Dark mode support: Documentation now adapts to your preferred viewing mode
- SEO optimized: Better discoverability for developers searching for Kit integration help
- Quick action CTAs: Streamlined paths to sign up, join the developer community, and contact support
- Mobile responsive: Optimized experience across all devices