Integrate TPS-screened SMS win-back into your platform. Sandbox key in seconds — no card, 10 free calls, mock responses.
Get a sandbox key free →No card · 10 calls · Expires 48h · Sandbox mode — no real SMS sent
Quick Start
Get a sandbox key, check your credits, send your first SMS — all without a live account.
POST your email to get sk_sandbox_* — 10 calls, expires 48h, no card.
curl -X POST https://app.pipeiq.co.uk/api/auth/sandbox-key \
-H "Content-Type: application/json" \
-d '{"email":"you@yourco.com"}'
Response: {"key":"sk_sandbox_xxx","expires":"...","calls_remaining":10}
Verify the key is live and see your sandbox balance.
curl https://app.pipeiq.co.uk/api/v1/credits \
-H "X-PipeIQ-Token: sk_sandbox_xxx"
Response: {"balance":500,"plan":"sandbox","sandbox":true}
Use a sandbox number — no real SMS is sent, TPS screening is mocked.
curl -X POST https://app.pipeiq.co.uk/api/v1/send \
-H "X-PipeIQ-Token: sk_sandbox_xxx" \
-H "Content-Type: application/json" \
-d '{
"to": "+447700900001",
"message": "Hi — we have a special offer for you. Reply STOP to opt out."
}'
Response: {"success":true,"message_sid":"sandbox_xxx","tps_status":"clean","sandbox":true}
Endpoints
Base URL: https://app.pipeiq.co.uk · Auth: X-PipeIQ-Token: your_key header
| Method | Path | Description | Status |
|---|---|---|---|
| POST | /api/auth/sandbox-key | Issue a sk_sandbox_* key — 10 calls, 48h expiry, no card |
LIVE |
| GET | /api/v1/credits | Check credit balance, plan, and trial expiry | LIVE |
| POST | /api/v1/send | TPS-screen and send a single SMS — PECR compliant by default | LIVE |
| POST | /api/v1/send-bulk | Bulk send up to 500 numbers in one call (per-number message objects) | LIVE |
| GET | /api/v1/status | Poll delivery status by message_sid |
LIVE |
| POST | /api/v1/webhook-test | Fire a test webhook payload to your endpoint URL | LIVE |
Code Examples
Copy-paste examples for every endpoint. All examples use curl — the same headers and body work in any language.
curl https://app.pipeiq.co.uk/api/v1/credits \
-H "X-PipeIQ-Token: sk_sandbox_xxx"
{
"balance": 500,
"plan": "sandbox",
"trial_expires": "2026-07-27T10:00:00.000Z",
"sandbox": true
}
curl -X POST https://app.pipeiq.co.uk/api/v1/send \
-H "X-PipeIQ-Token: sk_sandbox_xxx" \
-H "Content-Type: application/json" \
-d '{
"to": "+447700900001",
"message": "Hi — we have a special offer for you. Reply STOP to opt out.",
"sender_id": "PipeIQ"
}'
{
"success": true,
"message_sid": "sandbox_Mxxxxxxxxxxxxxxxx",
"tps_status": "clean",
"sandbox": true
}
{
"success": false,
"status": "blocked_tps",
"tps_status": "registered",
"sandbox": true
}
to and message.curl -X POST https://app.pipeiq.co.uk/api/v1/send-bulk \
-H "X-PipeIQ-Token: sk_sandbox_xxx" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{ "to": "+447700900001", "message": "Win back offer: 20% off. Reply STOP to opt out." },
{ "to": "+447700900002", "message": "Win back offer: 20% off. Reply STOP to opt out." }
],
"sender_id": "PipeIQ"
}'
{
"queued": 2,
"sandbox": true,
"results": [
{ "to": "+447700900001", "message_sid": "sandbox_M001", "tps_status": "clean" },
{ "to": "+447700900002", "message_sid": "sandbox_M002", "tps_status": "clean" }
]
}
Note: each message object must include both to and message. TPS-blocked numbers are silently skipped and not charged.
message_sid returned by /send or /send-bulk.curl "https://app.pipeiq.co.uk/api/v1/status?message_sid=sandbox_M001" \
-H "X-PipeIQ-Token: sk_sandbox_xxx"
{
"status": "delivered",
"sandbox": true
}
curl -X POST https://app.pipeiq.co.uk/api/v1/webhook-test \
-H "X-PipeIQ-Token: sk_sandbox_xxx" \
-H "Content-Type: application/json" \
-d '{"webhook_url":"https://yourapp.com/hooks/pipeiq"}'
{
"event": "message_sent",
"message_sid": "SMxxxxxxxxxxxxxxxxxxxx",
"to": "+447700900001",
"status": "sent",
"tps_result": {
"screened": true,
"registered": false,
"ctps_registered": false
},
"timestamp": "2026-07-25T10:00:00.000Z"
}
Sandbox Mode
Compliance
Every live send goes through TPS/CTPS screening before dispatch. Non-compliant numbers are blocked automatically — no charge.
Every number checked against TPS and CTPS before send. Registered numbers blocked, no credit charged.
STOP clause appended automatically if missing from message body. Opt-outs honoured immediately.
TradeBoost AI Ltd — ICO registration ZC164080. Data processed under UK GDPR and PECR.
Smart quotes, em-dashes, and emoji auto-converted to GSM-7 — avoids the 3x segment cost of UCS-2.
Get Started
Free, no card, live in 30 seconds. Move to a production key when you're ready — Agency from £349/mo, White Label from £599/mo.
Get sandbox key — free →Questions? hello@pipeiq.co.uk