Resend verification code
Sends a new code for the same attempt according to cooldown and max-resend settings. Send verificationId or to.
When to use it. When the user says the code did not arrive, after the cooldown.
Code example
Correct: Resend by verificationId
curl --location 'https://raselsms.com/api/v2/verification/resend' \--header 'X-API-Key: YOUR_API_KEY' \--header 'Content-Type: application/json' \--data '{"verificationId":"6800abc123def4567890fedc","channel":"int_sms"}'Incorrect: Incorrect: resend during cooldown
curl --location 'https://raselsms.com/api/v2/verification/resend' \--header 'X-API-Key: YOUR_API_KEY' \--header 'Content-Type: application/json' \--data '{"verificationId":"6800abc123def4567890fedc"}'Wait until resendAvailableAt.
Response example
200 — Resend by verificationId
{ "verificationId": "6800abc123def4567890fedc", "status": "sent", "channel": "int_sms", "expiresAt": "2026-09-05T10:10:00.000Z", "resendAvailableAt": "2026-09-05T10:01:00.000Z", "resendCount": 1}400 — Incorrect: resend during cooldown
{ "success": false, "code": "VERIFICATION_RESEND_COOLDOWN", "error": "Resend is not available yet", "verificationId": "6800abc123def4567890fedc", "resendAvailableAt": "2026-09-05T10:01:00.000Z", "resendCount": 0}Wait until resendAvailableAt.
401 — Invalid API key.
{ "success": false, "requestId": "msgreq_1739012345678_abc123", "code": "UNAUTHORIZED", "error": "Missing or invalid API key"}HTTP request
POST /api/v2/verification/resend
Request Headers
| Header | Type | Description |
|---|---|---|
| X-API-Key | string | Your Rasel API key. Send it on every documented request except inbound webhooks. * |
Request body
| Field | Type | Description | Example |
|---|---|---|---|
| verificationId | string | Identifier returned from the verification send step. Prefer this on resend and verify. | |
| to | string | Recipient: E.164 phone, email when channel is email, WhatsApp group JID, Telegram chat id, or a string array of up to 100 recipients for an official batch. | |
| channel | enum | Delivery channel. For unified send prefer auto, local_sms, int_sms, official_whatsapp, WhatsApp Web sessions, telegram_bot, or email_user. For verification omit the field for automatic selection; do not send bare sms, whatsapp, or auto. | |
| senderId | string | Approved SMS sender id. When omitted, the default then the platform sender is used. | |
| officialSenderId | string | Official WhatsApp sender id from /api/v2/official-senders. Alias of sender.officialId. Use platform for the default Meta number when listing templates. | |
| sender | object | Optional sender override. If omitted, Rasel uses the default approved sender, then the platform sender. | |
| sender.id | string | Approved SMS sender id. Leave it out to use the default sender. | |
| sender.officialId | string | Official WhatsApp sender id. Same as officialSenderId. |
Response Fields
| Field | Type | Description | Example |
|---|---|---|---|
| verificationId | string | Identifier returned from the verification send step. Prefer this on resend and verify. | |
| status | enum | Delivery or record status. On send: sent, queued, or scheduled. On other resources it is the row status filter or value. | |
| channel | string | Delivery channel. For unified send prefer auto, local_sms, int_sms, official_whatsapp, WhatsApp Web sessions, telegram_bot, or email_user. For verification omit the field for automatic selection; do not send bare sms, whatsapp, or auto. | |
| channels | string-list | Public channel names when send-on-all-compatible-channels fan-out succeeded on more than one channel. | |
| deliveries | json | Per-channel tracking when fan-out is enabled. | |
| expiresAt | string | When the current verification code expires. | |
| resendAvailableAt | string | Earliest time a resend is allowed. | |
| resendCount | number | How many times the code has been resent. |
Status Codes
| Status | Description |
|---|---|
| 200 | Success. |
| 400 | Invalid request, validation error, or the resource cannot be used in this state. |
| 404 | Resource not found for this API key owner. |
| 409 | Conflict, such as an idempotency key reuse with a different body, or a session that is not ready. |
| 429 | Rate limit exceeded, or the maximum number of verification attempts was reached. |
| 401 | Missing or invalid API key. |
Try it
This request may consume wallet balance or plan quota.
You are not signed in, or the server rejected this session. Lists stay empty until you sign in or enter a valid API key. Someone else's account is not shown.
Parameters
Delivery channel. For unified send prefer auto, local_sms, int_sms, official_whatsapp, WhatsApp Web sessions, telegram_bot, or email_user. For verification omit the field for automatic selection; do not send bare sms, whatsapp, or auto.
Recipient: E.164 phone, email when channel is email, WhatsApp group JID, Telegram chat id, or a string array of up to 100 recipients for an official batch.
Official WhatsApp sender id from /api/v2/official-senders. Alias of sender.officialId. Use platform for the default Meta number when listing templates.
Identifier returned from the verification send step. Prefer this on resend and verify.
Approved SMS sender id. When omitted, the default then the platform sender is used.
Request
{}Response
Send a request to see the response.