ConvertKit (Kit) API
Create and schedule Kit newsletter broadcasts alongside social media posts with RelayAPI.
Quick Reference
| Property | Value |
|---|---|
| Platform key | convertkit |
| Auth method | Kit API v4 key |
| Content format | HTML (plain text auto-wrapped) |
| Scheduling | Yes |
| Analytics | No |
Omitting send_at schedules the broadcast about one minute ahead, using Kit's documented scheduling contract. Set send_at to an ISO 8601 timestamp for an explicit provider schedule. Although Kit can represent provider drafts with send_at: null, RelayAPI does not yet expose that remote lifecycle: null fails before provider I/O. To save a RelayAPI-local draft without creating a Kit broadcast, set the post's top-level scheduled_at to "draft".
Before You Start
You need a Kit API v4 key. Create one from the Developer tab in your Kit account settings. Kit documents that v4 keys are different from and incompatible with v3 credentials; RelayAPI validates the key with GET https://api.kit.com/v4/account and the X-Kit-Api-Key header. See Kit's API authentication guide.
Connect
curl -X POST https://api.relayapi.dev/v1/connect/convertkit \
-H "Authorization: Bearer $RELAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"api_key": "your-kit-v4-api-key"
}'Send a Broadcast
curl -X POST https://api.relayapi.dev/v1/posts \
-H "Authorization: Bearer $RELAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Our latest newsletter content...",
"targets": ["acc_convertkit123"],
"scheduled_at": "now",
"target_options": {
"convertkit": {
"subject": "Weekly Newsletter #10",
"preview_text": "What we shipped this week"
}
}
}'target_options Fields
| Field | Type | Required | Description |
|---|---|---|---|
subject | string | No | Email subject line. Falls back to first line of content. |
preview_text | string | No | Description/preview text. |
public | boolean | No | Publish the broadcast to the Kit web feed. |
published_at | string | No | ISO 8601 web publication timestamp. |
content_html | string | No | Full HTML body. If omitted, plain text is auto-wrapped. |
email_template_id | positive integer | No | Existing Kit v4 email template ID. String and zero values are rejected. |
send_at | string | No | ISO 8601 timestamp to schedule delivery; omission schedules about one minute ahead. null is rejected as PROVIDER_DRAFT_UNSUPPORTED. |
Relay media attachments are not supported for Kit broadcasts. Put images in
trusted HTML referenced by content_html instead of sending a post media
array.
If an older or unexpected Kit response reports a provider-side draft after a
broadcast was created, RelayAPI retains the broadcast ID and terminalizes the
target as failed with PROVIDER_DRAFT_REQUIRES_MANUAL_ACTION; it does not poll
forever or retry the creation boundary.
Automations
Kit (formerly ConvertKit) uses the v4 API under https://api.kit.com/v4. Triggers fire on subscribe lifecycle and tag events.
Triggers
| Type | Fires on |
|---|---|
kit_subscriber_activate | Subscriber becomes active |
kit_form_subscribe | Form submission |
kit_tag_add | Tag applied to a subscriber |
Send nodes
| Node | Endpoint | Required fields |
|---|---|---|
kit_add_subscriber | POST /subscribers | email, optional first_name |
kit_add_tag | POST /tags/{tag_id}/subscribers | tag_id, email |
kit_send_broadcast | POST /broadcasts/{id}/send | broadcast_id |
Found something wrong? Help us improve this page.