Skip to main content

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.

BlocOpérationRetour
Moyen de paiement (SEPA)updateRentalFolderPaymentMethodRentalFolderPaymentMethod
Moyen de paiement (lecture)rentalFolderPaymentMethodRentalFolderPaymentMethod
Destinataire des facturesupdateRentalFolderRecipientRentalFolderRecipient
Garants financiersupdateRentalFolderFinancialGuarantees[RentalFolderFinancialGuarantee!]!
AssurancesupdateRentalFolderRentalInsurances[RentalFolderRentalInsurance!]!
LotsupdateRentalFolderUnitsRentalFolder
Locataires et tiersupdateRentalFolderProfiles[RentalFolderProfile!]!
Allocataires et APLupdateRentalFolderAllocationDetailsRentalFolderAllocationDetails

Hormis updateRentalFolderUnits, ces opérations renvoient uniquement le bloc modifié, et non le dossier complet.

Identifiant du dossier

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
paymentMethodupdateRentalFolderPaymentMethod
recipientupdateRentalFolderRecipient
financialGuaranteesupdateRentalFolderFinancialGuarantees
rentalInsurancesupdateRentalFolderRentalInsurances
unitsupdateRentalFolderUnits
profilesupdateRentalFolderProfiles
allocationDetailsupdateRentalFolderAllocationDetails

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
}
}
}
Response
{
"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
}
}
}
Response
{
"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
}
}
Response
{
"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 id est mise à jour ;
  • une garantie sans id est 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
}
}
Response
{
"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 id est mise à jour ;
  • une assurance sans id est 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
}
}
Response
{
"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
}
}
}
Response
{
"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 id est 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
}
}
Response
{
"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
}
}
Response
{
"data": {
"updateRentalFolderAllocationDetails": {
"sne": "0751021234567890A"
}
}
}

Permission requise : modification du dossier de location.