Skip to content
AptoAir
Developer API

Send messages from your own systems

A small, honest REST API for the things you actually want to automate from your backend: send a message, send a template, create contacts, manage phonebooks. Scoped keys, usage logs, and no SDK required.
REST + JSONScoped API keysUsage logged

For when the interface is not where the work happens

Your ERP knows when an invoice is raised. Your booking system knows when an appointment moves. Rather than asking a human to relay that to WhatsApp, have the system send it. This API is deliberately small — it does the few things worth doing programmatically, and does them predictably.

Authentication

Scoped keys, not a master password

Create as many API keys as you need and give each one only the scopes it requires — messaging, contacts or phonebooks. A key used by your website form does not need permission to read your customer list. Every call is logged against the key that made it, so you can see what your own systems are doing.

  • Separate scopes for WhatsApp, contacts and phonebooks
  • Multiple keys, revocable individually
  • Usage logs per key
  • Requests are rate limited, so one runaway script cannot flood your number
Endpoints

What you can call

Send a plain text or media message, send an approved template, list your templates, create and read contacts, and manage phonebooks. Requests and responses are plain JSON over HTTPS — you can drive it from cURL, from PHP, or from whatever your systems already speak.

  • POST /send-message — text, image, video or document
  • POST /send_template — an approved template with its variables
  • GET /templates — the templates available to send
  • GET and POST /contacts — read and create contacts with custom fields
  • GET and POST /phonebooks — manage the groups campaigns send to
  • GET /phone-numbers — the WhatsApp number connected to your account
Consistency

API messages behave like every other message

Anything you send through the API is written into that customer's conversation in the shared inbox, labelled as API. Your agents see it, your AI reads it as context, and the 24-hour window and template rules apply exactly as they do everywhere else. There is no separate, invisible channel.

  • Messages appear in the inbox thread, badged API
  • The same window and template rules apply
  • Delivery status flows back the same way
  • Your AI agent reads API messages as conversation history
Inbox
Search conversations
MR
W
Meena Raonow
Where is my order?2
AN
I
Arjun Nair4m
Do you ship to Kochi?1
Wv
C
Website visitor12m
What are your prices?
SQ
W
Sana Qureshi1h
Thanks, received it!
RV
F
Rahul Verma2h
Campaign · Diwali offer
Meena Rao
+91 98765 43210 · WhatsApp
AI active
Where is my order?
AI
Order #1042 shipped — Delhivery, arriving Thursday.
Campaign
Diwali sale — 30% off till Sunday 🎉
Reply as your team…

The developer API is part of the Growth and Pro plans. Starter includes everything else — inbox, AI, automations and campaigns — but not programmatic access.

See plans
Questions

Frequently asked

Inside the app, under Developer — with your real base URL, live examples and a copy-paste cURL for every endpoint. Base URL: https://api.aptoair.com/api/v1
Incoming messages are handled inside the platform — the inbox, your automations and your AI all act on them. If you need your own system to react, use an HTTP request block in an automation to call your endpoint when the conditions you care about are met.
Requests are rate limited per account to protect your number's quality rating. Normal transactional volumes are well within them; if you are planning a very large programmatic send, use a campaign instead — it is built for that.

Start answering customers properly

Connect your WhatsApp number and send your first automated reply today. 15 days free, no card needed.

No credit cardCancel anytimeYour data stays yours