Assure API
Replace verification codes with trusted conversations. A simple API to send one-tap approval requests over Apple Messages for Business, Google RCS, and WhatsApp Business.
Send a verification and Assure picks the best channel automatically.
Get notified the moment a customer approves — signed and verifiable.
Verified business identity across Apple, Google, and WhatsApp.
Authenticate with your API key
Authorization: Bearer ASSURE_API_KEYBase URL: https://api.assure.chat/v1Create a verification request
curl https://api.assure.chat/v1/verification_requests \
-H "Authorization: Bearer ASSURE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customer": { "phone": "+15551234567" },
"brand": "chase",
"channel_preference": [
"apple_messages", "google_rcs", "whatsapp", "sms_fallback"
],
"purpose": "login_approval",
"message": {
"title": "Approve this sign in?",
"body": "We noticed a login from a new device.",
"actions": [
{ "id": "approve", "label": "Approve", "style": "primary" },
{ "id": "not_me", "label": "Not Me", "style": "danger" }
]
},
"metadata": {
"ip_address": "203.0.113.42",
"device": "MacBook Pro",
"location": "Denver, CO"
},
"expires_in": 300
}'{
"id": "vrq_01HY9X8K7P6M9A2Z",
"status": "pending",
"selected_channel": "apple_messages",
"conversation_id": "conv_8K7P6M9A2Z",
"expires_at": "2026-07-02T19:45:00Z",
"fallback_available": true
}What your customer sees
Approve this sign in?
We noticed a login from a new MacBook Pro near Denver, CO.
No codes. No copy/paste. Just tap Approve.
- Sender identity is cryptographically verified.
- Context (device, location, IP) is shown in-message.
- One-tap approve or Not Me — no codes, ever.
- Fallback to SMS is transparent and automatic.
Check verification status
curl https://api.assure.chat/v1/verification_requests/vrq_01HY9X8K7P6M9A2Z \
-H "Authorization: Bearer ASSURE_API_KEY"{
"id": "vrq_01HY9X8K7P6M9A2Z",
"status": "approved",
"approved_at": "2026-07-02T19:42:18Z",
"customer_action": "approve",
"channel": "apple_messages"
}Listen for verification events
POST /webhooks/assureRetries with exponential backoff · 15s delivery timeout{
"id": "evt_01HY9XB4S9ZQ",
"type": "verification.approved",
"created": "2026-07-02T19:42:18Z",
"data": {
"verification_request_id": "vrq_01HY9X8K7P6M9A2Z",
"status": "approved",
"customer_action": "approve",
"channel": "apple_messages",
"brand": "chase",
"metadata": {
"ip_address": "203.0.113.42",
"device": "MacBook Pro",
"location": "Denver, CO"
}
}
}Webhook event types
| Event | Description |
|---|---|
| verification.created | A verification request was created |
| verification.delivered | Message was delivered |
| verification.approved | Customer approved |
| verification.denied | Customer selected Not Me |
| verification.expired | Request expired |
| verification.failed | Verification failed |
| verification.fallback_triggered | SMS fallback was used |
Verify webhook signatures
Assure-Signature header on every request using a constant-time comparison.import crypto from "crypto";
export function verifyAssureSignature(payload, signature, secret) {
const expected = crypto
.createHmac("sha256", secret)
.update(payload)
.digest("hex");
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected),
);
}Supported delivery channels
Best experience on iPhone. Verified business conversations with rich actions.
Rich, branded conversations on Android where supported.
Trusted global messaging for participating customers.
Optional fallback for unsupported devices — no code required.
Works with your existing identity stack
Your App
│
▼
Identity Provider
│
▼
Assure API ─────────┐
│ │
▼ ▼
Apple Messages Google RCS
WhatsApp SMS Fallback
│
▼
Customer Approval
│
▼
Webhook → Your AppCommon use cases
Predictable error responses
type and code alongside a human-readable message.{
"error": {
"type": "invalid_request",
"code": "customer_phone_required",
"message": "A valid customer phone number is required."
}
}Fair, generous limits
Official libraries
npm i @assure/nodepip install assurego get github.com/assure/assure-goReady to stop sending verification codes?
Start building trusted conversations in minutes.