{
"info": {
"name": "Texto SMS API",
"description": "Australia's simplest SMS API — send, receive, and track SMS for 3¢ per message. Full docs: https://texto.com.au/api",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_postman_id": "b3a1c2d4-5e6f-7890-abcd-ef1234567890"
},
"auth": {
"type": "bearer",
"bearer": [
{ "key": "token", "value": "{{api_key}}", "type": "string" }
]
},
"variable": [
{ "key": "base_url", "value": "https://api.texto.com.au", "type": "string" },
{ "key": "api_key", "value": "YOUR_API_KEY", "type": "string" }
],
"item": [
{
"name": "Send single SMS",
"request": {
"method": "POST",
"header": [{ "key": "Content-Type", "value": "application/json" }],
"url": { "raw": "{{base_url}}/send", "host": ["{{base_url}}"], "path": ["send"] },
"body": {
"mode": "raw",
"raw": "{\n \"to\": \"+61412345678\",\n \"message\": \"Hello from Texto!\",\n \"sender\": \"+61400000000\"\n}"
},
"description": "Send a single SMS message to an Australian mobile number."
}
},
{
"name": "Batch send (up to 1,000 recipients)",
"request": {
"method": "POST",
"header": [{ "key": "Content-Type", "value": "application/json" }],
"url": { "raw": "{{base_url}}/send-batch", "host": ["{{base_url}}"], "path": ["send-batch"] },
"body": {
"mode": "raw",
"raw": "{\n \"recipients\": [\n { \"phone\": \"+61412345678\", \"merge_data\": { \"name\": \"Alice\" } },\n { \"phone\": \"0412345679\" }\n ],\n \"message\": \"Hi {{name}}, welcome!\",\n \"sender\": \"+61400000000\"\n}"
},
"description": "Send to up to 1,000 recipients per call. Supports {{merge}} placeholders."
}
},
{
"name": "Get message by ID",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/message/:id",
"host": ["{{base_url}}"],
"path": ["message", ":id"],
"variable": [{ "key": "id", "value": "8c1f9b2e-1a4c-4f87-9bd2-2d2f6f6f6f6f" }]
},
"description": "Returns the message with its delivery receipt."
}
},
{
"name": "Get campaign by ID",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/campaign/:id",
"host": ["{{base_url}}"],
"path": ["campaign", ":id"],
"variable": [{ "key": "id", "value": "REPLACE_WITH_CAMPAIGN_UUID" }]
},
"description": "Returns campaign stats and per-message detail."
}
},
{
"name": "List inbound messages",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/inbox?limit=25&offset=0",
"host": ["{{base_url}}"],
"path": ["inbox"],
"query": [
{ "key": "limit", "value": "25", "description": "1–100 (default 25)" },
{ "key": "offset", "value": "0" },
{ "key": "from", "value": "+614", "disabled": true, "description": "Partial sender match" },
{ "key": "date_from", "value": "2025-01-01T00:00:00Z", "disabled": true },
{ "key": "date_to", "value": "2025-01-31T23:59:59Z", "disabled": true }
]
},
"description": "Paginated list of inbound SMS messages."
}
},
{
"name": "List opted-out numbers",
"request": {
"method": "GET",
"header": [],
"url": { "raw": "{{base_url}}/optouts", "host": ["{{base_url}}"], "path": ["optouts"] },
"description": "Account-wide list of numbers that have replied STOP."
}
},
{
"name": "Check credit balance",
"request": {
"method": "GET",
"header": [],
"url": { "raw": "{{base_url}}/balance", "host": ["{{base_url}}"], "path": ["balance"] },
"description": "Returns your remaining SMS credit balance."
}
}
]
}