Créer un contrat saisonnier (draft)
POST
/v1/long-stay-contracts
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","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", "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.
Media type application/json
object
establishmentId
required
string format: uuid
guestProfileId
required
string format: uuid
unitId
string format: uuid
unitType
string
periodStart
required
string format: date
Example
2026-04-01 periodEnd
string format: date
totalAmountCents
required
Montant total en centimes (bigint string, ex: “300000”)
string
currency
required
string
installments
required
Array<object>
object
id
required
string format: uuid
seqNo
required
integer
dueDate
required
string format: date
amountCents
required
Centimes (bigint string)
string
currency
required
string
noticePeriodDays
integer
depositNature
string
terminationPolicy
string
tourismTaxExempt
boolean
tourismTaxExemptBasis
string
previousContractId
string format: uuid
Responses
Section intitulée « Responses »Contrat créé (draft)
Media type application/json
object
data
required
object
contractId
required
string format: uuid
Example generated
{ "data": { "contractId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }}Corps invalide
Media type application/json
object
code
required
Code machine de l’erreur
string
message
required
Message lisible
string
origin
Origine domaine de l’erreur (optionnel)
object
boundedContext
string
module
string
status
required
integer
traceId
required
Identifiant de corrélation pour le support
string
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Non authentifié
Media type application/json
object
code
required
Code machine de l’erreur
string
message
required
Message lisible
string
origin
Origine domaine de l’erreur (optionnel)
object
boundedContext
string
module
string
status
required
integer
traceId
required
Identifiant de corrélation pour le support
string
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Permission refusée
Media type application/json
object
code
required
Code machine de l’erreur
string
message
required
Message lisible
string
origin
Origine domaine de l’erreur (optionnel)
object
boundedContext
string
module
string
status
required
integer
traceId
required
Identifiant de corrélation pour le support
string
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}