API Reference
A JSON REST API over HTTPS. Basic auth with a scoped key pair, idempotency keys on writes, signed webhooks, and error codes that tell you what to change. There is no SDK requirement — everything below works with an HTTP client you already have.
Base URL: https://api.anthonyoliva.com/v1
Start here
New to the platform? Quickstart gets a message delivered in five minutes. Sending A2P traffic to the United States for the first time? ReadBrands and campaigns first, because unregistered traffic is blocked by the carriers before it reaches a handset.
Getting started
- Quickstart
Send your first SMS through the Anthony Oliva API in five minutes.
- Authentication
API key pairs, scopes, rotation, rate limits, and idempotency for the Anthony Oliva API.
Messaging
- Send messages
The full request and response schema for sending SMS and MMS through the Anthony Oliva API.
- Webhooks
Event types, signature verification, retry behavior, and replay for Anthony Oliva webhooks.
Registration
- Brands and campaigns
Register a brand and a 10DLC campaign through the Anthony Oliva API, and understand every status the registry can return.
Reference
- Phone numbers
Search, purchase, configure, port, and release phone numbers through the Anthony Oliva API.
- Number lookup
Resolve carrier, line type, and portability for a phone number, individually or in batch.
- Errors
Error envelope, HTTP status codes, and every error code the Anthony Oliva API can return, with the fix for each.
All endpoints
| POST | /v1/messages | Send an SMS or MMS |
| GET | /v1/messages/{id} | Retrieve a message |
| GET | /v1/messages | List and filter messages |
| GET | /v1/numbers/available | Search purchasable numbers |
| POST | /v1/numbers | Buy a number |
| PATCH | /v1/numbers/{number} | Configure a number |
| DELETE | /v1/numbers/{number} | Release a number |
| POST | /v1/brands | Register a brand |
| POST | /v1/campaigns | Register a 10DLC campaign |
| GET | /v1/campaigns/{id} | Check campaign status |
| GET | /v1/lookup/{number} | Look up a single number |
| POST | /v1/lookup/batch | Look up many numbers |
| POST | /v1/webhooks | Register a webhook endpoint |
| POST | /v1/events/{id}/replay | Replay a webhook event |
Conventions
- All timestamps are RFC 3339 in UTC, for example
2026-07-27T18:02:11Z. - All phone numbers are E.164, for example
+13155550142. - All monetary amounts are decimal strings with an explicit currency, never floats.
- List endpoints use cursor pagination through
starting_afterandlimit, and returnhas_more. - Unknown fields in a response are additive. Ignore what you do not recognize.
Getting help
Email support@anthonyoliva.com with therequest_id from the error response, or call+1 (332) 231-6423 during business hours. If a campaign was rejected, we can pull the specific reason code from the registry for you.