Passerelle Amenitiz
Version 1.0.0 — API de lecture, protégée par clé, au-dessus de l’API interne du PMS.
Prise en main
Toute requête porte la clé, au choix dans X-API-Key ou dans Authorization: Bearer :
curl -H "X-API-Key: $CLE" "https://amenitiz.endurance.tools/v1/day"
Les réponses sont enveloppées. data porte la donnée, meta dit d’où elle sort :
{
"data": { … },
"meta": {
"route": "/v1/day",
"cache": "succès", // succès | partiel | absent | périmé
"age_ms": 12043, // âge de la donnée servie
"upstream": ["/fr/api/v2/property/rooms", …],
"upstream_budget_remaining": 287
}
}
?raw=1 retire l’enveloppe. ?fresh=1 ignore le cache — à réserver aux vrais besoins :
chaque appel non caché est une requête de plus chez Amenitiz, et le budget horaire est partagé.
Le cache est mémorisé par URL amont : 10 min pour le référentiel et les séries de performance,
1 min pour tout ce qui bouge. Si Amenitiz devient injoignable, une réponse périmée de moins de 15 min est servie
avec meta.cache = "périmé" et un meta.warning — plutôt qu’une erreur.
Référentiel
GET /v1/rooms
Les chambres physiques, avec leur numéro, leur nom et leur état de ménage.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
sort | texte | asc |
Tri par numéro de chambre. Admises : asc, desc |
Source amont : GET /fr/api/v2/property/rooms
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/rooms"
GET /v1/room-categories
Les catégories de chambre et leur tarif par défaut.
Aucun paramètre.
Source amont : GET /fr/api/v2/property/room_categories
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/room-categories"
Planning
GET /v1/reservations
Les réservations chevauchant la fenêtre demandée, chambre par chambre.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
start_date | date | obligatoire | Premier jour de la fenêtre (inclus). |
end_date | date | obligatoire | Dernier jour de la fenêtre (exclu pour les nuitées). |
booking_statuses | liste | calculé | Statuts retenus. Défaut = les quatre statuts « vivants ». Ajouter `cancelled` fait remonter les annulations. Admises : confirmed, modified, quote_confirmed, quote_pending, cancelled, no_show |
unallocated | booleen | false |
true = uniquement les réservations SANS chambre attribuée (anomalie à surveiller). |
room_category_ids | liste | — | Identifiants de catégorie, séparés par des virgules. Omis = toutes. Volontairement optionnel : une catégorie créée plus tard serait absente d’une liste figée. |
Source amont : GET /fr/api/v2/reservations/rooms
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/reservations?start_date=2026-09-01&end_date=2026-09-01"
GET /v1/blocks
Les blocages manuels du calendrier : fermetures, travaux, et séjours saisis à la main.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
start_date | date | obligatoire | Premier jour de la fenêtre (inclus). |
end_date | date | obligatoire | Dernier jour de la fenêtre (exclu pour les nuitées). |
statuses | liste | calculé | Types de blocage retenus. Admises : ooi, ooo, pre_booked |
room_category_ids | liste | — | Identifiants de catégorie, séparés par des virgules. Omis = toutes. Volontairement optionnel : une catégorie créée plus tard serait absente d’une liste figée. |
Source amont : GET /fr/api/v2/calendar/rooms
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/blocks?start_date=2026-09-01&end_date=2026-09-01"
GET /v1/pricing
Les prix posés par catégorie et par date, pour un plan tarifaire.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
start_date | date | obligatoire | Premier jour de la fenêtre (inclus). |
end_date | date | obligatoire | Dernier jour de la fenêtre (exclu pour les nuitées). |
rate_plan | texte | default |
Plan tarifaire. Seul « default » (Standard) est confirmé sur cette propriété. |
Source amont : GET /fr/api/v2/pricing/rate_plans/{plan}/pricing_calendars
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/pricing?start_date=2026-09-01&end_date=2026-09-01"
GET /v1/day
Vue consolidée d’une nuit : qui occupe quelle chambre, réservations ET blocages réunis.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
date | date | calculé | Jour observé (défaut : aujourd’hui, fuseau Europe/Paris). |
history_days | entier | 180 |
Profondeur de rattrapage des séjours commencés avant la date. 180 j couvre les blocages à l’année. |
Source amont : GET /fr/api/v2/property/rooms, GET /fr/api/v2/property/room_categories, GET /fr/api/v2/reservations/rooms, GET /fr/api/v2/calendar/rooms
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/day"
Opérations
GET /v1/dashboard
Les indicateurs du jour : occupation, chiffre d’affaires, ADR, RevPAR, pickup.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
date | date | calculé | Jour observé (défaut : aujourd’hui, fuseau Europe/Paris). |
Source amont : GET /fr/api/v1/dashboards/hero, GET /fr/api/v1/dashboards/todays_work_counts
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/dashboard"
GET /v1/arrivals
Les arrivées du jour, prêtes à afficher : chambre, effectif, paiement, état de propreté.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
date | date | calculé | Jour observé (défaut : aujourd’hui, fuseau Europe/Paris). |
Source amont : GET /fr/api/v1/dashboards/arrivals
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/arrivals"
GET /v1/housekeeping
L’état d’entretien chambre par chambre : recouche, départ, arrivée, effectif, affectation.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
date | date | calculé | Jour observé (défaut : aujourd’hui, fuseau Europe/Paris). |
sort_by | texte | number |
Critère de tri. Admises : number, status, name |
sort_direction | texte | asc |
Sens du tri. Admises : asc, desc |
Source amont : GET /fr/api/v1/housekeeping/individual_rooms.json
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/housekeeping"
GET /v1/housekeeping/board
Le tableau d’entretien tel que l’affiche le tableau de bord : recouches, remises à blanc, chambres prêtes.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
date | date | calculé | Jour observé (défaut : aujourd’hui, fuseau Europe/Paris). |
Source amont : GET /fr/api/v1/dashboards/operations/housekeeping
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/housekeeping/board"
GET /v1/housekeeping/staff
Le personnel d’entretien déclaré.
Aucun paramètre.
Source amont : GET /fr/api/v1/housekeeping/staff
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/housekeeping/staff"
GET /v1/payments/summary
Le bandeau AmenitizPay : prochain versement, encaissements du jour, paiements en échec.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
date | date | calculé | Jour observé (défaut : aujourd’hui, fuseau Europe/Paris). |
Source amont : GET /fr/api/v1/dashboards/apay_strip
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/payments/summary"
Performance
GET /v1/performance/{metric}
Séries temporelles : occupation, ADR, RevPAR, chiffre d’affaires, délai de réservation, durée de séjour.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
metricchemin | texte | — | Valeurs : occupancy, adr, revenue, revpar, lead_time, length_of_stay |
start_date | date | obligatoire | Premier jour de la fenêtre (inclus). |
end_date | date | obligatoire | Dernier jour de la fenêtre (exclu pour les nuitées). |
room_category_ids | liste | — | Identifiants de catégorie, séparés par des virgules. Omis = toutes. Volontairement optionnel : une catégorie créée plus tard serait absente d’une liste figée. |
granularity | texte | daily |
⚠️ SANS EFFET, accepté par fidélité à l’amont. La série est toujours quotidienne — agréger côté appelant. Admises : daily, weekly, monthly |
Source amont : GET /fr/api/v1/performance/{metric}_report.json
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/performance/occupancy?start_date=2026-09-01&end_date=2026-09-01"
Client et dossier
GET /v1/bookings/{booking_id}
Le dossier complet d’une réservation : coordonnées du client, montants au centime, détail par chambre.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
booking_idchemin | texte | — | Valeurs : |
Source amont : GET /fr/api/v1/bookings/{id}
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/bookings/20339194"
GET /v1/clients
Une liste de clients avec e-mail, téléphone, ville et pays.
Aucun paramètre.
Source amont : GET /fr/api/v1/clients
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/clients"
Facturation
GET /v1/bills
Les notes émises, paginées (10 par page).
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
page | entier | 1 |
Numéro de page. |
Source amont : GET /fr/api/v1/bills
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/bills"
Contexte tarifaire
GET /v1/price-advisor/policies
Ce à quoi la propriété a droit côté conseil tarifaire, et sur quel horizon.
Aucun paramètre.
Source amont : GET /fr/api/v1/price_advisor/policies.json
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/price-advisor/policies"
GET /v1/events
Les événements et jours fériés susceptibles de peser sur la demande.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
start_date | date | obligatoire | Premier jour de la fenêtre (inclus). |
end_date | date | obligatoire | Dernier jour de la fenêtre (exclu pour les nuitées). |
Source amont : GET /fr/api/v1/price_advisor/events.json
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/events?start_date=2026-09-01&end_date=2026-09-01"
GET /v1/settings
Réglages d’affichage du calendrier et régions de jours fériés — utile pour interpréter les couleurs et statuts.
Aucun paramètre.
Source amont : GET /fr/api/v1/calendar/settings.json, GET /fr/api/v1/holidays/settings.json
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/settings"
Messagerie
GET /v1/conversations
Les conversations voyageurs, et celles qui restent non lues.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
unread_only | booleen | false |
true = ne renvoyer que les non lues. |
Source amont : GET /api/v1/messenger/conversations, GET /api/v1/messenger/unread_conversations
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/conversations"
Grille
GET /v1/grid
Disponibilité, prix et chambres déjà réservées pour une date — la seule source de la DISPONIBILITÉ.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
date | date | calculé | Jour observé (défaut : aujourd’hui, fuseau Europe/Paris). |
Source amont : DOM /fr/admin/planning
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/grid"
Passe-plat
GET /v1/raw/{chemin_amont}
Relaie tel quel n’importe quel GET de l’API interne. Le chemin doit commencer par
fr/api/v1, fr/api/v2 ou api/v1. La chaîne de requête est transmise
intégralement, paramètres répétés compris. La réponse est le corps amont, sans enveloppe.
curl -H "X-API-Key: $CLE" \ "https://amenitiz.endurance.tools/v1/raw/fr/api/v2/reservations/rooms?start_date=2026-09-01&end_date=2026-09-02&booking_statuses[]=confirmed"
Erreurs
{ "error": { "code": "SESSION_EXPIREE", "message": "…", "details": { … } } }
| Code | HTTP | Ce qu’il faut faire |
|---|---|---|
PARAMETRE_INVALIDE | 400 | Le message nomme le paramètre et les valeurs admises. |
CLE_MANQUANTE / CLE_INVALIDE | 401 | Vérifier l’en-tête. |
ROUTE_INCONNUE | 404 | Voir le sommaire ci-contre. |
TROP_DE_REQUETES | 429 | Ralentir ; Retry-After indique le délai. |
SESSION_EXPIREE | 503 | Le cookie Amenitiz est mort : refaire l’onboarding navigateur sur le serveur. |
BLOQUE_PAR_CLOUDFLARE | 503 | Ne PAS réessayer en boucle. Prévenir l’administrateur. |
BUDGET_AMONT_EPUISE | 503 | Trop d’appels non cachés dans l’heure. Attendre. |
AMONT_EN_ERREUR / REPONSE_NON_JSON | 502 | Amenitiz a changé, ou est en panne. |