# Kit Developer Documentation ## Docs - [Get Creator Profile](https://developers.kit.com/api-reference/accounts/get-creator-profile.md) - [Get current account](https://developers.kit.com/api-reference/accounts/get-current-account.md) - [Get email stats](https://developers.kit.com/api-reference/accounts/get-email-stats.md) - [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 colors](https://developers.kit.com/api-reference/accounts/list-colors.md) - [Update colors](https://developers.kit.com/api-reference/accounts/update-colors.md) - [API Authentication](https://developers.kit.com/api-reference/authentication.md): Authenticating with the Kit API for apps and personal use - [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 a subject and your content, at a minimum.

We currently support targeting your subscribers based on segment or tag ids. - [Delete a broadcast](https://developers.kit.com/api-reference/broadcasts/delete-a-broadcast.md) - [Get a broadcast](https://developers.kit.com/api-reference/broadcasts/get-a-broadcast.md) - [Get link clicks for a broadcast](https://developers.kit.com/api-reference/broadcasts/get-link-clicks-for-a-broadcast.md): NOTE: Pagination parameters control the list of clicks for the top level broadcast. - [Get stats for a broadcast](https://developers.kit.com/api-reference/broadcasts/get-stats-for-a-broadcast.md) - [Get stats for a list of broadcasts](https://developers.kit.com/api-reference/broadcasts/get-stats-for-a-list-of-broadcasts.md): NOTE: This endpoint requires either a Pro level plan or developer authorization. Reach out here to get authorized! - [List broadcasts](https://developers.kit.com/api-reference/broadcasts/list-broadcasts.md) - [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 subject and your content, at a minimum.

We currently support targeting your subscribers based on segment or tag ids. - [Bulk & async processing](https://developers.kit.com/api-reference/bulk-and-async-processing.md): Working with our bulk endpoints - [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. - [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 representation of your label. This key must be unique to your account. Keys are used in personalization tags in sequences and broadcasts. Names are unique identifiers for use in the HTML of custom forms. They are made up of a combination of ID and the key of the custom field prefixed with "ck_field". - [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. - [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 forms or emails. - [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](#create-a-custom-field) above 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 break all of the liquid personalization tags in emails that reference it - e.g. if you update a `Zip_Code` custom field to `Post_Code`, all liquid tags referencing `{{ subscriber.Zip_Code }}` would no longer work and need to be replaced with `{{ subscriber.Post_Code }}`. - [Dates](https://developers.kit.com/api-reference/dates.md): Working with dates - [List email templates](https://developers.kit.com/api-reference/email-templates/list-email-templates.md) - [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. - [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. - [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 form 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. - [List forms](https://developers.kit.com/api-reference/forms/list-forms.md) - [List subscribers for a form](https://developers.kit.com/api-reference/forms/list-subscribers-for-a-form.md) - [Proof Key for Code Exchange (PKCE) flow](https://developers.kit.com/api-reference/oauth-proof-key-for-code-exchange-flow.md) - [OAuth refresh token flow](https://developers.kit.com/api-reference/oauth-refresh-token-flow.md) - [API Overview](https://developers.kit.com/api-reference/overview.md) - [Pagination](https://developers.kit.com/api-reference/pagination.md): Working with paginated responses - [Create a purchase](https://developers.kit.com/api-reference/purchases/create-a-purchase.md) - [Get a purchase](https://developers.kit.com/api-reference/purchases/get-a-purchase.md) - [List purchases](https://developers.kit.com/api-reference/purchases/list-purchases.md) - [API response codes](https://developers.kit.com/api-reference/response-codes.md): Key response codes you may encounter while using the Kit API - [List segments](https://developers.kit.com/api-reference/segments/list-segments.md) - [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. - [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. - [List sequences](https://developers.kit.com/api-reference/sequences/list-sequences.md) - [List subscribers for a sequence](https://developers.kit.com/api-reference/sequences/list-subscribers-for-a-sequence.md) - [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. - [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.

We will ignore custom fields that don't already exist in your account. We will not return an error if you try to add data to a custom field that does not exist. Please use Create a custom field to create custom fields before setting for subscribers.

NOTE: Updating the subscriber state with this endpoint is not supported at this time.
NOTE: We support creating/updating a maximum of 140 custom fields at a time. - [Get a subscriber](https://developers.kit.com/api-reference/subscribers/get-a-subscriber.md) - [List subscribers](https://developers.kit.com/api-reference/subscribers/list-subscribers.md) - [List tags for a subscriber](https://developers.kit.com/api-reference/subscribers/list-tags-for-a-subscriber.md) - [Unsubscribe subscriber](https://developers.kit.com/api-reference/subscribers/unsubscribe-subscriber.md) - [Update a subscriber](https://developers.kit.com/api-reference/subscribers/update-a-subscriber.md): We will ignore custom fields that don't already exist in your account. We will not return an error if you try to add data to a custom field that does not exist. Please use Create a custom field to create custom fields before setting for subscribers.

NOTE: We support creating/updating a maximum of 140 custom fields at a time. - [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 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. - [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. - [Create a tag](https://developers.kit.com/api-reference/tags/create-a-tag.md) - [List subscribers for a tag](https://developers.kit.com/api-reference/tags/list-subscribers-for-a-tag.md) - [List tags](https://developers.kit.com/api-reference/tags/list-tags.md) - [Remove tag from subscriber](https://developers.kit.com/api-reference/tags/remove-tag-from-subscriber.md) - [Remove tag from subscriber by email address](https://developers.kit.com/api-reference/tags/remove-tag-from-subscriber-by-email-address.md) - [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. - [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. - [Update tag name](https://developers.kit.com/api-reference/tags/update-tag-name.md) - [Upgrading to V4](https://developers.kit.com/api-reference/upgrading-to-v4.md): Helping you upgrade from V3 of the API to V4 - [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 parameter `sequence_id` [Integer]
- `subscriber.course_complete`, required parameter `sequence_id` [Integer]
- `subscriber.link_click`, required parameter `initiator_value` [String] as a link URL
- `subscriber.product_purchase`, required parameter `product_id` [Integer]
- `subscriber.tag_add`, required parameter `tag_id` [Integer]
- `subscriber.tag_remove`, required parameter `tag_id` [Integer]
- `purchase.purchase_create` - [Delete a webhook](https://developers.kit.com/api-reference/webhooks/delete-a-webhook.md) - [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. - [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. - [App Authentication](https://developers.kit.com/kit-app-store/authentication.md): Setting up authentication for your app - [Best practices](https://developers.kit.com/kit-app-store/best-practices.md): What makes a good App on Kit? - [Building apps](https://developers.kit.com/kit-app-store/building-apps.md): Building an app for the Kit App Store - [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 - [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 using AI](https://developers.kit.com/kit-app-store/using-ai.md): Make building on Kit easier than ever before, using your AI clients of choice - [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) - [Overview](https://developers.kit.com/plugins/component-library/overview.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) - [Text input](https://developers.kit.com/plugins/component-library/text-input.md) - [Example content block plugin](https://developers.kit.com/plugins/content-blocks/example-plugin.md): Simple example content block plugin - [Content blocks overview](https://developers.kit.com/plugins/content-blocks/overview.md): Introducing content block plugins - [Content blocks plugin configuration](https://developers.kit.com/plugins/content-blocks/plugin-configuration.md): Setting up your 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 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 - [Plugin security](https://developers.kit.com/plugins/content-blocks/plugin-security.md): Security for your content block plugins - [Content blocks plugin settings](https://developers.kit.com/plugins/content-blocks/plugin-settings.md): Sidebar settings components - [Managing plugins](https://developers.kit.com/plugins/managing-plugins.md): Creating and configuring your app's plugins - [Example media source plugin](https://developers.kit.com/plugins/media-source/example-plugin.md): Simple example media source plugin - [Media source overview](https://developers.kit.com/plugins/media-source/overview.md): Introducing media source plugins - [Media source plugin configuration](https://developers.kit.com/plugins/media-source/plugin-configuration.md): Setting up your 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 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 - [Media source plugin settings](https://developers.kit.com/plugins/media-source/plugin-settings.md): Media gallery settings components - [OAuth authorization](https://developers.kit.com/plugins/oauth-authorization.md): Setting up OAuth authorization for your plugins - [Plugin overview](https://developers.kit.com/plugins/overview.md) - [Welcome](https://developers.kit.com/welcome.md) ## Optional - [Kit](https://kit.com) - [Developer Community](https://kit.typeform.com/to/f8urvmPe) - [Blog](https://kit.com/resources) - [Support](https://kit.com/support)