Kit node reference - all 62 operations, the credential it needs, and a worked example.
Kit (formerly ConvertKit) v4 API (Email marketing). 62 operations: subscribers (upsert, get, list, advanced boolean search, update, unsubscribe, tags, engagement stats); tags (create, rename, list, tag or untag by email or ID, list a tag's subscribers); forms and landing pages (list, add a subscriber by email or ID, list a form's subscribers); sequences (full CRUD, enroll a subscriber, list enrollments) and sequence emails (full CRUD); broadcasts (full CRUD plus stats and link clicks); custom fields; snippets; posts, email templates and segments; purchases; and webhook registration.
Credential: Kit (ConvertKit) API key - see Credentials.
The Kit v4 API has no scope system on the credential this node uses. An account API key (Settings > Developer, sent as X-Kit-Api-Key) can call every operation below with whatever authority the account already has, so a refusal is never a missing checkbox - a 401 means the key is wrong or was rotated, and a 422 means the request body is. Kit ALSO offers OAuth2, but its own docs contradict each other on whether that has scopes: every bulk-endpoint page says a token needs read or write, while the PKCE flow page states that the "default scope is public" and "fine-grained access control via scopes [is] coming soon". Rather than publish a scope table built on that disagreement, note the one thing that IS unambiguous: two families - every bulk/* endpoint and POST /v4/purchases - require OAuth rather than an API key, which is why neither is implemented on this node.
| Operation | What it does |
|---|
createSubscriber | Create / update subscriber (upsert by email) |
getSubscriber | Get subscriber |
listSubscribers | List subscribers |
filterSubscribers | Advanced subscriber search |
updateSubscriber | Update subscriber |
unsubscribeSubscriber | Unsubscribe subscriber |
listSubscriberTags | List a subscriber's tags |
getSubscriberStats | Get a subscriber's engagement stats |
| Operation | What it does |
|---|
tagSubscriber | Tag a subscriber by email |
tagSubscriberById | Tag a subscriber by ID |
removeTagFromSubscriber | Remove a tag from a subscriber by ID |
removeTagFromSubscriberByEmail | Remove a tag from a subscriber by email |
listTagSubscribers | List subscribers with a tag |
listTags | List tags |
createTag | Create tag |
updateTag | Rename tag |
| Operation | What it does |
|---|
addSubscriberToForm | Add a subscriber to a form by email |
addSubscriberToFormById | Add a subscriber to a form by ID |
listFormSubscribers | List a form's subscribers |
listForms | List forms and landing pages |
| Operation | What it does |
|---|
addSubscriberToSequence | Add a subscriber to a sequence by email |
addSubscriberToSequenceById | Add a subscriber to a sequence by ID |
listSequenceSubscribers | List a sequence's subscribers |
listSequences | List sequences |
createSequence | Create sequence |
getSequence | Get sequence |
updateSequence | Update sequence |
deleteSequence | Delete sequence |
| Operation | What it does |
|---|
listSequenceEmails | List sequence emails |
createSequenceEmail | Create sequence email |
getSequenceEmail | Get sequence email |
updateSequenceEmail | Update sequence email |
deleteSequenceEmail | Delete sequence email |
| Operation | What it does |
|---|
listBroadcasts | List broadcasts |
createBroadcast | Create broadcast |
getBroadcast | Get broadcast |
updateBroadcast | Update broadcast |
deleteBroadcast | Delete broadcast |
listBroadcastStats | List broadcasts with stats |
getBroadcastStats | Get a broadcast's stats |
getBroadcastClicks | Get a broadcast's link clicks |
| Operation | What it does |
|---|
listCustomFields | List custom fields |
createCustomField | Create custom field |
updateCustomField | Rename custom field |
deleteCustomField | Delete custom field |
| Operation | What it does |
|---|
listSnippets | List snippets |
createSnippet | Create snippet |
getSnippet | Get snippet |
updateSnippet | Update / archive snippet |
| Operation | What it does |
|---|
listPosts | List posts |
getPost | Get post |
listEmailTemplates | List email templates |
listSegments | List segments |
| Operation | What it does |
|---|
listPurchases | List purchases |
getPurchase | Get purchase |
| Operation | What it does |
|---|
listWebhooks | List webhooks |
createWebhook | Create webhook |
deleteWebhook | Delete webhook |
| Operation | What it does |
|---|
getAccount | Get the current account |
getCreatorProfile | Get the creator profile |
getEmailStats | Get account email stats |
getGrowthStats | Get account growth stats |
Create the subscriber before trying to tag them
Until the Kit operation wave this node had two operations and neither could create a subscriber — both only attached an ALREADY-EXISTING one to a form or a tag, which made them unusable as the first Kit step in a workflow. createSubscriber is the missing half.
Set Operation to createSubscriber, then fill in:
| Field | Value | Notes |
|---|
email | {{ myTrigger.email }} | Kit's identity for a subscriber |
firstName | {{ myTrigger.firstName }} | Kit stores only a first name |
customFieldsJson | {"source": "{{ myTrigger.utmSource }}"} | The field must already exist in Kit; create it with createCustomField first |
Sets {{subscriber.id}}, {{subscriber.email}} and {{subscriber.state}}. Note Kit's writes are eventually consistent — a read immediately after this may not see it yet.