Developer Documentation

Build with the
Appening API

Send WhatsApp messages, manage contacts, trigger automation journeys, and listen for real-time events — all via a clean REST API.

REST API Webhooks Sandbox Mode HMAC-Signed Events Bulk Operations

One API. Every WhatsApp capability.

The Appening Public API gives your developers direct programmatic access to everything inside the platform — contacts, messages, journeys, automation, and conversations — so you can build tightly-integrated WhatsApp experiences without manual steps in the dashboard.

💬

Send Messages

Send text, media, template, and interactive list messages to any contact. Supports template variables, header media, and quick-reply buttons.

👤

Manage Contacts

Create, update, search, and tag contacts. Track visits, purchases, and custom attributes from your own app or CRM.

🔄

Trigger Journeys

Enroll contacts into automation journeys — onboarding sequences, abandoned cart recovery, appointment reminders — all triggered by your backend.

📡

Real-Time Webhooks

Subscribe to 18 event types — message delivered, reply received, tag added, journey completed, payment collected — delivered to your endpoint in milliseconds.

📦

Bulk Operations

Import up to 1,000 contacts or send to 100 contacts in a single async job. Perfect for syncing your CRM or running post-purchase campaigns.

🛡️

Sandbox Mode

Test your entire integration risk-free. Sandbox keys return realistic mock responses with no real messages sent and no charges deducted.

What customers typically build

E-commerce & Retail

  • Order confirmation on purchase → Send Template
  • Abandoned cart recovery → Trigger Journey
  • Delivery tracking update → Send Message
  • Post-delivery review request → Sequence

SaaS & Services

  • Trial-to-paid nudge → Trigger Journey
  • Usage alert notifications → Send Template
  • Support ticket updates → Send Message
  • Renewal / invoice reminders → Sequence

From zero to first message in 15 minutes

Send your first WhatsApp message

cURL
curl -X POST https://app.app-ening.com/api/v1/public/messages \
  -H "X-Api-Key: apn_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{'
    "to": "+919876543210",
    "type": "template",
    "templateName": "order_confirmation",
    "variables": ["Priya", "ORD-8821", "₹1,290"]
  }'
Tip: Start with Sandbox

Use an apn_test_ key first. All endpoints return realistic mock responses — no real WhatsApp messages are sent and your wallet isn't charged. Switch to a live key when you're ready to go live.

Choose the right plan for your volume

API access is unlocked from the Pro plan onwards. Pick the plan that matches how many API calls your integration needs per month.

Plan Price / mo API Calls / mo Rate Limit Contacts Webhooks
Free $29/mo 100
Starter $29/mo 1,000
ProAPI Access $99/mo 10,000 10 req/s 5,000
Business $470/mo 100,000 30 req/s 25,000
Business Plus $945/mo 500,000 60 req/s 100,000
Premium $2,250/mo Unlimited 200 req/s 250,000
Premium Plus $4,750/mo Unlimited 200 req/s 500,000
Scale $10,000/mo Unlimited Unlimited 1,000,000
Quota enforcement

When your monthly call limit is reached, the API returns 429 Too Many Requests until your quota resets on the 1st of the next month. Upgrade your plan anytime to get a higher limit immediately.

A quick guide by use case

Start here → Pro (/mo)

  • Building a new integration 10K calls/mo
  • 1 or 2 automations running 5K contacts
  • Low-volume notifications <300 calls/day
  • Testing / staging environment Sandbox key

Scale up → Business (/mo)

  • High-volume e-commerce 100K calls/mo
  • Multiple automations running 25K contacts
  • Webhook-heavy integrations 30 req/s
  • Full analytics (365 day history) Enterprise

Core endpoints

All endpoints are under https://app.app-ening.com/api/v1/public/. Authentication via X-Api-Key header.

POST/contactsCreate or upsert a contact
GET/contacts/{id}Get contact by ID or phone
POST/contacts/searchSearch contacts by tag, field, or phone
POST/contacts/{id}/tagsAdd tags to a contact
POST/contacts/{id}/eventsTrack a visit, purchase, or custom event
POST/messagesSend text, template, media, or interactive message
GET/templatesList approved WhatsApp templates
POST/templatesSubmit a new template for approval
POST/journeys/{id}/enrollEnroll a contact into an automation journey
POST/webhooksRegister a webhook subscription
GET/webhooksList registered webhooks
DELETE/webhooks/{id}Remove a webhook subscription
POST/bulk/contactsAsync bulk contact import (up to 1,000)
POST/bulk/messagesAsync bulk message send (up to 100)
GET/account/planGet current plan, features, and limits
GET/account/usageGet current-period usage against plan limits
GET/wallet/balanceCheck current wallet balance
GET/wallet/transactionsGet wallet transaction history

Full interactive reference: app.app-ening.com/api-docs  ·  Postman collection available from the docs page

Webhook event types

Register your endpoint once and receive any combination of these events. Every delivery includes an HMAC-SHA256 signature in the X-Webhook-Signature header so you can verify authenticity.

message.received
message.delivered
message.read
message.failed
contact.created
tag.added
tag.removed
journey.enrolled
journey.completed
campaign.completed
appointment.booked
appointment.cancelled
order.created
order.completed
crm.status.changed
payment.received
voice.call.completed
wallet.low_balance
Retry policy

Failed deliveries are retried 3 times with exponential backoff: 1 minute → 5 minutes → 15 minutes. Your endpoint must return a 2xx status within 10 seconds. Delivery history is logged and visible in the Developer Portal.

API Key authentication

Request headers

  • X-Api-Key Required
  • Content-Type application/json
  • Accept application/json

Key scopes

  • Live key (apn_live_) Production
  • Sandbox key (apn_test_) No charges
  • Keys are SHA-256 hashed Never stored plain
  • Revoke instantly in-app Settings → Developers

Standard HTTP responses

Common responses

  • 200 OK Success
  • 400 Bad Request Invalid params
  • 401 Unauthorized Invalid/missing key
  • 402 Payment Required Feature requires upgrade
  • 429 Too Many Requests Rate / quota limit
  • 500 Internal Server Error Server-side error

Rate limit headers

  • X-RateLimit-Limit Your plan's limit
  • X-RateLimit-Remaining Calls left this second
  • X-Quota-Used Monthly calls used
  • X-Quota-Remaining Monthly calls left
  • Retry-After Seconds until reset

Everything in one place

Log in to your Appening account and go to Settings → Developers to access:

🔑

API Keys

Generate, rotate, and revoke live and sandbox keys. View key prefix for identification.

📊

Usage Dashboard

Monitor monthly quota consumption, call volume by endpoint, error rates, and latency.

📖

API Quickstart

Copy-paste code examples in cURL, Node.js, Python, and PHP to get you started fast.

🔌

Webhook Logs

View delivery history, response times, and retry attempts for every outbound webhook.

Ready to integrate?

Sign up on Pro, generate your first API key, and build your first integration in under an hour.

Get Started →

Documentation

Support

  • Email support support@app-ening.com
  • Website www.app-ening.com
  • In-app chat Settings → Help