WhatsApp API Dokumentation
Dokumentasi lengkap Genfity WhatsApp API. Beli paket di genfity.com, dapatkan API key dari dashboard, buat session baru, lalu gunakan session token untuk kirim pesan dan kelola WhatsApp secara programmatic.
API Base URL
Server endpoint utama
https://api-wa.genfity.comhttps://api-wa.genfity.com/v1/*Header: x-api-key
https://api-wa.genfity.com/v1/wa/*Header: token
Quick Start Guide
Beli Paket
Pilih paket WhatsApp API di genfity.com
Dapatkan API Key
API key tersedia di dashboard setelah pembelian
Buat Session
POST /v1/sessions dengan x-api-key
Kirim Pesan
Gunakan session_token di header token untuk /v1/wa/* endpoints
Account & Session Management
Kelola akun, buat session, dan konfigurasi session menggunakan API key Anda. Endpoint ini dikelola oleh genfity-wa-support.
/v1/meGet My Account
Cek info akun dan subscription aktif. Gunakan untuk memverifikasi API key dan melihat limit session/pesan.
Request
Headers
application/json<Your-API-Key>Response
{
"user": {
"id": "usr_001",
"source_service": "genfity-app",
"status": "active",
"created_at": "2025-01-01T00:00:00Z"
},
"subscription": {
"provider": "genfity-wa",
"max_sessions": 3,
"max_messages": 10000,
"expires_at": "2026-12-31T23:59:59Z",
"status": "active"
}
}/v1/sessionsList Sessions
Lihat semua session WhatsApp milik akun Anda. Setiap session merepresentasikan satu nomor WhatsApp yang terhubung.
Request
Headers
application/json<Your-API-Key>Response
{
"sessions": [
{
"id": 1,
"session_id": "sess_abc123",
"session_name": "marketing-1",
"session_token": "tok_xxxxxxxx",
"webhook_url": "https://example.com/webhook",
"connected": true,
"logged_in": true,
"jid": "[email protected]",
"status": "active",
"created_at": "2025-06-01T00:00:00Z"
}
]
}/v1/sessionsCreate New Session
Buat session WhatsApp baru. Jumlah session dibatasi oleh paket langganan Anda. Setelah dibuat, gunakan session_token yang dikembalikan untuk connect dan berinteraksi dengan WhatsApp.
Request
{
"session_name": "marketing-1",
"webhook_url": "https://example.com/webhook",
"events": "Message,Connected,Disconnected,QR",
"expiration_sec": 0,
"auto_connect": true,
"auto_read_enabled": false,
"typing_enabled": true,
"history": 0
}Headers
application/json<Your-API-Key>Response
{
"session": {
"id": 1,
"session_id": "sess_abc123",
"session_name": "marketing-1",
"session_token": "tok_xxxxxxxx",
"webhook_url": "https://example.com/webhook",
"status": "active",
"created_at": "2025-06-01T00:00:00Z"
}
}/v1/sessions/:session_idUpdate Session
Update konfigurasi session seperti webhook URL, events, dan pengaturan auto-read.
Request
{
"webhook_url": "https://example.com/new-webhook",
"events": "Message,Connected,Disconnected",
"auto_read_enabled": true,
"typing_enabled": false
}Headers
application/json<Your-API-Key>Response
{
"session": {
"id": 1,
"session_id": "sess_abc123",
"session_name": "marketing-1",
"webhook_url": "https://example.com/new-webhook",
"status": "active"
}
}/v1/sessions/:session_idDelete Session
Hapus session WhatsApp secara permanen. Session akan di-disconnect dan semua data terkait dihapus.
Request
Headers
application/json<Your-API-Key>Response
{
"success": true,
"message": "Session deleted successfully"
}/v1/sessions/:session_id/settingsGet Session Settings
Lihat pengaturan detail session termasuk auto-read, typing indicator, webhook URL, dan statistik pesan.
Request
Headers
application/json<Your-API-Key>Response
{
"session_id": "sess_abc123",
"auto_read_enabled": false,
"typing_enabled": true,
"webhook_url": "https://example.com/webhook",
"message_stat_sent": 1520,
"message_stat_failed": 3
}/v1/sessions/:session_id/settingsUpdate Session Settings
Update pengaturan session seperti auto-read, typing indicator, dan webhook URL.
Request
{
"auto_read_enabled": true,
"typing_enabled": false,
"webhook_url": "https://example.com/updated-webhook"
}Headers
application/json<Your-API-Key>Response
{
"session_id": "sess_abc123",
"auto_read_enabled": true,
"typing_enabled": false,
"webhook_url": "https://example.com/updated-webhook"
}/v1/sessions/:session_id/contactsGet Session Contacts
Lihat kontak untuk session tertentu. Gunakan sync=true (default) untuk sync dari WhatsApp terlebih dahulu, atau sync=false untuk membaca dari cache lokal.
Request
Headers
application/json<Your-API-Key>Response
{
"contacts": [
{
"jid": "[email protected]",
"name": "John Doe",
"phone": "628123456789",
"last_synced_at": "2025-06-01T12:00:00Z"
}
]
}/v1/sessions/:session_id/contacts/syncSync Contacts
Paksa sync kontak dari WhatsApp ke database lokal. Berguna ketika Anda perlu memastikan kontak terbaru.
Request
Headers
application/json<Your-API-Key>Response
{
"success": true,
"synced_count": 150,
"message": "Contacts synced successfully"
}WhatsApp Connection
Connect, autentikasi, dan konfigurasi koneksi WhatsApp menggunakan session token dari pembuatan session.
/v1/wa/session/statusGet Session Status
Get connection status
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Connected": true,
"LoggedIn": true
},
"success": true
}/v1/wa/session/qrGet QR Code
Get QR code for authentication
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"QRCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
},
"success": true
}/v1/wa/session/connectConnect Session
Connect the WhatsApp session
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Connected successfully"
},
"success": true
}/v1/wa/session/disconnectDisconnect Session
Disconnect the WhatsApp session
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Disconnected successfully"
},
"success": true
}/v1/wa/session/logoutLogout Session
Logout the WhatsApp session
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Logged out successfully"
},
"success": true
}/v1/wa/session/s3/configConfigure S3
Configure S3 for media storage
Request
{
"endpoint": "s3.amazonaws.com",
"region": "us-east-1",
"bucket": "my-whatsapp-media",
"access_key": "AKIAIOSFODNN7EXAMPLE",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"path_style": false,
"public_url": "",
"media_delivery": "both",
"retention_days": 30
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "S3 configured successfully"
},
"success": true
}/v1/wa/session/s3/configGet S3 Configuration
Get S3 configuration
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"endpoint": "s3.amazonaws.com",
"region": "us-east-1",
"bucket": "my-whatsapp-media",
"access_key": "AKIAIOSFODNN7EXAMPLE",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"path_style": false,
"public_url": "",
"media_delivery": "both",
"retention_days": 30
},
"success": true
}/v1/wa/session/s3/testTest S3 Connection
Test S3 connection
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "S3 connection test successful"
},
"success": true
}/v1/wa/session/s3/configDelete S3 Configuration
Remove S3 configuration
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "S3 configuration deleted successfully"
},
"success": true
}/v1/wa/session/hmac/configConfigure HMAC Key
Configure HMAC key for webhook signing
Request
{
"hmac_key": "your_hmac_key_minimum_32_characters_long_here"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "HMAC key configured successfully"
},
"success": true
}/v1/wa/session/hmac/configGet HMAC Configuration
Get HMAC configuration status
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"hmac_configured": true
},
"success": true
}/v1/wa/session/hmac/configDelete HMAC Configuration
Delete HMAC configuration
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "HMAC configuration deleted successfully"
},
"success": true
}/v1/wa/session/historySet History Configuration
Configure message history storage. Set history to 0 to disable, or any positive number to enable with that limit. Example: 500 will store last 500 messages per chat.
Request
{
"history": 500
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "History configuration updated"
},
"success": true
}Webhook Management
Konfigurasi webhook untuk menerima event dan notifikasi dari WhatsApp.
/v1/wa/webhookGet Webhook
Get webhook
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"WebhookURL": "https://example.net/webhook",
"Events": [
"Message",
"ReadReceipt"
]
},
"success": true
}/v1/wa/webhookSet Webhook
Set webhook
Request
{
"WebhookURL": "https://example.net/webhook",
"Events": [
"Message",
"ReadReceipt"
]
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"WebhookURL": "https://example.net/webhook",
"Events": [
"Message",
"ReadReceipt"
]
},
"success": true
}/v1/wa/webhookDelete Webhook
Delete webhook
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Webhook deleted successfully"
},
"success": true
}/v1/wa/webhook/updateUpdate Webhook
Update webhook
Request
{
"WebhookURL": "https://example.net/webhook",
"Events": [
"Message",
"ReadReceipt"
],
"active": true
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"WebhookURL": "https://example.net/webhook",
"Events": [
"Message",
"ReadReceipt"
],
"active": true
},
"success": true
}/v1/wa/webhook/eventsGet Webhook Events
Get list of available webhook events
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"active_events": [
"Message",
"Receipt"
],
"all_supported_events": [
"Message",
"Receipt",
"Presence",
"ChatPresence"
],
"not_implemented_events": []
},
"success": true
}Chat & Messaging
Messaging primitives: send, edit, react, media & interaction messages.
/v1/wa/chat/send/textSend Text Message
Sends a text message. Phone and Body are mandatory.
Request
{
"Phone": "5491155553935",
"Body": "Hello, how are you?"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/textSend Text Message with link preview
Send text
Request
{
"Phone": "5491155553935",
"Body": "Check my site? https://example.com",
"LinkPreview": true
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/textSend Text Message Reply
Send text message as a reply with quoted text preview
Request
{
"Phone": "5491155553935",
"Body": "This is my reply",
"Id": "ABCDABCD1234-reply",
"QuotedText": "Original message text",
"ContextInfo": {
"StanzaId": "ABCDABCD1234",
"Participant": "[email protected]"
}
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/editEdit Message
Edit an existing message
Request
{
"Phone": "5491155553934",
"Id": "AABBCC11223344",
"Body": "New edited message body"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "AABBCC11223344",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/imageSend Image
Sends an image message (base64 encoded in PNG or JPEG format).
Request
{
"Phone": "5491155553935",
"Image": "data:image/jpeg;base64,/9j/",
"Caption": "Image"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/audioSend Audio
Send audio
Request
{
"Phone": "5491155553935",
"Audio": "data:audio/ogg;base64,/9j/"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/documentSend Document
Sends any document (base64 encoded using application/octet-stream mime).
Request
{
"Phone": "5491155553935",
"Document": "data:application/octet-stream;base64,/9j/",
"FileName": "doc.pdf"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/videoSend Video
Sends a video message (base64 encoded in MP4 or 3GPP format).
Request
{
"Phone": "5491155553935",
"Video": "data:video/mp4;base64,/9j/",
"Caption": "Video"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/stickerSend Sticker
Send sticker
Request
{
"Phone": "5491155553935",
"Sticker": "data:image/webp;base64,/9j/"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/locationSend Location
Sends a location message with coordinates.
Request
{
"Phone": "5491155553935",
"Name": "Location",
"Latitude": 48.858,
"Longitude": 2.294
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/send/contactSend Contact
Send contact
Request
{
"Phone": "5491155553935",
"Name": "John",
"Vcard": "BEGIN:VCARD\nVERSION:3.0\nFN:John Doe\nTEL:+16175551212\nEND:VCARD"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/markreadMark as Read
Marks one or more received messages as read.
Request
{
"Id": [
"AABBCC11223344"
],
"ChatPhone": "5491155553934"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Message(s) marked as read"
},
"success": true
}/v1/wa/chat/reactReact to Message
React to message
Request
{
"Phone": "5491155553935",
"Body": "❤️",
"Id": "me:3EB06F9067F80BAB89FF"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}/v1/wa/chat/presenceChat Presence
Set presence
Request
{
"Phone": "5491155553935",
"State": "composing"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Presence set successfully"
},
"success": true
}/v1/wa/chat/deleteDelete Message
Delete a message from a chat.
Request
{
"Phone": "5491155553934",
"Id": "AABBCC11223344"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Message deleted successfully"
},
"success": true
}/v1/wa/chat/historyGet Message History
Retrieve message history for a specific chat. Requires history to be enabled via POST /session/history. Use chat_jid=index to get mapping of all user instances and their chats.
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"History": []
},
"success": true
}/v1/wa/chat/send/pollSend Poll
Send a poll to a group. Minimum 2 options required. Maximum 1 selection allowed.
Request
{
"group": "[email protected]",
"header": "What is your favorite color?",
"options": [
"Red",
"Blue",
"Green",
"Yellow"
],
"Id": ""
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2022-04-20T12:49:08-03:00"
},
"success": true
}User Operations
Lookup, presence and profile utilities for WhatsApp users.
/v1/wa/user/checkCheck Users
Check users
Request
{
"Phone": [
"5491155553934",
"5491155553935"
]
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Users": [
{
"IsInWhatsapp": true,
"JID": "[email protected]",
"Query": "5491155553934",
"VerifiedName": "Company Name"
}
]
},
"success": true
}/v1/wa/user/infoGet User Info
Get user information
Request
{
"Phone": [
"5491155553934",
"5491155553935"
]
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Users": {
"[email protected]": {
"Devices": [],
"PictureID": "",
"Status": "",
"VerifiedName": null
}
}
},
"success": true
}/v1/wa/user/presenceUser Presence
Global presence
Request
{
"type": "available"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Presence set successfully"
},
"success": true
}/v1/wa/user/avatarGet User Avatar
Get avatar
Request
{
"Phone": "5491155553934",
"Preview": true
}Headers
application/json<Session-Token>Response
{
"URL": "https://pps.whatsapp.net/v/t61.24694-24/227295214_112447507729487_4643695328050510566_n.jpg",
"ID": "1645308319",
"Type": "preview",
"DirectPath": "/v/t61.24694-24/227295214_112447507729487_4643695328050510566_n.jpg"
}/v1/wa/user/contactsGet User Contacts
List contacts
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"[email protected]": {
"BusinessName": "",
"FirstName": "",
"Found": true,
"FullName": "",
"PushName": "Contact Name"
}
}
}/v1/wa/status/set/textSet Status Text
Set WhatsApp profile status message.
Request
{
"Body": "Available - Powered by Genfity WA"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Status set successfully"
},
"success": true
}Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"LID": "some-lid"
},
"success": true
}Group Management
Create, manage, and configure WhatsApp groups, participants, and group settings.
/v1/wa/group/createCreate Group
Create a new WhatsApp group with specified name and participants
Request
{
"Name": "My New Group",
"Participants": [
"5491155553934",
"5491155553935"
]
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"JID": "[email protected]",
"Name": "My New Group"
},
"success": true
}/v1/wa/group/lockedSet Group Locked
Configure group as locked (only admins can alter info) or unlocked
Request
{
"GroupJID": "[email protected]",
"Locked": true
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Group locked setting updated successfully"
},
"success": true
}/v1/wa/group/ephemeralSet Disappearing Timer
Configure disappearing messages. Use '24h', '7d', '90d', or 'off'
Request
{
"GroupJID": "[email protected]",
"Duration": "24h"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Disappearing timer set successfully"
},
"success": true
}/v1/wa/group/photo/removeRemove Group Photo
Remove the current photo from a WhatsApp group
Request
{
"GroupJID": "[email protected]"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Group photo removed successfully"
},
"success": true
}/v1/wa/group/listList Groups
List groups
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Groups": [
{
"JID": "[email protected]",
"Name": "Super Group"
}
]
},
"success": true
}/v1/wa/group/infoGet Group Info
Get group information
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"JID": "[email protected]",
"Name": "Super Group"
},
"success": true
}/v1/wa/group/invitelinkGet Group Invite Link
Get invite link
Request
Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"InviteLink": "https://chat.whatsapp.com/HffXhYmzzyJGec61oqMXiz"
},
"success": true
}/v1/wa/group/nameChange Group Name
Change name
Request
{
"GroupJID": "[email protected]",
"Name": "New Name"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Group Name set successfully"
},
"success": true
}/v1/wa/group/photoChange Group Photo
Change photo
Request
{
"GroupJID": "[email protected]",
"Image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD..."
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Group Photo set successfully",
"PictureID": "1222332123"
},
"success": true
}/v1/wa/group/topicSet Group Topic
Change the group topic/description
Request
{
"GroupJID": "[email protected]",
"Topic": "New group topic here"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Group Topic set successfully"
},
"success": true
}/v1/wa/group/announceSet Group Announce
Set group to announcement-only (admins only can send messages)
Request
{
"GroupJID": "[email protected]",
"Announce": true
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Group Announce mode set successfully"
},
"success": true
}/v1/wa/group/joinGroup Join
Join a group using an invite code
Request
{
"InviteCode": "AbCdEfGhIjKlMnOp"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Joined group successfully"
},
"success": true
}/v1/wa/group/inviteinfoGet Group Invite Info
Get info about a group invite code
Request
{
"InviteCode": "AbCdEfGhIjKlMnOp"
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"InviteInfo": {
"GroupName": "Test Group",
"GroupJID": "[email protected]"
}
},
"success": true
}/v1/wa/group/updateparticipantsUpdate Group Participants
Add, remove, promote or demote participants from a group. Action can be 'add', 'remove', 'promote','demote'.
Request
{
"GroupJID": "[email protected]",
"Action": "add",
"Phone": [
"[email protected]",
"[email protected]"
]
}Headers
application/json<Session-Token>Response
{
"code": 200,
"data": {
"Details": "Participants updated successfully"
},
"success": true
}Newsletter Management
Manage and interact with WhatsApp newsletters and subscriptions.
Usage Notes
Key considerations when consuming the API in production environments.
data:image/jpeg;base64,...). Consider S3 integration for large/long‑lived assets.

