---
title: "Create a lease notice"
method: POST
path: "/leases/{lease_id}/notices"
tags: ["Lease Notices"]
---

# Create a lease notice

`POST /leases/{lease_id}/notices`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/leases/{lease_id}/notices`
- Auth: HTTP bearer

Create a lease notice (congé) for a lease: landlord or tenant side.

**French law context (art. 15 loi 89-462, loi ALUR):**
A notice terminates or non-renews the lease. The system automatically computes:
- `notice_period_months` based on type/reason/lease type
- `effective_date` = notice_date + period (last day of month)
- `tenant_preemption_expires_at` for sale notices (2 months)

Created with `DRAFT` status. Use `POST /leases/{lease_id}/notices/{notice_id}/generate-letter` → `PUT /leases/{lease_id}/notices/{notice_id}/send` → `PUT /leases/{lease_id}/notices/{notice_id}/receive` workflow.

**Permissions required:** `leases:write`

## Path parameters

- `lease_id` string, uuid, required

## Request body

- object
  - `notice_type` 'LANDLORD_NOTICE' | 'TENANT_NOTICE', required
  - `notice_reason` 'SALE' | 'PERSONAL_USE' | 'LEGITIMATE_SERIOUS' | 'TENANT_STANDARD' | 'TENSE_ZONE' | 'FIRST_EMPLOYMENT' | 'PROFESSIONAL_TRANSFER' | 'JOB_LOSS' | 'NEW_JOB_AFTER_JOB_LOSS' | 'RSA_BENEFICIARY' | 'AAH_BENEFICIARY' | 'HEALTH_CONDITION' | 'DOMESTIC_VIOLENCE' | 'SOCIAL_HOUSING_ATTRIBUTION' | 'MUTUAL_AGREEMENT', required
  - `initiated_by` string, uuid, required: Person ID (owner or lessee) who initiates the notice
  - `notice_date` string, date, required
  - `delivery_method` 'LRAR' | 'HUISSIER' | 'HAND_DELIVERY' | 'ELECTRONIC_LRAR', nullable
  - `sale_price` number, nullable: Sale price (landlord sale notice only)
  - `sale_conditions` string, nullable
  - `beneficiary_name` string, nullable: Name of the person for personal use (landlord reprise only)
  - `beneficiary_address` string, nullable
  - `beneficiary_relationship` 'SELF' | 'SPOUSE' | 'PACS_PARTNER' | 'COHABITANT' | 'ASCENDANT' | 'DESCENDANT', nullable
  - `reprise_justification` string, nullable
  - `legitimate_reason_detail` string, nullable
  - `reduced_notice_justification` string, nullable: Justification for reduced notice period (tenant only)
  - `notes` string, nullable

## Response `201`

Notice created

- LeaseNoticeResponse
  - `id` string, uuid
  - `lease_id` string, uuid
  - `notice_type` 'LANDLORD_NOTICE' | 'TENANT_NOTICE'
  - `notice_reason` 'SALE' | 'PERSONAL_USE' | 'LEGITIMATE_SERIOUS' | 'TENANT_STANDARD' | 'TENSE_ZONE' | 'FIRST_EMPLOYMENT' | 'PROFESSIONAL_TRANSFER' | 'JOB_LOSS' | 'NEW_JOB_AFTER_JOB_LOSS' | 'RSA_BENEFICIARY' | 'AAH_BENEFICIARY' | 'HEALTH_CONDITION' | 'DOMESTIC_VIOLENCE' | 'SOCIAL_HOUSING_ATTRIBUTION' | 'MUTUAL_AGREEMENT'
  - `initiated_by` string, uuid
  - `notice_date` string, date
  - `reception_date` string, date, nullable
  - `effective_date` string, date
  - `notice_period_months` integer
  - `delivery_method` 'LRAR' | 'HUISSIER' | 'HAND_DELIVERY' | 'ELECTRONIC_LRAR', nullable
  - `tracking_number` string, nullable
  - `status` 'DRAFT' | 'SENT' | 'RECEIVED' | 'ACKNOWLEDGED' | 'CONTESTED' | 'EFFECTIVE' | 'CANCELLED'
  - `document_url` string, nullable
  - `signed_document_url` string, nullable
  - `sale_price` number, nullable
  - `sale_conditions` string, nullable
  - `beneficiary_name` string, nullable
  - `beneficiary_address` string, nullable
  - `beneficiary_relationship` 'SELF' | 'SPOUSE' | 'PACS_PARTNER' | 'COHABITANT' | 'ASCENDANT' | 'DESCENDANT', nullable
  - `reprise_justification` string, nullable
  - `legitimate_reason_detail` string, nullable
  - `tenant_preemption_expires_at` string, date, nullable
  - `tenant_preemption_response` 'ACCEPTED' | 'DECLINED' | 'EXPIRED', nullable
  - `reduced_notice_justification` string, nullable
  - `justification_document_url` string, nullable
  - `tenant_age_at_notice` integer, nullable
  - `tenant_income_eligible` boolean, nullable
  - `landlord_age_exemption` boolean, nullable
  - `rehousing_offer` string, nullable
  - `contestation_reason` string, nullable
  - `notes` string, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/faireplace/apis/faireplace-property-management-api.md) · [All operations](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/revisions/69de39762919?raw)
