{"info":{"name":"Senda SMS API","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"variable":[{"key":"baseUrl","value":"https://api.sendaapp.co.za"},{"key":"apiKey","value":"sk_test_replace_me"}],"item":[{"name":"SMS Messaging","item":[{"name":"Send an SMS","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages","host":["{{baseUrl}}"],"path":["v1","messages"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"to\": \"0821234567\",\n  \"from\": \"ACME\",\n  \"body\": \"Your order #1042 has shipped.\",\n  \"client_ref\": \"order-1042\"\n}"}}},{"name":"Send up to 1 000 SMS in one call","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages/batch","host":["{{baseUrl}}"],"path":["v1","messages","batch"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"messages\": [\n    {\n      \"to\": \"+27821234567\",\n      \"from\": \"ACME\",\n      \"body\": \"Hi Thandi, your appointment is tomorrow at 10:00.\"\n    },\n    {\n      \"to\": \"+27831234567\",\n      \"from\": \"ACME\",\n      \"body\": \"Hi Pieter, your appointment is tomorrow at 11:00.\"\n    }\n  ]\n}"}}},{"name":"Get a message and its status","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages/01a19900-0000-7000-8000-00000000abcd","host":["{{baseUrl}}"],"path":["v1","messages","01a19900-0000-7000-8000-00000000abcd"],"query":[]}}},{"name":"List messages","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages?status=delivered&limit=50","host":["{{baseUrl}}"],"path":["v1","messages"],"query":[{"key":"status","value":"delivered"},{"key":"limit","value":"50"}]}}},{"name":"Full status history","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages/01a19900-0000-7000-8000-00000000abcd/events","host":["{{baseUrl}}"],"path":["v1","messages","01a19900-0000-7000-8000-00000000abcd","events"],"query":[]}}}]},{"name":"Contacts & Lists","item":[{"name":"Create or update a contact","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/contacts","host":["{{baseUrl}}"],"path":["v1","contacts"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"msisdn\": \"0821234567\",\n  \"name\": \"Thandi Nkosi\",\n  \"attributes\": {\n    \"first_name\": \"Thandi\",\n    \"branch\": \"Sandton\"\n  },\n  \"consent_source\": \"web_form\"\n}"}}},{"name":"Search contacts","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/contacts?q=Thandi","host":["{{baseUrl}}"],"path":["v1","contacts"],"query":[{"key":"q","value":"Thandi"}]}}},{"name":"Opt a contact out","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/contacts/…/opt-out","host":["{{baseUrl}}"],"path":["v1","contacts","…","opt-out"],"query":[]}}},{"name":"Create a list","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/lists","host":["{{baseUrl}}"],"path":["v1","lists"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"name\": \"Loyalty members\"\n}"}}}]},{"name":"Templates & Campaigns","item":[{"name":"Create a template","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/templates","host":["{{baseUrl}}"],"path":["v1","templates"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"name\": \"November promo\",\n  \"body\": \"Hi {{first_name}}, 20% off this weekend at ACME. Reply STOP to opt out.\",\n  \"category\": \"marketing\"\n}"}}},{"name":"Create a campaign","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/campaigns","host":["{{baseUrl}}"],"path":["v1","campaigns"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"name\": \"November promo\",\n  \"template_id\": \"…\",\n  \"list_id\": \"…\",\n  \"sender\": \"ACME\"\n}"}}},{"name":"Start or schedule a campaign","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/campaigns/…/schedule","host":["{{baseUrl}}"],"path":["v1","campaigns","…","schedule"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"scheduled_at\": \"2026-11-06T09:00:00+02:00\"\n}"}}},{"name":"Campaign progress","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/campaigns/…/stats","host":["{{baseUrl}}"],"path":["v1","campaigns","…","stats"],"query":[]}}}]},{"name":"Webhooks & Events","item":[{"name":"Register a webhook (returns the signing secret once)","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks","host":["{{baseUrl}}"],"path":["v1","webhooks"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"url\": \"https://example.co.za/senda/webhooks\",\n  \"events\": [\n    \"message.delivered\",\n    \"message.failed\",\n    \"message.received\"\n  ]\n}"}}},{"name":"Send a signed test event","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks/…/test","host":["{{baseUrl}}"],"path":["v1","webhooks","…","test"],"query":[]}}},{"name":"Delivery log (incl. dead letters)","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks/…/deliveries","host":["{{baseUrl}}"],"path":["v1","webhooks","…","deliveries"],"query":[]}}}]},{"name":"Account, Usage & Billing","item":[{"name":"Current balance","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/account/balance","host":["{{baseUrl}}"],"path":["v1","account","balance"],"query":[]}}},{"name":"Usage report","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/account/usage?from=2026-10-01&to=2026-11-01","host":["{{baseUrl}}"],"path":["v1","account","usage"],"query":[{"key":"from","value":"2026-10-01"},{"key":"to","value":"2026-11-01"}]}}},{"name":"Invoices","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/account/invoices","host":["{{baseUrl}}"],"path":["v1","account","invoices"],"query":[]}}}]},{"name":"Zapier, Make & REST hooks","item":[{"name":"Subscribe a REST hook","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/hooks","host":["{{baseUrl}}"],"path":["v1","hooks"],"query":[]},"body":{"mode":"raw","raw":"{\n  \"target_url\": \"https://hooks.zapier.com/hooks/standard/123/abc\",\n  \"event\": \"message.received\",\n  \"source\": \"zapier\"\n}"}}},{"name":"Unsubscribe a REST hook","request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/hooks/…","host":["{{baseUrl}}"],"path":["v1","hooks","…"],"query":[]}}}]}]}