Maintenance requests dispatched automatically. Landlords stay happy.
See how the API works →The number one reason landlords switch letting agents isn't tenancy issues — it's slow repair response. A tenant's ceiling leak becomes a damp complaint, then a deposit dispute, then a Trustpilot review. Your team is already stretched across viewings, renewals, and compliance. Chasing contractors for £150 jobs shouldn't require a dedicated member of staff. Yet for most agencies, it does.
The same gap shows up on your own line: a tenant rings about that leak while every negotiator is out on a viewing, and the call goes to voicemail. If that is the part that hurts first, you can let Aria answer the office line — she takes the address, the fault and a number, and texts them to you while the caller is still on the phone.
A message, sent and delivered live on the platform. TPS-screened before every send. ICO registered: ZC164080.
A tenant reports a repair; you POST the number to contact and the property postcode. Only those two fields are required — who to reach and where the job is. Everything else is optional attribution.
curl -X POST https://app.pipeiq.co.uk/api/leads/register \ -H "Content-Type: application/json" \ -H "X-PipeIQ-Token: YOUR_API_KEY" \ -d '{ "mobile_number": "07700900000", "postcode": "B15 2TT", "selected_trade": "plumbing", "utm_source": "lettings-crm", "utm_campaign": "tenant-repairs" }'
A 201 Created response means the lead was registered and the welcome SMS was
dispatched; the body returns the matched postcode sector. mobile_number accepts
07xxxxxxxxx or 447xxxxxxxxx. selected_trade takes plumbing,
gas, electrical, roofing, building or
all; it is not validated, so an unrecognised or omitted value is recorded as
Other rather than rejected. Full field and response reference on the
Partner API page.
Lead distribution fails quietly when nobody handles the unhappy path. One of these you must never retry.
| Code | Meaning | What to do |
|---|---|---|
201 | Lead registered, welcome SMS dispatched | Store the returned postcode sector against the lead. |
400 | Missing or invalid fields | Fix the payload; do not retry unchanged. |
401 | Invalid or missing API key | Check the header. Never put the key in client-side code. |
405 | Wrong HTTP method | POST only. OPTIONS returns 200 for CORS preflight; everything else is rejected. |
422 | Number previously opted out | Do not retry. Mark the lead unreachable by SMS and route it another way. |
429 | Daily call limit reached (100 per key per 24h) | Back off and resume; email support to raise the cap. Sandbox keys share this status. |
500 | Unexpected server error | Retry with backoff; contact support with your request id if it persists. |
The 422 is the one worth designing around. It is not a transport failure, it is a lawful-basis answer: that person has told us not to text them. Retrying it is the easiest way to turn a compliance feature into a compliance incident.