API Lokatix v1
API REST publique pour vos intégrations externes. Tous les endpoints sont limités au compte authentifié et renvoient du JSON.
URL de base
https://www.lokatix.comAuthentification
Chaque requête doit inclure votre clé API. Transmettez-la via l'en-tête x-api-key ou en tant que jeton Bearer dans l'en-tête Authorization.
curl https://www.lokatix.com/api/v1/properties \ -H "x-api-key: YOUR_API_KEY"
curl https://www.lokatix.com/api/v1/properties \ -H "Authorization: Bearer YOUR_API_KEY"
Format des réponses
Toutes les réponses sont au format JSON. Les endpoints de liste renvoient une enveloppe paginée :
{
"data": [...], // tableau d'enregistrements
"total": 120, // nombre total d'enregistrements correspondants
"limit": 50, // taille de page utilisée
"offset": 0 // début de page utilisé
}Les endpoints de création (POST) renvoient { "data": { ... } } avec un statut HTTP 201 en cas de succès. Les erreurs renvoient { "error": "message" } avec le code HTTP approprié.
| Code HTTP | Signification |
|---|---|
200 | OK — la requête de liste a réussi |
201 | Créé — ressource créée avec succès |
400 | Requête invalide — erreur de validation ou JSON malformé |
401 | Non autorisé — clé API manquante ou invalide |
500 | Erreur serveur — erreur interne inattendue |
Endpoints
| Méthode | URL | Description |
|---|---|---|
| GET | /api/v1/properties | Liste tous les biens du compte authentifié. |
| POST | /api/v1/properties | Crée un nouveau bien. |
| GET | /api/v1/tenants | Liste tous les locataires du compte authentifié. |
| POST | /api/v1/tenants | Crée un nouveau locataire. |
| GET | /api/v1/leases | Liste tous les baux du compte authentifié. |
| POST | /api/v1/leases | Crée un nouveau bail. |
| GET | /api/v1/payments | Liste tous les paiements du compte authentifié. |
| POST | /api/v1/payments | Crée un nouveau paiement. |
Référence des endpoints
/api/v1/propertiesListe tous les biens du compte authentifié.
| Nom | Type | Description |
|---|---|---|
status | string | Filtrer par statut : available | rented | maintenance | archived |
type | string | Filtrer par type : apartment | house | studio | parking | garage | commercial | office | other |
limit | number | Nombre de résultats à retourner (défaut : 50, max : 200) |
offset | number | Nombre de résultats à ignorer pour la pagination (défaut : 0) |
curl "https://www.lokatix.com/api/v1/properties?status=active&limit=10" \ -H "x-api-key: YOUR_API_KEY"
/api/v1/propertiesCrée un nouveau bien.
Corps JSON avec les champs du bien. Requis : name, type, address, postal_code, city, rent_amount.
curl -X POST "https://www.lokatix.com/api/v1/properties" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Appartement Centre-ville",
"type": "apartment",
"address": "12 rue de la Paix",
"postal_code": "75001",
"city": "Paris",
"rent_amount": 1200
}'/api/v1/tenantsListe tous les locataires du compte authentifié.
| Nom | Type | Description |
|---|---|---|
status | string | Filtrer par statut : active | pending | archived |
limit | number | Nombre de résultats à retourner (défaut : 50, max : 200) |
offset | number | Nombre de résultats à ignorer pour la pagination (défaut : 0) |
curl "https://www.lokatix.com/api/v1/tenants?status=active&limit=10" \ -H "x-api-key: YOUR_API_KEY"
/api/v1/tenantsCrée un nouveau locataire.
Corps JSON avec les champs du locataire. Requis : first_name, last_name, email.
curl -X POST "https://www.lokatix.com/api/v1/tenants" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"first_name": "Marie",
"last_name": "Dupont",
"email": "marie.dupont@example.com",
"phone": "+33 6 12 34 56 78"
}'/api/v1/leasesListe tous les baux du compte authentifié.
| Nom | Type | Description |
|---|---|---|
status | string | Filtrer par statut : draft | pending_signature | active | terminated | archived |
limit | number | Nombre de résultats à retourner (défaut : 50, max : 200) |
offset | number | Nombre de résultats à ignorer pour la pagination (défaut : 0) |
curl "https://www.lokatix.com/api/v1/leases?status=active&limit=10" \ -H "x-api-key: YOUR_API_KEY"
/api/v1/leasesCrée un nouveau bail.
Corps JSON avec les champs du bail. Requis : property_id, tenant_id, lease_type, start_date, rent_amount.
curl -X POST "https://www.lokatix.com/api/v1/leases" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"property_id": "uuid-of-property",
"tenant_id": "uuid-of-tenant",
"lease_type": "empty",
"start_date": "2026-05-01",
"rent_amount": 1200
}'/api/v1/paymentsListe tous les paiements du compte authentifié.
| Nom | Type | Description |
|---|---|---|
status | string | Filtrer par statut : pending | partial | paid | late | unpaid |
limit | number | Nombre de résultats à retourner (défaut : 50, max : 200) |
offset | number | Nombre de résultats à ignorer pour la pagination (défaut : 0) |
curl "https://www.lokatix.com/api/v1/payments?status=active&limit=10" \ -H "x-api-key: YOUR_API_KEY"
/api/v1/paymentsCrée un nouveau paiement.
Corps JSON avec les champs du paiement. Requis : lease_id, due_date, amount_due.
curl -X POST "https://www.lokatix.com/api/v1/payments" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"lease_id": "uuid-of-lease",
"due_date": "2026-05-01",
"amount_due": 1200,
"payment_type": "rent"
}'Pagination
Tous les endpoints de liste supportent une pagination par offset (sans curseur) via limit et offset. La réponse inclut toujours un total (total) pour calculer le nombre de pages.
# Récupère la page 3 (indexée à 0), 20 éléments par page curl "https://www.lokatix.com/api/v1/properties?limit=20&offset=40" \ -H "x-api-key: YOUR_API_KEY"
Limitation de débit
HTTP 429 Too Many Requests avec un en-tête Retry-After. Nous recommandons de rester sous 60 req/min en anticipation de ce changement.