# Instasent A2P Messaging API > Documentation of the A2P Messaging API — self-service messaging for applications and AI agents, sending straight from your code: SMS today, RCS and WhatsApp coming soon; single and bulk sends, delivery reports, inbound, HLR lookup, balance and pricing, over HTTP (REST) or SMPP (wholesale SMS included), with SDKs. The Legacy API is its predecessor and stays online for existing integrations. Each API has a machine-readable dump linked from its section (llms-full.txt). This is not the Platform: audience, campaigns and flows belong to Instasent's other product, a CDP for mass marketing (/platform, /platform-api). ## Overview - [Overview](https://docs.instasent.com/a2p-messaging-api/overview): Send messages straight from your code — built for developers and AI agents. ## AI & MCP - [AI & MCP](https://docs.instasent.com/a2p-messaging-api/use-with-ai): Build with the A2P Messaging API from your AI assistant: this zone's docs as plain markdown, one autocontained dump, the OpenAPI specs and a drop-in prompt. ## Channels - **SMS** - [Senders](https://docs.instasent.com/a2p-messaging-api/channels/sms/senders): Every SMS sent through the A2P Messaging API goes out from a sender registered in your account. - [Coverage](https://docs.instasent.com/a2p-messaging-api/channels/sms/coverage): Which countries the A2P Messaging API can send SMS to, what each country asks of your sender, how that shows in the sender's sheet in the dashboard, and how coverage differs from the destination countries you allow. - [Destination countries](https://docs.instasent.com/a2p-messaging-api/channels/sms/destination-countries): Destination countries limit where your A2P Messaging API project can send SMS, for every sender, over HTTP and SMPP. - [Wildcard route](https://docs.instasent.com/a2p-messaging-api/channels/sms/wildcard-route): The wildcard route lets wholesale providers send SMS whose sender is not registered in their account, under the Wildcard Sender (in transit). - **RCS** - [Agents](https://docs.instasent.com/a2p-messaging-api/channels/rcs/agents): Sending RCS through the A2P Messaging API is coming soon. - [OpenAPI spec](https://docs.instasent.com/openapi/transactional.openapi.yaml): machine-readable spec for the A2P Messaging API. - [Full docs dump](https://docs.instasent.com/a2p-messaging-api/llms-full.txt): every page of the A2P Messaging API concatenated for LLM context. ## HTTP - [Quickstart](https://docs.instasent.com/a2p-messaging-api/http/quickstart): Send your first SMS over the A2P Messaging API in under five minutes. - [Bulk sending](https://docs.instasent.com/a2p-messaging-api/http/bulk): Send many SMS in a single request via POST /sms/bulk — the A2P Messaging API's throughput endpoint for campaigns, notification fan-outs and high-volume dispatch. - [Authentication](https://docs.instasent.com/a2p-messaging-api/http/authentication): The A2P Messaging API authenticates each request with a bearer token. - [Rate limits](https://docs.instasent.com/a2p-messaging-api/http/rate-limits): A2P Messaging HTTP traffic is rate-limited per account and per endpoint. - [Errors](https://docs.instasent.com/a2p-messaging-api/http/errors): The A2P Messaging HTTP API uses standard HTTP status codes. - [DLRs](https://docs.instasent.com/a2p-messaging-api/http/dlrs): Delivery reports (DLRs) are POSTed to a webhook URL configured per API token. - [Traffic metrics](https://docs.instasent.com/a2p-messaging-api/http/metrics): Read the volume, delivery outcomes and cost of the SMS sent with your API tokens, per UTC day or month, with a breakdown by country, network and token, in a single call to GET /sms/metrics. ## SMPP - [Authentication](https://docs.instasent.com/a2p-messaging-api/smpp/authentication): The A2P Messaging API over SMPP authenticates each session with a system_id and password carried on the bind PDU. - [Integration](https://docs.instasent.com/a2p-messaging-api/smpp/integration): Supported PDUs, submit_sm fields, message concatenation, DLRs over deliver_sm and inbound handling for the A2P Messaging API over SMPP. ## SDKs - [Node.js](https://docs.instasent.com/a2p-messaging-api/sdks/node): Official Node.js client for the Instasent A2P Messaging API. - [PHP](https://docs.instasent.com/a2p-messaging-api/sdks/php): Official PHP client for the Instasent A2P Messaging API. - [Python](https://docs.instasent.com/a2p-messaging-api/sdks/python): Official Python client for the Instasent A2P Messaging API. - [Ruby](https://docs.instasent.com/a2p-messaging-api/sdks/ruby): Official Ruby client for the Instasent A2P Messaging API. - [Java](https://docs.instasent.com/a2p-messaging-api/sdks/java): Official Java client for the Instasent A2P Messaging API. ## Legacy API - [Overview](https://docs.instasent.com/a2p-messaging-api/legacy/overview): The Legacy API is Instasent's first-generation SMS surface. - [Authentication](https://docs.instasent.com/a2p-messaging-api/legacy/authentication): The Legacy API authenticates each request with a bearer token issued in the dashboard. - [OpenAPI spec](https://docs.instasent.com/openapi/legacy.openapi.yaml): machine-readable spec for the Legacy API. - [Full docs dump](https://docs.instasent.com/a2p-messaging-api/legacy/llms-full.txt): every page of the Legacy API concatenated for LLM context. ## Country requirements as data (JSON) What a country requires before a sender can be used there — SMS and RCS, the paperwork, who files it, how long it takes, what happens without it — is published as data, not only as prose. **Fetch one country, not the index.** Replace the code with the destination's ISO 3166-1 alpha-2, lowercase: https://docs.instasent.com/data/country-requirements/es.json Every country in one document (large, ~250 KB): https://docs.instasent.com/data/country-requirements.json JSON Schema describing both: https://docs.instasent.com/data/country-requirements.schema.json No key, no authentication, cross-origin allowed. Every file carries `about`, `authority` and `policy` next to the country records, so it can be read on its own without this index.