{
"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."
}
},
{
"name": "Account Management",
"description": "Multi-account endpoints for SaaS platforms, agencies and resellers: sub-accounts, credits, API keys, users, numbers and webhooks. Requires account hierarchy to be enabled.",
"item": [
{
"name": "List accounts",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/accounts",
"host": [
"{{base_url}}"
],
"path": [
"accounts"
]
},
"description": "List your account and all of its sub-accounts."
}
},
{
"name": "Create sub-account",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/accounts",
"host": [
"{{base_url}}"
],
"path": [
"accounts"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"business_name\": \"Client A Pty Ltd\",\n \"email\": \"ops@clienta.com.au\",\n \"daily_limit\": 1000,\n \"managed_by_parent\": false,\n \"team_access_from_parent\": false,\n \"inherit_parent_senders\": false,\n \"optout_exempt\": false,\n \"seed_credits\": 500\n}"
},
"description": "Create a sub-account for one of your customers."
}
},
{
"name": "Get account detail",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"description": "Balance, limits, status, user and number counts."
}
},
{
"name": "Update sub-account",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/account/:id",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"business_name\": \"Client A Group\",\n \"daily_limit\": 5000,\n \"team_access_from_parent\": true,\n \"inherit_parent_senders\": true\n}"
}
}
},
{
"name": "Delete sub-account",
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
}
}
},
{
"name": "Get sub-account balance",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id/balance",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"balance"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
}
}
},
{
"name": "Allocate credits to sub-account",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/account/:id/credits/allocate",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"credits",
"allocate"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"amount\": 500\n}"
}
}
},
{
"name": "Recall credits from sub-account",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/account/:id/credits/recall",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"credits",
"recall"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"amount\": 200\n}"
}
}
},
{
"name": "List account API keys",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id/keys",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"keys"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
}
}
},
{
"name": "Provision API key",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/account/:id/key",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"key"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Client A production\"\n}"
},
"description": "The full key is returned once and cannot be retrieved again."
}
},
{
"name": "Revoke API key",
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id/key/:keyId",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"key",
":keyId"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
},
{
"key": "keyId",
"value": "uuid"
}
]
}
}
},
{
"name": "List account users",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id/users",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"users"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
}
}
},
{
"name": "Invite user to account",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/account/:id/users",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"users"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"newuser@clienta.com.au\",\n \"name\": \"Sam\",\n \"can_send\": true,\n \"can_billing\": false\n}"
}
}
},
{
"name": "Remove user from account",
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id/users/:memberId",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"users",
":memberId"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
},
{
"key": "memberId",
"value": "uuid"
}
]
}
}
},
{
"name": "Get account access settings",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id/access",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"access"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
}
}
},
{
"name": "Update account access settings",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/account/:id/access",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"access"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"managed_by_parent\": true,\n \"team_access_from_parent\": true\n}"
}
}
},
{
"name": "List parent team users",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/team",
"host": [
"{{base_url}}"
],
"path": [
"team"
]
}
}
},
{
"name": "List your numbers",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/numbers",
"host": [
"{{base_url}}"
],
"path": [
"numbers"
]
}
}
},
{
"name": "List group numbers",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/numbers/group",
"host": [
"{{base_url}}"
],
"path": [
"numbers",
"group"
]
}
}
},
{
"name": "Browse available numbers",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/numbers/available?country=AU&limit=20&offset=0",
"host": [
"{{base_url}}"
],
"path": [
"numbers",
"available"
],
"query": [
{
"key": "country",
"value": "AU"
},
{
"key": "limit",
"value": "20"
},
{
"key": "offset",
"value": "0"
}
]
}
}
},
{
"name": "List sub-account numbers",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id/numbers",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"numbers"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
}
}
},
{
"name": "Assign numbers to sub-account",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/account/:id/numbers/assign",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"numbers",
"assign"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"numbers\": [\n \"+61480123456\"\n ]\n}"
}
}
},
{
"name": "Recall numbers from sub-account",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/account/:id/numbers/recall",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"numbers",
"recall"
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"numbers\": [\n \"+61480123456\"\n ]\n}"
}
}
},
{
"name": "Get webhook configuration",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/webhooks",
"host": [
"{{base_url}}"
],
"path": [
"webhooks"
]
}
}
},
{
"name": "Set delivery receipt webhook",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/webhooks/delivery",
"host": [
"{{base_url}}"
],
"path": [
"webhooks",
"delivery"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"url\": \"https://yourapp.com/hooks/dlr\",\n \"enabled\": true\n}"
}
}
},
{
"name": "Rotate delivery webhook secret",
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "{{base_url}}/webhooks/delivery",
"host": [
"{{base_url}}"
],
"path": [
"webhooks",
"delivery"
]
}
}
},
{
"name": "Set inbound webhook",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{base_url}}/webhooks/inbound",
"host": [
"{{base_url}}"
],
"path": [
"webhooks",
"inbound"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"url\": \"https://yourapp.com/hooks/inbound\",\n \"enabled\": true\n}"
}
}
},
{
"name": "Rotate inbound webhook secret",
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "{{base_url}}/webhooks/inbound",
"host": [
"{{base_url}}"
],
"path": [
"webhooks",
"inbound"
]
}
}
}
]
},
{
"name": "Reporting",
"description": "Usage reporting for your account, a single sub-account, or the whole hierarchy.",
"item": [
{
"name": "Account usage report",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/report?from=2026-01-01&to=2026-01-31&direction=all",
"host": [
"{{base_url}}"
],
"path": [
"report"
],
"query": [
{
"key": "from",
"value": "2026-01-01"
},
{
"key": "to",
"value": "2026-01-31"
},
{
"key": "direction",
"value": "all"
}
]
},
"description": "Usage summary for your own account. Optional filters: status, country, campaign_id, keyword, number."
}
},
{
"name": "Sub-account usage report",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/account/:id/report?from=2026-01-01&to=2026-01-31",
"host": [
"{{base_url}}"
],
"path": [
"account",
":id",
"report"
],
"query": [
{
"key": "from",
"value": "2026-01-01"
},
{
"key": "to",
"value": "2026-01-31"
}
],
"variable": [
{
"key": "id",
"value": "account-uuid"
}
]
}
}
},
{
"name": "Group usage report",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/report/group?from=2026-01-01&to=2026-01-31",
"host": [
"{{base_url}}"
],
"path": [
"report",
"group"
],
"query": [
{
"key": "from",
"value": "2026-01-01"
},
{
"key": "to",
"value": "2026-01-31"
}
]
},
"description": "Per-account usage across your hierarchy plus a grand total."
}
}
]
}
]
}