# Customers

Contact management — details, search, groups, origins, consent, follow-ups, and actions.

 - [POST /customers](https://api-doc.immo-facile.com/openapi/customers/createcustomer.md): Creates a new customer. **Duplicate handling:** - The system checks for duplicates by **email OR phones** (any match on the same site). - Without `check_duplicate`: if a duplicate is found, the existi
 - [POST /customers/search](https://api-doc.immo-facile.com/openapi/customers/searchcustomers.md): Searches customers with cursor-based pagination. Results are ordered by `customers_id` descending (most recent first).
 - [GET /customers/{customerId}](https://api-doc.immo-facile.com/openapi/customers/getcustomer.md): Returns detailed customer information. Use `include` to load additional relations. **Available includes:** `address`, `groups`, `color`, `origin`, `user`, `gender`, `stopSms`, `notary`, `relations`, `
 - [PATCH /customers/{customerId}](https://api-doc.immo-facile.com/openapi/customers/updatecustomer.md): Partially updates a customer. Only provided fields are modified.
 - [POST /customers/{customerId}/consent](https://api-doc.immo-facile.com/openapi/customers/upsertcustomerconsent.md): Creates or updates the cold-calling consent (consentement anti-démarchage) for a customer. **Behavior:** - One consent record per customer (upsert). - If the customer previously had their consent revo
 - [DELETE /customers/{customerId}/consent](https://api-doc.immo-facile.com/openapi/customers/revokecustomerconsent.md): Revokes the cold-calling consent for a customer. **Behavior:** - Sets a revocation date on the consent record. - If no consent exists, the operation still returns 204.
 - [POST /customers/{customerId}/search-requests](https://api-doc.immo-facile.com/openapi/customers/createsearchrequest.md): Creates a search request for a customer with criteria. Search requests define what a buyer/tenant is looking for. When active, the system runs automatic matching against new property listings.
 - [PATCH /customers/{customerId}/search-requests/{searchRequestId}](https://api-doc.immo-facile.com/openapi/customers/updatesearchrequest.md): Partially updates a search request for a customer. Only provided fields are modified. Criteria are replaced entirely when provided (not merged with existing ones).
 - [GET /customers/{customerId}/follow-ups](https://api-doc.immo-facile.com/openapi/customers/listcustomerfollowups.md): Returns paginated follow-ups (rapprochements) for a customer. A follow-up links a customer to a product they are interested in, tracking the progression of the relationship.
 - [POST /customers/{customerId}/follow-ups/{productId}](https://api-doc.immo-facile.com/openapi/customers/createcustomerfollowup.md): Creates a follow-up linking a customer to a product. Returns 409 if the follow-up already exists (customer already follows this product).
 - [PATCH /customers/{customerId}/follow-ups/{productId}](https://api-doc.immo-facile.com/openapi/customers/updatecustomerfollowup.md): Updates a follow-up (e.g. rating).
 - [DELETE /customers/{customerId}/follow-ups/{productId}](https://api-doc.immo-facile.com/openapi/customers/deletecustomerfollowup.md): Removes a follow-up between a customer and a product.
 - [GET /customers/{customerId}/actions](https://api-doc.immo-facile.com/openapi/customers/listcustomeractions.md): Returns paginated action history for a customer. Actions are commercial activities logged on a customer (calls, visits, emails, etc.). Uses offset-based pagination with `cursor` parameter.
 - [POST /customers/{customerId}/actions](https://api-doc.immo-facile.com/openapi/customers/createcustomeraction.md): Logs a new commercial action on a customer record. **Important:** The action is always recorded in the application journal. However, it will only appear in the customer's action history tab if the act
 - [GET /customers/groups](https://api-doc.immo-facile.com/openapi/customers/listcustomergroups.md): Returns all available customer groups for the site. Groups categorize customers (e.g. "Demandeur", "Propriétaire", "Locataire"). Use group IDs when creating customers or leads.
 - [GET /customers/origins](https://api-doc.immo-facile.com/openapi/customers/listcustomerorigins.md): Returns all available customer origins for the site. Origins track how a customer entered the system (e.g. "Site internet", "Portail", "Recommandation"). Use origin IDs when creating customers or lea
 - [GET /actions/types](https://api-doc.immo-facile.com/openapi/customers/listactiontypes.md): Returns the action types configured for the site. Action types are used when logging an action on a customer or a product (`POST /customers/{id}/actions`, `POST /products/{id}/actions`). Use the retur
