# Documents & PDFs

Generate, download, and manage lease documents. FairePlace uses Typst to render lease PDFs that comply with French rental law formatting requirements.

## Generate a lease PDF

```bash
curl -X POST https://api.faireplace.com/api/leases/{lease_id}/pdf \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template_id": "<template_uuid>",
    "template_type": "LeaseContract",
    "data": {}
  }'
```

```json
{
  "id": "pdf-6f789012-abcd-ef12-3456-7890abcdef34",
  "lease_id": "550e8400-e29b-41d4-a716-446655440000",
  "template_id": "550e8400-e29b-41d4-a716-446655440002",
  "template_type": "LeaseContract",
  "file_path": "/generated/lease-contract-2026.pdf",
  "file_size": 245000,
  "creation_timestamp": "2026-02-20T10:00:00Z"
}
```

## Template types

| Template | Description |
|----------|-------------|
| `LeaseContract` | Lease agreement (bail d'habitation, bail meuble, bail commercial) |
| `Amendment` | Lease amendment (avenant) |
| `InventoryReport` | Entry/exit inventory report (etat des lieux) |
| `RentReceipt` | Rent receipt (quittance de loyer) |
| `NoticeToVacate` | Notice to vacate (conge) |
| `OtherDocument` | Other document |

## What's included in the PDF

The generated document includes all legally required sections:

1. **Parties** — Owner and tenant identification
2. **Property description** — Address, type, area, rooms, equipment
3. **Lease terms** — Duration, rent, charges, deposit, payment terms
4. **Rent regulation** — Reference rent, rent cap information (if applicable)
5. **Special conditions** — Custom clauses
6. **Annexes** — Energy diagnosis, lead assessment, asbestos report references
7. **Signature pages** — Blank signature areas for each signer

## Download a PDF

```bash
curl https://api.faireplace.com/api/leases/pdf/{pdf_id} \
  -H "Authorization: Bearer $API_KEY" \
  -o lease-document.pdf
```

## List documents for a lease

```bash
curl https://api.faireplace.com/api/leases/{lease_id}/documents \
  -H "Authorization: Bearer $API_KEY"
```

```json
[
  {
    "id": "doc-aabb1122-3344-5566-7788-99aabbccddee",
    "lease_id": "550e8400-e29b-41d4-a716-446655440000",
    "document_type": "lease_pdf",
    "file_path": "/documents/leases/2026/BAIL-2026-001.pdf",
    "description": "Generated lease contract",
    "created_at": "2026-02-20T10:00:00Z",
    "updated_at": "2026-02-20T10:00:00Z"
  },
  {
    "id": "doc-ccdd3344-5566-7788-99aa-bbccddeeff00",
    "lease_id": "550e8400-e29b-41d4-a716-446655440000",
    "document_type": "signed_pdf",
    "file_path": "/documents/leases/2026/BAIL-2026-001-signed.pdf",
    "description": "Signed lease contract",
    "created_at": "2026-02-20T16:45:00Z",
    "updated_at": "2026-02-20T16:45:00Z"
  }
]
```

## Attach documents

Upload supplementary documents to a lease (energy diagnosis, insurance, etc.):

```bash
curl -X POST https://api.faireplace.com/api/leases/{lease_id}/documents \
  -H "Authorization: Bearer $API_KEY" \
  -F "file=@diagnostic-energetique.pdf" \
  -F "type=energy_diagnosis" \
  -F "name=DPE 2026"
```

## Document types

| Type | Description |
|------|-------------|
| `lease_pdf` | Generated lease document |
| `signed_pdf` | Signed lease document (after e-signature) |
| `energy_diagnosis` | Energy performance diagnosis (DPE) |
| `lead_assessment` | Lead risk assessment (CREP) |
| `asbestos_report` | Asbestos technical diagnosis |
| `natural_risks` | Natural and technological risks statement (ERNMT) |
| `insurance` | Tenant or owner insurance certificate |
| `inventory` | Entry/exit inventory (etat des lieux) |
| `amendment` | Lease amendment (avenant) |
| `other` | Other document |

## Re-generate a PDF

If the lease data changes (charges added, tenant updated), generate a new PDF. The previous version remains accessible.

```bash
# Generate a new version
curl -X POST https://api.faireplace.com/api/leases/{lease_id}/pdf \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"template_id": "<template_uuid>", "template_type": "LeaseContract", "data": {}}'
```

> **Note:** Once a signature is initiated on a PDF, that PDF version is locked. Any changes require generating a new PDF and starting a new signature process.

## Storage

Documents are stored securely with:
- AES-256 encryption at rest
- Tenant-scoped access (multi-tenant isolation)
- Automatic retention per French legal requirements

---

## Related

- **[Lease Overview](/leases/overview)** — Lease lifecycle
- **[Electronic Signatures](/signatures/overview)** — Sign the generated PDF
- **[Leases API](/leases/leases)** — Full endpoint reference
- **[Media API](/core/media)** — General file management
