Introduction
Base URL, authentication, limits and pagination for the iP.1 SMS API.
The iP.1 SMS API is a REST-based API for individual, automated and high-volume SMS sending. The API uses JSON, and all requests must be made over HTTPS.
Base URL
https://api.ip1sms.com/v2/
Unless stated otherwise, the endpoint tables show paths under /v2. POST /batches therefore means POST https://api.ip1sms.com/v2/batches.
Some older endpoints that remain operational use a different URL structure without /v2. Each affected page identifies that structure. The account and subaccount endpoints, for example, use /api/... and are described in Accounts and subaccounts.
Create an account and API key
- Create an account.
- Sign in to the user portal.
- Create an API key for the account.
- Restrict the key to the IP addresses and permissions required by the integration.
Never store the key in client-side code, version control or public logs. Use a secrets manager or protected environment variable, and rotate the key if it may have been exposed.
Authentication
All endpoints are protected by HTTP Bearer authentication:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Example:
curl "https://api.ip1sms.com/v2/batches" \
-H "Authorization: Bearer $IP1_TOKEN" \
-H "Accept: application/json"
A missing or invalid token normally returns 401 Unauthorized. A valid token without the required permission may return 403 Forbidden.
Rate limit
The published limit is 30 requests per second per account. Design the client with a queue, limited concurrency and exponential backoff. Retry automatically only when the operation is safe to repeat.
Pagination
Endpoints under /v2/ that return collections use:
| Parameter | Default | Description |
|---|---|---|
start |
0 |
Starting position in the collection. |
limit |
50 |
Maximum number of documents in the response. |
order |
ASC |
Sort order, either ASC or DESC. |
GET /v2/batches?start=0&limit=200&order=DESC
The response includes a Link header with the relevant relations:
Link: <https://api.ip1sms.com/v2/batches?start=200&limit=100&order=ASC>; rel="next",
<https://api.ip1sms.com/v2/batches?start=4900&limit=100&order=ASC>; rel="last"
Possible relations are self, first, prev, next and last. Follow the links supplied by the server instead of calculating the next page yourself.
