REST API

Integrate WhatsApp messaging into your applications. Send messages, manage contacts, trigger automations, and receive real-time webhooks — all through a single, authenticated REST API.

Send a template message
# Authenticate with your API key
curl -X POST https://app.app-ening.com/api/v1/public/messages \
  -H "X-Api-Key: apn_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+919876543210",
    "templateName": "order_confirmation",
    "templateLanguage": "en",
    "parameters": ["John", "ORD-12345"]
  }'

Getting Started

Three steps from sign-up to your first API call.

1

Create an account

Sign up at app.app-ening.com and choose a plan that supports API access (Pro or above). Pro plans can add API access as an add-on; Business and higher plans include it.

2

Generate an API key

Go to the Developer Portal in your admin console. Create a key with Live or Sandbox scope. The key is shown once — save it securely.

3

Make your first request

Include your key in the X-Api-Key header. All endpoints are under /api/v1/public/. Try the interactive playground to test live.

API Resources

15 resource types organized into core and advanced groups. All accessible through a single API key.

Core API

Contacts

Create, update, list, tag, and search contacts. Bulk import up to 1,000 at a time.

Messages

Send text, template, media, and interactive messages. Preview costs before sending.

Templates

Create, submit for approval, and manage WhatsApp message templates.

Conversations

List conversations, view message history, reply, assign to team members, and close.

Webhooks

Register URLs to receive real-time events (message received, delivered, read, etc.) with HMAC-SHA256 signatures.

Account & Wallet

Check your plan, feature limits, wallet balance, and transaction history.

Bulk Operations

Batch create contacts (up to 1,000) and send messages (up to 100 recipients) asynchronously.

Advanced API

Rules Pro+

Create automation rules that trigger actions when events occur (e.g., tag added, message received).

Sequences Pro+

Build multi-step message sequences with timed delays and enroll contacts automatically.

Journeys Pro+

Trigger, monitor, and list visual automation journeys. View execution run history.

Journey Configs Pro+

Simplified configurations for common patterns: appointment reminders, welcome messages, re-engagement.

Voice Scripts Business+

Create and manage voice call scripts with text-to-speech (TTS) or IVR menu configurations.

Voice Calls Business+

Initiate voice calls, track call history, and check usage.

Voice Campaigns Business+

Create batch voice call campaigns to contact lists using published scripts.

API Access by Plan

API access is available as an add-on for Pro plans, and included on Business plans and above. Rate limits and quotas scale with your plan.

Plan API Calls / Month Rate Limit API Keys
Pro 10,000 10 req/s 2
Business 100,000 30 req/s 5
Business+ 500,000 60 req/s 10
Premium Unlimited 100 req/s 15
Premium+ Unlimited 200 req/s 20
Scale Unlimited 500 req/s 50

Free and Starter plans do not include API access. View all plans

Developer Tools

Everything you need to build, test, and debug your integration.

📖

API Reference

Full OpenAPI documentation with request/response schemas, authentication details, and code examples.

Open Reference

Interactive Playground

Try every endpoint live with Swagger UI. Fill in parameters, send requests, and inspect responses in your browser.

Open Playground
📦

Postman Collection

Import our pre-built collection into Postman with all endpoints, example payloads, and authentication pre-configured.

Download Collection

Common Use Cases

Step-by-step API flows for popular integration scenarios.

Appointment Reminders

Create a contact on booking, send a confirmation, then schedule a reminder 24 hours before.

POST /api/v1/public/contacts → POST /api/v1/public/messages → POST /api/v1/public/webhooks

Lead Capture from Website

Your website form creates a contact via API and sends an instant WhatsApp welcome message.

POST /api/v1/public/contacts → GET /api/v1/public/templates → POST /api/v1/public/messages

Bulk Customer Import

Import up to 1,000 contacts at once from a CSV or database, then verify results.

POST /api/v1/public/bulk/contacts → GET /api/v1/public/bulk/contacts/{jobId}

Campaign via API

Send a marketing or utility campaign to a filtered list. Preview costs first, then send in batch.

POST /api/v1/public/messages/estimate → POST /api/v1/public/bulk/messages

Abandoned Cart Recovery

Your e-commerce system triggers a WhatsApp nudge when a customer abandons checkout.

POST /api/v1/public/contacts → POST /api/v1/public/messages → POST /api/v1/public/webhooks

Real-Time Event Sync

Register webhooks to receive instant notifications when messages are delivered, read, or replied to.

POST /api/v1/public/webhooks → listen for message.* events

Error Handling

All errors return a consistent JSON structure with a machine-readable code and human-readable message.

Error response format
{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "API rate limit exceeded. Retry after 1 second.",
    "docs": "https://app.app-ening.com/api-docs#errors"
  }
}
Code HTTP Status Description
INVALID_API_KEY 401 X-Api-Key header is missing, invalid, revoked, or expired
RATE_LIMITED 429 Per-second rate limit exceeded. Check Retry-After header.
QUOTA_EXCEEDED 429 Monthly API call quota exceeded
PLAN_UPGRADE_REQUIRED 402 Your plan does not include this feature
INVALID_REQUEST 400 Request body is invalid or missing required fields
RESOURCE_NOT_FOUND 404 The requested resource does not exist
CSW_VIOLATION 422 Cannot send free-form message outside the 24-hour customer service window. Use a template instead.

Ready to integrate?

Create an account, generate your API key, and start building.

Create an Account View API Reference