Signatures
Leases

Check whether a lease can be sent for signature

Runs, without any side effect, the same checks that POST /leases/{lease_id}/signature/initiate performs before it writes anything. Call it before you charge the landlord.

It exists because the charge used to happen first: a landlord paid €4.90 and then hit a 400 four times in a row because the lease had no document template. Pre-flight closes that class of failure: you learn the send is impossible before taking the money.

Reading the answer

  • can_send: true → nothing blocks the send. Proceed to payment, then initiate.
  • can_send: false → blockers lists what to fix. This is a 200, not an error: an incomplete file is a normal state of the journey.

Two families of blockers behave differently:

  • state (document_completed, signature_in_progress, already_signed) short-circuits: you get exactly one blocker and no file inspection happens;
  • file (no_template, no_lessee, signers_incomplete, caution_incomplete) accumulates, so the landlord sees everything to correct in a single pass.

What it does not promise

Pre-flight replays the checks that precede the first write. It cannot guarantee the PDF will compose, nor that the network holds. It is not a proof of success: it is a guarantee you are not selling a send that is already known to fail.

Read-only: requires leases:read, and consumes no signature quota.

get/leases/{lease_id}/signature/preflight

Request

  • Base URL: https://api.faireplace.com/api
  • URL: https://api.faireplace.com/api/leases/{lease_id}/signature/preflight
  • Auth: HTTP bearer

Path parameters

lease_idstring uuid required

Response

Verdict computed. Check can_send: a blocked lease is still a 200.

can_sendboolean required

true when nothing blocks the send.

Example response

{
  "blockers": [
    {
      "code": "no_template",
      "message": "Ce type de bail n'est pas encore disponible à la signature électronique."
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.