Developer API & SDK Quickstart
A high-throughput, edge-accelerated JSON REST API hosted at https://api.kitecampaigns.com. Authenticate using Bearer tokens or API keys with sub-90ms request latency.
Interactive Multi-Language Quickstart
send-email.sh
curl -X POST https://api.kitecampaigns.com/v1/campaigns \
-H "Authorization: Bearer kc_live_79a2b8e3..." \
-H "Content-Type: application/json" \
-d '{
"subject": "Your Verification Code: 492019",
"html": "<p>Hello! Your login code is <strong>492019</strong>.</p>",
"domain_id": "dom_india_981a",
"audience": { "all": true },
"delete_contacts_after_send": false
}'202 AcceptedAverage API Response: 78ms
1. Authenticate & Get Session Token
POST /v1/auth/loginREST API
curl -X POST https://api.kitecampaigns.com/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"developer@yourcompany.in","password":"YOUR_PASSWORD"}'
# Response (200 OK):
# {"token":"kc_tok_984a1...","user":{"email":"developer@yourcompany.in"},"tenant":{"daily_limit":300}}2. Add & Verify Sending Domain
Interactive DNS Configurator
Generate DNS Records for Your Sending Domain
Enter your custom subdomain (e.g., mail.yourcompany.in or updates.brand.in) to generate exact DNS records.
Scroll horizontally to see all DNS record details.
| Type | Host / Name | Value / Points To | Action |
|---|---|---|---|
| CNAME | kc1._domainkey.mail.yourcompany.in | dkim1.kitecampaigns.com | |
| CNAME | kc2._domainkey.mail.yourcompany.in | dkim2.kitecampaigns.com | |
| TXT | mail.yourcompany.in | v=spf1 include:kitecampaigns.com ~all | |
| TXT | _dmarc.mail.yourcompany.in | v=DMARC1; p=reject; rua=mailto:dmarc@kitecampaigns.com; pct=100 |
Publish these records in your DNS provider (Cloudflare, GoDaddy, AWS Route 53, Namecheap).DNS verification typically takes 2-5 minutes.
POST /v1/domainsREST API
# Add your domain
curl -X POST https://api.kitecampaigns.com/v1/domains \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain":"mail.yourcompany.in"}'
# -> {"id":"dom_918a","status":"pending","dns_records":[{"type":"CNAME","name":"...","value":"..."}]}
# Verify DNS records once published
curl -X POST https://api.kitecampaigns.com/v1/domains/dom_918a/verify \
-H "Authorization: Bearer $TOKEN"3. Import Opted-In Indian Contacts
consent_confirmed must be explicitly true. Only upload consented subscribers.
POST /v1/contacts/importREST API
curl -X POST https://api.kitecampaigns.com/v1/contacts/import \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"consent_confirmed": true,
"contacts": [
{"email": "vikram@example.in", "name": "Vikram Sharma"},
{"email": "pooja@example.in", "name": "Pooja Narang"}
]
}'
# Response:
# {"imported": 2, "skipped": 0, "suppressed": 0}4. Dispatch Campaign with RFC 8058 Headers
One-click List-Unsubscribe headers and company footer logos are auto-injected. Exceeding 300/day returns HTTP 429.
POST /v1/campaignsREST API
curl -X POST https://api.kitecampaigns.com/v1/campaigns \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"subject": "Your Order Confirmation #49102",
"html": "<p>Hello! Your payment of โน2,499 via Razorpay was confirmed.</p>",
"domain_id": "dom_918a",
"audience": { "all": true },
"delete_contacts_after_send": false
}'
# Response (202 Accepted):
# {"id":"cmp_891bc","status":"queued","queued":2,"skipped_suppressed":0}REST Endpoint Reference
Scroll horizontally to see the full endpoint reference.
| Method | Path | Description |
|---|---|---|
| POST | /v1/auth/signup, /v1/auth/login | Create an account or sign in; returns a session bearer token. |
| GET | /v1/me | Current user and business profile (status, daily_limit, sent_today, credits). |
| GET/POST/DELETE | /v1/api-keys | Manage API keys. Key secret is returned once on generation. |
| GET/POST | /v1/domains, /v1/domains/:id/verify | Add a domain (or managed address) and verify DNS CNAMEs. |
| POST/GET/DELETE | /v1/contacts/import, /v1/contacts | Import consented contacts, query subscriber lists, and delete. |
| POST/GET | /v1/campaigns, /v1/campaigns/:id | Queue email campaigns (202 Accepted) and query real-time delivery stats. |
| GET | /v1/usage, /v1/suppressions | Inspect daily sending usage and automated suppression records. |
| GET/POST | /v1/billing/plans, /orders, /verify | Fetch INR plans and process Razorpay payments. |