Skip to main content
Unified Messaging API is recommended for new integrations. It chooses channels, fallback behavior, OTP delivery, and logs from one kfmsg_ token.

Endpoint

Headers

Send text

Parameters

Aliases phone or msisdn may replace to; message may replace text.

Delivery examples

WhatsApp first, SMS fallback

KarFlows tries the list from left to right. A channel is successful only after it returns a real message ID.

SMS only

WhatsApp QR and SMS together

Unified OTP

Unified OTP is generated and verified by KarFlows. It can deliver the same code by WhatsApp QR, Meta, SMS, or a combination.

Send OTP

Verify OTP

OTP security

KarFlows protects OTP verification with:
  • Server-side code generation.
  • Hashed OTP storage.
  • Automatic invalidation of an older active OTP sent to the same phone.
  • Expiry windows.
  • Attempt limits per pinId.
  • Rate limits per phone and IP.
  • Logs for failed, expired, and blocked attempts.
Never include code, pin, or otp in the send request. KarFlows rejects custom OTP codes. otpLength accepts 4 to 8 digits. expiresIn accepts 60 to 3,600 seconds.

Logs

Logs include every attempted channel, not only the first success. The maximum limit is 200.

Webhooks

Unified Webhooks notify your application when routing, delivery, and OTP events happen. Create them in the customer dashboard under Unified API > Webhooks. Webhooks follow the same plan rule as Unified API, so if Unified API is disabled or the plan expires, webhook management is blocked too.

Available events

Security headers

Every webhook delivery is signed.
Verify the signature using the webhook secret shown when the webhook is created. See the Webhooks reference for full verification examples.

Pagination

Webhook endpoint lists are limited to 20 rows per page inside KarFlows. This keeps the dashboard usable for high-volume customers with many integrations.