Mettre à jour un dossier de location
La mutation updateRentalFolder est progressivement découpée en opérations dédiées, une par bloc métier du dossier de location.
Chaque opération ne modifie que son bloc : elle ne peut ni écraser ni réinitialiser les autres informations du dossier.
| Bloc | Opération | Retour |
|---|---|---|
| Moyen de paiement (SEPA) | updateRentalFolderPaymentMethod | RentalFolderPaymentMethod |
| Moyen de paiement (lecture) | rentalFolderPaymentMethod | RentalFolderPaymentMethod |
| Destinataire des factures | updateRentalFolderRecipient | RentalFolderRecipient |
| Garants financiers | updateRentalFolderFinancialGuarantees | [RentalFolderFinancialGuarantee!]! |
| Assurances | updateRentalFolderRentalInsurances | [RentalFolderRentalInsurance!]! |
| Lots | updateRentalFolderUnits | RentalFolder |
| Locataires et tiers | updateRentalFolderProfiles | [RentalFolderProfile!]! |
| Allocataires et APL | updateRentalFolderAllocationDetails | RentalFolderAllocationDetails |
Hormis updateRentalFolderUnits, ces opérations renvoient uniquement le bloc modifié, et non le dossier complet.
updateRentalFolderUnits, updateRentalFolderProfiles et la query rentalFolderPaymentMethod identifient le dossier par l'argument id.
Les autres mutations utilisent l'argument rentalFolderId.
Permission requise
Les mutations nécessitent le droit de modification sur le dossier de location, et la query le droit de lecture. Ce droit est accordé :
- aux administrateurs ;
- aux collaborateurs rattachés à la société mère ;
- aux collaborateurs rattachés à l'une des Business Units du dossier.
Sans ce droit, l'appel renvoie une erreur unauthorized (voir Points clés de l'API).
Champs dépréciés de updateRentalFolder
Les champs suivants de RentalFolderInput sont dépréciés à partir de la prochaine mise en production.
| Champ déprécié | Opération de remplacement |
|---|---|
paymentMethod | updateRentalFolderPaymentMethod |
recipient | updateRentalFolderRecipient |
financialGuarantees | updateRentalFolderFinancialGuarantees |
rentalInsurances | updateRentalFolderRentalInsurances |
units | updateRentalFolderUnits |
profiles | updateRentalFolderProfiles |
allocationDetails | updateRentalFolderAllocationDetails |
Moyen de paiement (SEPA)
updateRentalFolderPaymentMethod crée ou met à jour le prélèvement SEPA du dossier : mandat, compte bancaire et paramètres de prélèvement.
mutation UpdateRentalFolderPaymentMethod($rentalFolderId: UUID!, $paymentMethod: RentalFolderPaymentMethodInput!) {
updateRentalFolderPaymentMethod(rentalFolderId: $rentalFolderId, paymentMethod: $paymentMethod) {
type
mandateId
mandateSignatureDate
debitDateOffset
isDirectDebitEnabled
account {
iban
bic
accountHolderName
}
}
}
{
"data": {
"updateRentalFolderPaymentMethod": {
"type": "direct_debit",
"mandateId": "RUM-2026-0001",
"mandateSignatureDate": "2026-09-01",
"debitDateOffset": 3,
"isDirectDebitEnabled": true,
"account": {
"iban": "FR7630006000011234567890189",
"bic": "AGRIFRPP",
"accountHolderName": "Jean Dupont"
}
}
}
}
Permission requise : modification du dossier de location.
Lire le moyen de paiement
rentalFolderPaymentMethod renvoie le moyen de paiement du dossier, ou null si aucun n'est configuré.
query RentalFolderPaymentMethod($id: UUID!) {
rentalFolderPaymentMethod(id: $id) {
type
mandateId
mandateSignatureDate
debitDateOffset
isDirectDebitEnabled
account {
iban
accountHolderName
}
}
}
{
"data": {
"rentalFolderPaymentMethod": {
"type": "direct_debit",
"mandateId": "RUM-2026-0001",
"mandateSignatureDate": "2026-09-01",
"debitDateOffset": 3,
"isDirectDebitEnabled": true,
"account": {
"iban": "FR7630006000011234567890189",
"accountHolderName": "Jean Dupont"
}
}
}
}
Permission requise : lecture du dossier de location.
Destinataire des factures
updateRentalFolderRecipient met à jour le nom et l'adresse du destinataire des factures.
Les champs omis restent inchangés.
L'adresse (addressId) doit être choisie parmi celles renvoyées par rentalFolderAddressOptions.
Un nom saisi via cette mutation n'est jamais recalculé automatiquement.
mutation UpdateRentalFolderRecipient($rentalFolderId: UUID!, $recipient: RentalFolderRecipientScopedInput!) {
updateRentalFolderRecipient(rentalFolderId: $rentalFolderId, recipient: $recipient) {
id
name
addressId
}
}
{
"data": {
"updateRentalFolderRecipient": {
"id": "348afa2b-b9a1-46a9-95ad-bb1d9275ba76",
"name": "M. et Mme Dupont",
"addressId": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}
}
}
Permission requise : modification du dossier de location.
Garants financiers
updateRentalFolderFinancialGuarantees remplace la liste des garanties financières du dossier.
La liste envoyée représente l'ensemble des garanties :
- une garantie avec un
idest mise à jour ; - une garantie sans
idest créée ; - une garantie absente de la liste est supprimée. Une garantie désignée comme destinataire des factures ne peut pas être supprimée.
mutation UpdateRentalFolderFinancialGuarantees($rentalFolderId: UUID!, $financialGuarantees: [RentalFolderFinancialGuaranteeInput!]!) {
updateRentalFolderFinancialGuarantees(rentalFolderId: $rentalFolderId, financialGuarantees: $financialGuarantees) {
id
type
startDate
endDate
guaranteeAmount
guarantorPersonalProfileId
isArchived
}
}
{
"data": {
"updateRentalFolderFinancialGuarantees": [
{
"id": "348afa2b-b9a1-46a9-95ad-bb1d9275ba76",
"type": "solidarity",
"startDate": "2026-10-01",
"endDate": "2029-09-30",
"guaranteeAmount": 250000,
"guarantorPersonalProfileId": "9b2f1c4e-3d5a-4e6b-8c7d-1a2b3c4d5e6f",
"isArchived": false
}
]
}
}
Permission requise : modification du dossier de location.
Assurances
updateRentalFolderRentalInsurances remplace la liste des assurances habitation du dossier.
La liste envoyée représente l'ensemble des assurances :
- une assurance avec un
idest mise à jour ; - une assurance sans
idest créée ; - une assurance absente de la liste est supprimée. Une liste vide supprime toutes les assurances.
mutation UpdateRentalFolderRentalInsurances($rentalFolderId: UUID!, $rentalInsurances: [RentalFolderRentalInsuranceInput!]!) {
updateRentalFolderRentalInsurances(rentalFolderId: $rentalFolderId, rentalInsurances: $rentalInsurances) {
id
insurerName
policyNumber
startDate
endDate
isAutoRenewal
insuranceState
}
}
{
"data": {
"updateRentalFolderRentalInsurances": [
{
"id": "348afa2b-b9a1-46a9-95ad-bb1d9275ba76",
"insurerName": "Assureur Exemple",
"policyNumber": "34565677",
"startDate": "2026-01-01",
"endDate": "2026-12-31",
"isAutoRenewal": true,
"insuranceState": "valid"
}
]
}
}
Permission requise : modification du dossier de location.
Lots
updateRentalFolderUnits remplace la liste des lots rattachés au dossier.
- L'ordre de la liste est conservé : le premier lot est le lot principal, et il est obligatoire.
- Un lot absent de la liste est détaché du dossier, sauf s'il est désigné comme destinataire des factures ou utilisé par un élément de loyer.
mutation UpdateRentalFolderUnits($id: UUID!, $units: [RentalFolderUnitInput]!) {
updateRentalFolderUnits(id: $id, units: $units) {
id
units {
unitId
order
comment
}
}
}
{
"data": {
"updateRentalFolderUnits": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"units": [
{
"unitId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"order": 0,
"comment": null
},
{
"unitId": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"order": 1,
"comment": "Parking"
}
]
}
}
}
Permission requise : modification du dossier de location.
Locataires et tiers
updateRentalFolderProfiles remplace la liste des profils rattachés au dossier (signataires, garants, occupants).
La liste envoyée représente l'ensemble des profils :
- un profil avec un
id(identifiant du rattachement, pas du profil physique ou moral) est mis à jour ; - un profil sans
idest ajouté ; - un profil absent de la liste est retiré du dossier.
Lorsque la composition des profils change, le nom du destinataire des factures est recalculé, sauf s'il a été saisi manuellement.
mutation UpdateRentalFolderProfiles($id: UUID!, $profiles: [RentalFolderProfileInput!]!) {
updateRentalFolderProfiles(id: $id, profiles: $profiles) {
id
personalProfileId
moralProfileId
associationType
order
}
}
{
"data": {
"updateRentalFolderProfiles": [
{
"id": "c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f",
"personalProfileId": "1f2e3d4c-5b6a-4978-8a9b-0c1d2e3f4a5b",
"moralProfileId": null,
"associationType": "signatory",
"order": 0
},
{
"id": "348afa2b-b9a1-46a9-95ad-bb1d9275ba76",
"personalProfileId": "2a3b4c5d-6e7f-4a8b-9c0d-1e2f3a4b5c6d",
"moralProfileId": null,
"associationType": "cohabitant",
"order": 1
}
]
}
}
Permission requise : modification du dossier de location.
Allocataires et APL
updateRentalFolderAllocationDetails met à jour les informations d'allocation du dossier (numéro d'enregistrement sne).
mutation UpdateRentalFolderAllocationDetails($rentalFolderId: UUID!, $allocationDetails: RentalFolderAllocationDetailsInput!) {
updateRentalFolderAllocationDetails(rentalFolderId: $rentalFolderId, allocationDetails: $allocationDetails) {
sne
}
}
{
"data": {
"updateRentalFolderAllocationDetails": {
"sne": "0751021234567890A"
}
}
}
Permission requise : modification du dossier de location.