PlacementsMove-in dates

Move-in dates

POST /claims/{reference}/dates
{
  "property_id": "0ba283af-…",
  "move_in": "2026-11-01",
  "move_out": "2027-01-31"
}

This is the call that commits a placement. On success:

  1. The home’s calendar is reserved for those dates, so nobody else is offered it.
  2. The dates are agreed — nobody is asked to approve them.
  3. The lease is sent for signature, if the landlord has a contract template on the home.
{
  "data": {
    "id": "5ae35393-…",
    "move_in_date": "2026-11-01",
    "move_out_date": "2027-01-31",
    "status": "awaiting_lease"
  }
}

Within seconds the status moves to sent_for_signature and the first signer is emailed. Watch for lease.sent.

Why nobody approves the dates

The dates are set by the party arranging the housing. Asking the landlord and the household to confirm them again only delayed placements that were already agreed by phone — and the lease, which both sides sign, is where that agreement is actually recorded.

Changing them

Send the call again with new dates. A re-date on a placement that has already moved on is not an overwrite: the old contract is withdrawn and recorded as superseded, the old calendar hold is released, and a fresh contract goes out for the new dates. Without that, a live signing link keeps working against dates nobody agreed to.

Once the lease is fully signed the answer is 409 already_signed — cancel the booking instead.

The rules

Three, and they are the same ones your coordinators work under:

At least 30 days. A placement runs for a month or more — the rent tiers, the lease and the monthly billing all assume it. A shorter stay is a hotel.

{ "error": { "code": "stay_too_short",
  "message": "A placement runs for at least 30 days; these dates span 14",
  "field": "move_out" } }

The whole range must be free, not just its endpoints — a range can straddle a booked block with both ends available. The conflicting blocks come back so you can pick again without guessing:

{ "error": { "code": "dates_unavailable",
  "message": "The home is not free for the whole of that range",
  "conflicts": [ { "start_date": "2027-03-01", "end_date": "2027-06-01", "reason": "Reserved — lease pending" } ] } }

Move-in cannot be in the past.

Errors

CodeMeaning
409 not_on_requestAdd the home first with POST /claims/{ref}/options
409 dates_unavailableSomething already holds part of that range — the blocks are in the response
409 already_signedThe lease is fully signed; cancel the booking rather than re-dating it
422 stay_too_shortUnder 30 days
422 invalid_fieldDates must be YYYY-MM-DD, move_out after move_in, move_in not in the past