Overview

This API keeps leads together with their search profiles, accepts inquiries and scores how well each one matches a property.

Keeping the score traceable

Every score comes with more than just a number - it includes the individual criteria and their weight. That's deliberate: when a lead asks why they didn't get a viewing appointment, you can answer - and you'll notice yourself if a criterion like financing_proof is systematically skewing the list.

PointsRating
0-39low
40-69medium
70-100high

Data protection is built in

Every lead carries a retention_until. It's derived from the case at hand when the lead is created and recomputed with every activity. Once it passes, name, address and contact details are removed overnight; the statistical attributes remain for reporting.

A consent is required. Without it the API rejects the create request with 400 - deliberately, since consent obtained after the fact is rarely something you can actually prove.

A deletion request is carried out immediately via POST /leads/{id}/deletion; it takes precedence over any retention deadline.

Scopes required

leads:read for querying, leads:write for maintaining and scoring.