Kirora is coming. Email and push first. WhatsApp and SMS to follow.Join the waitlist
Developers

Connect once. Keep your team moving.

Connect customer profiles and events through the API, then let your team manage audiences, content and journeys from the dashboard. Send transactional email and push from your code and receive signed webhook updates. API access is included on every plan.

/v1Versioned routes
cURLNode.js, Python, Go
HMACSigned webhooks
# Create or update a contact by your own ID
curl https://api.kirora.io/v1/contacts/identify \
  -H "Authorization: Bearer kirora_live_…" \
  -d '{
    "externalId": "user_8812",
    "email": "amaka@juniperkitchen.com",
    "firstName": "Amaka",
    "timezone": "Europe/London",
    "attributes": { "plan": "pro" },
    "emailConsent": true
  }'
Identify and track

Connect customer events to engagement.

Call identify with your own user ID to create or update a contact, then track what they do. Any journey listening for that event enrols them. Event names are yours; properties can filter who enters and fill in message content.

  • POST /v1/contacts/identify
  • POST /v1/events/track
  • POST /v1/contacts/batch
  • POST /v1/contacts/{id}/installations
Transactional

Receipts, codes and alerts from your code.

Send email or push with a stored template alias and your data, or inline content. Reuse the same idempotency key and payload on retries to avoid creating a second message. Transactional mail is kept apart from marketing in reports and logs.

  • POST /v1/transactional/messages
  • POST /v1/transactional/messages/batch
  • POST /v1/templates/render
Webhooks

Know the moment something happens.

Subscribe an HTTPS endpoint to delivery, engagement, contact, form, campaign and journey events. Every delivery is signed and failures are retried. You can test, pause, rotate the secret and replay from the dashboard.

  • message.delivered
  • message.bounced
  • contact.created
  • form.submitted
  • journey.enrolled
AI agents

MCP server and CLI over the same API.

Give Claude or your own agent a restricted agent key and it can read data and draft campaigns, journeys and templates. Agent keys cannot send, schedule, activate, or change contacts and consent. A person confirms those.

  • Hosted MCP at POST /mcp
  • kirora groups list
  • Agent-kind API keys
Principles

Build integrations you can maintain.

  • Scoped keys

    Pick exactly what each key may do, set an expiry and an IP allow-list, and rotate with a 7-day overlap.

  • Idempotent writes

    Retry-sensitive endpoints accept an Idempotency-Key, to prevent duplicate actions when you retry matching requests.

  • Versioned routes

    Everything lives under /v1, and a path or field is never removed or repurposed while it does.

  • Request logs

    Every API request and every webhook delivery is visible in the dashboard.

  • Compatibility layer

    Accepts the tracking calls you already send from another platform, so you can switch without a rewrite.

  • Payments as events

    Connect your payment provider and successful payments arrive as purchase events.

Make your next customer message count.

Join the waitlist for launch updates. Bring campaigns, journeys and transactional messages together when Kirora opens.

Kirora is for permission-based email and push. See our Acceptable Use Policy, Terms and Privacy Policy.