Skip to content

Claims API

All endpoints require landlord authentication.

POST /claims

Submit a claim for a scraped listing. The listing must be owned by the scraper system user.

Body

json
{
  "listingId": "uuid",
  "justification": "I am the property owner. This is my address and I can verify ownership."
}
  • justification must be 10-2000 characters
  • Only one pending/approved claim per user per listing
  • Rejected claims can be re-submitted

Response (201)

json
{
  "claim": { "id": "uuid" }
}

GET /claims/my

Get the current landlord's submitted claims.

Response (200)

json
{
  "claims": [
    {
      "id": "uuid",
      "listingId": "uuid",
      "status": "pending",
      "justification": "I am the property owner.",
      "createdAt": "2026-03-02T00:00:00.000Z",
      "reviewedAt": null,
      "listingTitle": "3.5 in Mile End",
      "listingAddress": "5555 Rue Saint-Urbain"
    }
  ]
}

Claim Flow

  1. Landlord submits claim via POST /claims
  2. Admin reviews in admin dashboard
  3. Admin approves → listings.landlord_id transfers to claiming user, claimed_by and claimed_at set
  4. Admin rejects → claim status set to rejected, landlord can re-submit