Skip to content
๐Ÿ‡ฎ๐Ÿ‡ณ India Dedicated Email Engine: Pay in โ‚น via UPI & RuPay ยท Instant 18% GST Invoicing ยท RFC 8058 CompliantView Plans
KiteCampaigns

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.

TypeHost / NameValue / Points ToAction
CNAMEkc1._domainkey.mail.yourcompany.indkim1.kitecampaigns.com
CNAMEkc2._domainkey.mail.yourcompany.indkim2.kitecampaigns.com
TXTmail.yourcompany.inv=spf1 include:kitecampaigns.com ~all
TXT_dmarc.mail.yourcompany.inv=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.

API endpoints
MethodPathDescription
POST/v1/auth/signup, /v1/auth/loginCreate an account or sign in; returns a session bearer token.
GET/v1/meCurrent user and business profile (status, daily_limit, sent_today, credits).
GET/POST/DELETE/v1/api-keysManage API keys. Key secret is returned once on generation.
GET/POST/v1/domains, /v1/domains/:id/verifyAdd a domain (or managed address) and verify DNS CNAMEs.
POST/GET/DELETE/v1/contacts/import, /v1/contactsImport consented contacts, query subscriber lists, and delete.
POST/GET/v1/campaigns, /v1/campaigns/:idQueue email campaigns (202 Accepted) and query real-time delivery stats.
GET/v1/usage, /v1/suppressionsInspect daily sending usage and automated suppression records.
GET/POST/v1/billing/plans, /orders, /verifyFetch INR plans and process Razorpay payments.