SendKuy API

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:write
AuthorizationBearer <token>

Authorization: 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

Idempotency-Key?string

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.

Lengthlength <= 255

Request 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"  }}