# Transactional API / A2P Messaging API

The A2P Messaging API — also known as the Transactional API, and formerly the SMS API — is Instasent's SMS wholesale surface: single send, bulk send, delivery reports, inbound, HLR lookup, balance and pricing, over HTTP (REST) or SMPP. It is the evolution of the Legacy API — every new SMS integration should land here.

**Language:** en
**Audience:** developer
**Search keywords:** a2p messaging api, a2p, transactional api, sms api, smpp, bulk sms, dlr, hlr lookup
**Docs index (every page):** https://docs.instasent.com/llms.txt
**This zone's index:** https://docs.instasent.com/developers/transactional-api/llms-full.txt
**This page:** https://docs.instasent.com/developers/transactional-api/overview/ (HTML) · https://docs.instasent.com/developers/transactional-api/overview.md (Markdown)

> **Note**: **The Transactional API and the A2P Messaging API are the same API** — and,
> before both, the SMS API. Same endpoints, same tokens, same URLs, nothing to
> migrate: if your integration calls the Transactional API, it is already
> calling this. The dashboard uses the newer name, so what you create there is
> an *A2P Messaging API* token or project.

The A2P Messaging API is Instasent's core SMS surface. It connects your application directly to carrier networks, delivering to handsets in 200+ countries, and covers everything you need around raw SMS: sending (single or batched), receiving DLRs and inbound, querying message history, running HLR lookups and reading price profiles and account balance.

It is the **evolution of the [Legacy API](/developers/legacy-api/overview)** — same endpoint surface, modernised with DLR webhooks, per-project tokens, SMPP and the `api_sms` token model. If you are about to write new code, write it against this API.

Two transports expose the same underlying pipeline. Pick the one that fits your stack — most teams start with HTTP and only move to SMPP when volume or session-state requirements justify it.

- [HTTP (REST)](/developers/transactional-api/http/quickstart) - JSON over HTTPS. Best for application servers, serverless functions and anything that already speaks REST. Webhook-based DLRs.
- [SMPP](/developers/transactional-api/smpp/integration) - Persistent TCP sessions, binary protocol. Best for high-throughput platforms (messaging providers, aggregators) that already operate an SMPP stack.

## What you can do

- **Send SMS, one at a time** — `POST /sms` for triggered traffic (OTPs, alerts, receipts, notifications).
- **Send SMS in bulk** — `POST /sms/bulk` takes a collection of messages in a single request. This is the endpoint for API-driven campaigns, marketing fan-outs and any high-volume dispatch. Customers including marketing agencies run entire campaigns on top of it.
- **Receive delivery reports** (DLRs) as carriers report status back through the chain, pushed to your webhook in real time.
- **Accept inbound messages** when the account has two-way enabled.
- **Query message history** and per-message status — `GET /sms`, `GET /sms/{id}`.
- **Run HLR / number lookups** — `POST /lookup`, `GET /lookup/{id}` and `GET /lookup` to check handset presence and routing before sending.
- **Read account balance** — `GET /organization/account`.
- **Read price profiles** — `GET /sms/price-profile/me/countries` and `GET /lookup/price-profile/me/countries` for per-country pricing.

## When to use this API

Reach for A2P Messaging whenever you need raw SMS capacity — single, batched, or wholesale — without asking Instasent to manage the recipient audience. Typical workloads:

- **User-triggered messages** — OTPs, password resets, receipts, shipping notifications. One message per event, delivered in seconds, via `POST /sms`.
- **API-driven campaigns and bulk dispatch** — marketing sends, notification fan-outs, anything that fires many messages in one go. Use `POST /sms/bulk`.
- **SMS wholesale** — aggregators, messaging platforms and resellers pushing their own traffic through Instasent. Use HTTP at moderate rates; use [SMPP](/developers/transactional-api/smpp/integration) for carrier-grade throughput with persistent sessions.
- **Pre-send validation and pricing** — HLR lookup and price profiles to route and cost-check before dispatch.

If you need Instasent to own the audience, personalization, segmentation and attribution, use the [Product API](/developers/product-api/guide) instead — it delegates delivery to this one but adds the customer-data layer on top. The A2P Messaging API is the right pick when the caller already manages its recipient list and just needs the full SMS pipe.

## What to read next

- [HTTP Quickstart](/developers/transactional-api/http/quickstart) - Send your first SMS over REST in under five minutes.
- [Bulk sending](/developers/transactional-api/http/bulk) - Up to 100 messages per request, queue-based dispatch, the endpoint for API-driven campaigns.
- [HTTP Authentication](/developers/transactional-api/http/authentication) - Token types, header vs. query string, rotation.
- [Receiving DLRs](/developers/transactional-api/http/dlrs) - Webhook payload, status list, two-way inbound.
- [Full API Reference](/developers/transactional-api/http/reference) - Every endpoint, every parameter.

---

This is one page of the Instasent documentation. For the complete machine-readable index of every guide and API reference, fetch https://docs.instasent.com/llms.txt — start there for full context.
