Créer un contrat saisonnier (draft)
const url = 'https://example.com/v1/long-stay-contracts';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"establishmentId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","guestProfileId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","unitId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","unitType":"example","periodStart":"2026-04-01","periodEnd":"2026-04-15","totalAmountCents":"example","currency":"EUR","installments":[{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","seqNo":1,"dueDate":"2026-04-15","amountCents":"example","currency":"EUR"}],"noticePeriodDays":30,"depositNature":"arrhes","terminationPolicy":"pro_rata_nuits","nature":"pitch_rental","tourismTaxExempt":false,"tourismTaxExemptBasis":"example","previousContractId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/long-stay-contracts \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "establishmentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "guestProfileId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "unitId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "unitType": "example", "periodStart": "2026-04-01", "periodEnd": "2026-04-15", "totalAmountCents": "example", "currency": "EUR", "installments": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "seqNo": 1, "dueDate": "2026-04-15", "amountCents": "example", "currency": "EUR" } ], "noticePeriodDays": 30, "depositNature": "arrhes", "terminationPolicy": "pro_rata_nuits", "nature": "pitch_rental", "tourismTaxExempt": false, "tourismTaxExemptBasis": "example", "previousContractId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Authorizations
Section intitulée « Authorizations »Request Body required
Section intitulée « Request Body required »Contrat saisonnier. Montants en centimes bigint (integer côté JSON). Installments min 1.
object
Example
2026-04-01Montant total en centimes (bigint string, ex: “300000”)
object
Centimes (bigint string)
Nature du contrat (B5) — pilote la TVA des échéances : emplacement/saisonnier = taux hébergement quelle que soit la durée ; meublé à usage d’habitation = seule nature éligible à l’exonération 261 D 4° CGI (seuil du mandat).
Responses
Section intitulée « Responses »Contrat créé (draft)
object
object
Example generated
{ "data": { "contractId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }}Corps invalide
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Non authentifié
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Permission refusée
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}