Mon contexte
GET /api/v1/me
L’appel d’amorçage. Il répond à quatre questions à la fois :
- quelle organisation la clé ouvre — c’est tout le périmètre de la clé, et aucune requête ne peut le changer ;
- ce que le porteur peut y faire (
owner,adminoumember) ; - les réglages dont dépendent tous les autres endpoints : fuseau horaire, devise, battement, expiration des options ;
- l’offre : la limite, l’utilisation actuelle et ce qui reste pour les villas, les réservations et les clients.
Autorisation
| Rôle dans l’organisation | Cet endpoint |
|---|---|
owner | Autorisé |
admin | Autorisé |
member | Autorisé |
L’appartenance suffit — un agent doit pouvoir découvrir qu’il n’a pas le droit d’écrire.
Paramètres
Aucun.
Exemple
bash
curl -H "x-api-key: $VILLASLOT_API_KEY" \
"https://villaslot.app/api/v1/me"Réponse
200 OK— le contexte.
json
{
"success": true,
"data": {
"organization": {
"id": "a379bb76-…",
"name": "TechCorp Solutions",
"slug": "techcorp-solutions"
},
"key": {"userId": "8105d4bd-…", "organizationRole": "owner"},
"settings": {
"timezone": "Asia/Makassar",
"currency": "IDR",
"bufferMinutes": 30,
"holdExpirationHours": 24,
"configured": true
},
"plan": {
"name": "free",
"hasSubscription": true,
"limits": {
"properties": {"limit": 1, "usage": 4, "remaining": 0},
"bookings": {"limit": 10, "usage": 7, "remaining": 3},
"customers": {"limit": 15, "usage": 4, "remaining": 11}
}
}
}
}Ce qu’il refuse
401 Unauthorized— clé absente ou invalide, ou clé dont le porteur a quitté l’organisation.429 Too Many Requests— plus de 120 requêtes en une minute pour cette clé.
Notes
settings.configured: falsesignifie qu’aucune devise n’a encore été choisie. La création d’une réservation sera refusée tant qu’il n’y en a pas.plan.limits.*.remaining: 0est une promesse, pas une indication : le même verdict est revérifié par le service avant toute écriture, et la création répondra409.