Send a one-time code
Creates a code, sends it through the first channel in channels that has a sender, and answers at once. When a WhatsApp device sends it but no delivery receipt arrives within 30 seconds, or a send fails later, the same code goes out on the next channel. Each message spends the credit of its own channel. A channel that is skipped spends nothing.
Authorization
bearerAuth verifications:writeAuthorization: Bearer sk_live_.... Keys in the query string or the
request body are refused — a URL is logged by every proxy it passes,
and that is how customer keys leak.
A key carries scopes. A call outside them answers 403 with
insufficient_scope and names the scope it wanted.
In: header
Scope: verifications:write
Header Parameters
Any unique string, one per logical request. Retrying with the same key
returns the first answer instead of doing the work twice, and answers
with Idempotent-Replay: true. Server errors (5xx) and
rate_limit_exceeded (429) are not remembered, because neither did
any work; every other answer is, refusals included.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST https://app.sendkuy.com/api/v1/verifications \ -H "Authorization: Bearer sk_live_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+6281234567890", "brand": "Toko Andi"}'{ "data": { "object": "verification", "id": "vrf_7hTq2L9x-KcVw4mZ0rBnYs1-dE5pAa8", "to": "string", "email": "string", "channels": [ "whatsapp" ], "channel": "string", "status": "pending", "attempts": [ { "channel": "whatsapp", "message_id": "string", "outcome": "sent", "reason": "string", "created_at": "2019-08-24T14:15:22Z" } ], "checks_remaining": 0, "expires_at": "2019-08-24T14:15:22Z", "approved_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z" }}