# API Reference Source: https://docs.whatsable.app/api-reference/introduction Whatsable API documentation — RESTful APIs for WhatsApp messaging. Choose Whatsable or Notifyer System. Build WhatsApp-powered workflows with Whatsable's suite of APIs. Whether you're a developer integrating via REST or a business user connecting through Zapier, Make, or n8n — we've got you covered. ## Choose your API Select the Whatsable product that matches your use case. Each API has distinct capabilities and authentication. ### Whatsable
Whatsable

Internal team messaging and business alerts. Unlimited WhatsApp messages with Zapier and Make integration.

POST Send WhatsApp messages with optional attachments
### Notifyer System
Notifyer System

Full business messaging platform with real-time chat, brand messaging, and two-way communication.

GET Retrieve all templates for your account
POST Send template-based messages to users
## Why Whatsable Official WhatsApp Business API integration backed by Meta's technology partner approval. Send customized messages in real-time with webhooks and event-driven workflows. REST APIs for custom integrations, plus ready-made connectors for Zapier, Make, and n8n. Alerts, confirmations, reminders, and team updates — all over WhatsApp. ## Connect your way Integrate through no-code automation platforms or call our APIs directly. Connect 6,000+ apps with pre-built Zaps. No coding required.
Whatsable · Notifyer System
Build visual automation scenarios with drag-and-drop workflows.
Whatsable · Notifyer System
Self-hosted or cloud workflows with full control over your automation.
Whatsable · Notifyer System
RESTful endpoints with API keys. Full programmatic access for custom integrations.
Whatsable · Notifyer System
## Get started Choose [Whatsable](https://dashboard.whatsable.app/signup) or [Notifyer System](https://console.notifyer-systems.com/) based on your messaging needs. Get your API key from the dashboard. See [Authentication](/authentication) for header format and request examples. Use our API endpoints or follow the Zapier, Make, or n8n guides for no-code setup. **Security:** Never expose API keys in client-side code or public repositories. Use environment variables and server-side requests only. # Get Templates Source: https://docs.whatsable.app/api-reference/notifier-system/templates/get-templates /openapi/notifier-system-api.json get /api:AFRA_QCy/get_templates Retrieve a list of all templates associated with your account # Send Template Message Source: https://docs.whatsable.app/api-reference/notifier-system/templates/send-template-message /openapi/notifier-system-api.json post /api:hFrjh8a1/send_template_message_by_api Send a template-based message to users via their phone numbers # Send a WhatsApp message Source: https://docs.whatsable.app/api-reference/whatsable/messages/send-a-whatsapp-message /openapi/whatsable-api.json post /send Send a WhatsApp message with optional attachments (images, videos, documents) # Authentication Source: https://docs.whatsable.app/authentication Authenticate with Whatsable APIs using API keys, Bearer tokens, and request headers. # Authentication All Whatsable APIs require authentication using API keys. This guide explains how to authenticate your requests. ## API Keys Each API solution uses a different authentication method: ### Whatsable API Uses an API key in the `X-API-Key` header: ```bash theme={null} curl -X POST https://api.whatsable.app/v1/messages \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"to": "+1234567890", "message": "Hello!"}' ``` ### Notifyer System Uses a Bearer token in the Authorization header: ```bash theme={null} curl -X POST https://api.insightssystem.com/api:hFrjh8a1/send_template_message_by_api \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"template": "template_id", "variables": {}, "phone_number": "+1234567890"}' ``` ## Getting Your API Keys 1. Log in to your Whatsable dashboard 2. Navigate to the API section 3. Generate a new API key or token 4. Store it securely - it won't be shown again! ## Security Best Practices * Never share your API keys * Use environment variables to store keys * Rotate keys periodically * Use HTTPS for all API requests * Implement proper error handling # Error Handling Source: https://docs.whatsable.app/guides/error-handling Handle errors when using Whatsable APIs: HTTP status codes, error format, and retry strategies. # Error Handling This guide explains how to handle errors when using Whatsable APIs. ## HTTP Status Codes All Whatsable APIs use standard HTTP status codes: * `200 OK`: Request successful * `400 Bad Request`: Invalid request parameters * `401 Unauthorized`: Invalid or missing API key * `403 Forbidden`: Insufficient permissions * `404 Not Found`: Resource not found * `429 Too Many Requests`: Rate limit exceeded * `500 Internal Server Error`: Server-side error ## Error Response Format All error responses follow this format: ```json theme={null} { "error": { "code": "error_code", "message": "Human-readable error message" } } ``` ## Common Error Codes ### Authentication Errors * `invalid_api_key`: API key is invalid or expired * `missing_api_key`: API key is missing from request ### Request Errors * `invalid_phone_number`: Phone number format is incorrect * `invalid_template`: Template ID is invalid or not found * `missing_required_field`: Required field is missing * `invalid_variables`: Template variables are invalid ### Rate Limit Errors * `rate_limit_exceeded`: Too many requests in a time period * `quota_exceeded`: Monthly quota exceeded ## Best Practices 1. **Always Check Status Codes**: Don't assume success 2. **Implement Retry Logic**: For 429 and 500 errors 3. **Log Errors**: For debugging and monitoring 4. **Handle Timeouts**: Set appropriate timeout values 5. **Validate Input**: Before making API calls ## Example Error Handling ```javascript theme={null} async function sendMessage() { try { const response = await fetch('https://api.insightssystem.com/api:hFrjh8a1/send_template_message_by_api', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_TOKEN' }, body: JSON.stringify({ template: 'template_id', variables: {}, phone_number: '+1234567890' }) }); if (!response.ok) { const error = await response.json(); throw new Error(error.error.message); } const data = await response.json(); return data; } catch (error) { console.error('Error sending message:', error); // Handle error appropriately } } ``` # Embedding Process Source: https://docs.whatsable.app/guides/notifier-system/embedding-process Connect your WhatsApp Business Account to the Notifyer System to enable automated messaging capabilities # WhatsApp Business Account Integration