L'API de membo.app pour les intégrations et les agents
membo.app expose une API pour qu'un tableur, un site, une automatisation ou un assistant IA puisse lire et agir sur les données d'un club. C'est la même API que le tableau de bord, sur un sous-ensemble documenté de routes qui reste stable.
Authentification
Créez une clé dans Compte › Clés API. Une clé agit au nom de l'admin qui l'a créée, limitée aux périmètres choisis à la création (consulter ou modifier par périmètre : membres, finances, événements, communication, contrôle d'accès, page et carte). Elle ne peut jamais faire plus que cette personne. La clé complète n'est montrée qu'une fois ; seule une empreinte est conservée.
Envoyez-la en jeton bearer :
Authorization: Bearer mk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCommencez par GET https://api.membo.app/api/auth/me : la réponse porte club_id, nécessaire à toutes les autres routes.
Ce qu'une clé peut et ne peut pas faire
- Elle peut lire et écrire dans ses périmètres, exactement comme la personne dans le tableau de bord : lister les membres, ajouter un membre, prolonger une adhésion, créer un événement, pointer une présence, lire les paiements.
- Elle ne peut pas gérer le compte, l'équipe ni les autres clés, et n'atteint pas le superadmin. Ces routes répondent 403.
- Une clé révoquée ou expirée répond 401. Révoquez une clé à tout moment dans Compte › Clés API.
- Chaque requête faite avec une clé est tracée dans le journal d'audit du club, avec le début de la clé.
Limites et conventions
- 300 requêtes par minute et par clé. Au-delà, 429 avec un en-tête
Retry-After. - Les montants sont en centimes (
amount_cents,price_cents). Les dates en ISO 8601, UTC. - Les erreurs portent un
detaillisible dans la langue du club. - Les listes sont paginées avec
pageetpage_size(jusqu'à 1000).
Référence
- Référence interactive : api.membo.app/api/public/docs
- Description OpenAPI : api.membo.app/api/public/openapi.json, importable dans n'importe quel client ou outil d'agent.
Routes principales
| Besoin | Route |
|---|---|
| Qui suis-je, quel club | GET /api/auth/me |
| Réglages du club | GET et PUT /api/clubs/{club_id} |
| Chiffres clés | GET /api/clubs/{club_id}/stats |
| Membres | GET /api/clubs/{club_id}/members, POST /api/clubs/{club_id}/members/manual, GET …/members/export |
| Actions sur un membre | POST /api/clubs/{club_id}/members/{member_id}/actions/extend, mark-paid, suspend, reactivate |
| Tarifs | GET et POST /api/clubs/{club_id}/tiers, PUT …/tiers/{tier_id} |
| Codes promo | GET et POST /api/clubs/{club_id}/promo-codes |
| Événements | GET et POST /api/clubs/{club_id}/events, GET et PATCH …/events/{event_id}, GET …/registrations, POST …/checkin |
| Contrôle d'accès | GET /api/verify/{serial} (une carte scannée), GET /api/clubs/{club_id}/attendance |
Exemple
Lister les membres actifs du club, les plus récents d'abord :
curl -H "Authorization: Bearer mk_live_…" \
"https://api.membo.app/api/clubs/{club_id}/members?status=active&sort=registered&dir=desc&page_size=100"Ajouter un membre qui a payé en espèces, avec une adhésion jusqu'à la fin de l'année :
curl -X POST -H "Authorization: Bearer mk_live_…" -H "Content-Type: application/json" \
-d '{"first_name":"Marie","last_name":"Dupont","email":"marie@example.org","membership_end":"2026-12-31"}' \
"https://api.membo.app/api/clubs/{club_id}/members/manual"Connecter un assistant IA (MCP)
membo.app parle aussi le Model Context Protocol (MCP), le standard que Claude, ChatGPT, Cursor et les autres assistants utilisent pour appeler des outils. Les mêmes opérations que l'API sont exposées comme outils, dans le vocabulaire du tableau de bord : whoami, list_members, add_member, extend_membership, mark_member_paid, list_tiers, list_events, create_event, event_registrations, checkin_event, verify_card, club_stats et quelques autres. Un outil ne fait jamais plus que ce que la clé permet, et chaque appel est tracé dans le journal d'audit.
- Adresse du serveur :
https://api.membo.app/mcp(Streamable HTTP) - Authentification : l'en-tête
Authorization: Bearer mk_live_…avec une clé créée dans Compte › Clés API
Claude Code :
claude mcp add --transport http membo https://api.membo.app/mcp --header "Authorization: Bearer mk_live_…"Cursor, VS Code, Windsurf et la plupart des clients de bureau (mcp.json) :
{ "mcpServers": { "membo": { "url": "https://api.membo.app/mcp", "headers": { "Authorization": "Bearer mk_live_…" } } } }Demandez ensuite à l'assistant : « Combien de membres n'ont pas renouvelé ? », « Ajoute Marie Dupont, payée en espèces, jusqu'à la fin de l'année, et envoie-lui sa carte ». Les clients qui n'acceptent qu'une connexion OAuth pour un connecteur distant (les connecteurs ChatGPT aujourd'hui) ne sont pas encore pris en charge ; OAuth est prévu.