[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin":3,"docs-nav-fr":379},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":373,"_id":374,"_source":375,"_file":376,"_stem":377,"_extension":378},"\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin","developpeurs",false,"","API admin","Automatiser betool depuis vos systèmes — modèles, comptes LLM, facturation, consommation, journaux d'audit.",{"type":11,"children":12,"toc":364},"root",[13,30,37,72,84,96,102,115,121,290,311,317,337,343,348,354,359],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18,21,28],{"type":19,"value":20},"text","L'admin web de betool s'appuie sur une API REST authentifiée (préfixe ",{"type":14,"tag":22,"props":23,"children":25},"code",{"className":24},[],[26],{"type":19,"value":27},"\u002Fapi",{"type":19,"value":29},"), utilisable aussi depuis vos scripts : dashboards custom de consommation, export de journaux, suivi du solde de crédits.",{"type":14,"tag":31,"props":32,"children":34},"h2",{"id":33},"authentification",[35],{"type":19,"value":36},"Authentification",{"type":14,"tag":15,"props":38,"children":39},{},[40,42,48,50,56,58,63,65,70],{"type":19,"value":41},"Chaque appel porte un ",{"type":14,"tag":43,"props":44,"children":45},"strong",{},[46],{"type":19,"value":47},"jeton de session",{"type":19,"value":49}," en ",{"type":14,"tag":22,"props":51,"children":53},{"className":52},[],[54],{"type":19,"value":55},"Authorization: Bearer",{"type":19,"value":57},". Pour un usage automatisé, créez un ",{"type":14,"tag":43,"props":59,"children":60},{},[61],{"type":19,"value":62},"token CLI",{"type":19,"value":64}," longue durée depuis le menu de l'organisation → ",{"type":14,"tag":43,"props":66,"children":67},{},[68],{"type":19,"value":69},"Paramètres de l'organisation → Tokens CLI",{"type":19,"value":71}," (le clair n'est affiché qu'une fois, révocable à tout moment, haché côté serveur), puis échangez-le contre un jeton de session :",{"type":14,"tag":73,"props":74,"children":79},"pre",{"className":75,"code":77,"language":78,"meta":7},[76],"language-bash","# 1. Échanger le token CLI contre une session (rate-limité : 10\u002Fmin)\ncurl -X POST https:\u002F\u002Fplatform.betool.ai\u002Fapi\u002Fauth\u002Fcli-login \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"token\\\": \\\"$BETOOL_CLI_TOKEN\\\"}\"\n# -> {\"session_token\": \"...\", \"user\": {...}, \"active_org\": {...}, ...}\n\n# 2. Appeler l'API avec la session\ncurl -H \"Authorization: Bearer $BETOOL_SESSION\" \\\n  https:\u002F\u002Fplatform.betool.ai\u002Fapi\u002Fauth\u002Fme\n","bash",[80],{"type":14,"tag":22,"props":81,"children":82},{"__ignoreMap":7},[83],{"type":19,"value":77},{"type":14,"tag":15,"props":85,"children":86},{},[87,89,94],{"type":19,"value":88},"Un token CLI est épinglé sur ",{"type":14,"tag":43,"props":90,"children":91},{},[92],{"type":19,"value":93},"une organisation",{"type":19,"value":95}," ; il cesse de fonctionner si son porteur est désactivé ou n'est plus membre actif de cette organisation. Les droits suivent son membership.",{"type":14,"tag":31,"props":97,"children":99},{"id":98},"filtrage",[100],{"type":19,"value":101},"Filtrage",{"type":14,"tag":15,"props":103,"children":104},{},[105,107,113],{"type":19,"value":106},"Les endpoints de liste acceptent des paramètres propres à chaque ressource (typiquement un ",{"type":14,"tag":22,"props":108,"children":110},{"className":109},[],[111],{"type":19,"value":112},"limit",{"type":19,"value":114}," borné côté serveur) ; les champs disponibles sont documentés par la réponse elle-même.",{"type":14,"tag":31,"props":116,"children":118},{"id":117},"endpoints-principaux",[119],{"type":19,"value":120},"Endpoints principaux",{"type":14,"tag":122,"props":123,"children":124},"table",{},[125,144],{"type":14,"tag":126,"props":127,"children":128},"thead",{},[129],{"type":14,"tag":130,"props":131,"children":132},"tr",{},[133,139],{"type":14,"tag":134,"props":135,"children":136},"th",{},[137],{"type":19,"value":138},"Endpoint",{"type":14,"tag":134,"props":140,"children":141},{},[142],{"type":19,"value":143},"Description",{"type":14,"tag":145,"props":146,"children":147},"tbody",{},[148,166,183,208,225,242,273],{"type":14,"tag":130,"props":149,"children":150},{},[151,161],{"type":14,"tag":152,"props":153,"children":154},"td",{},[155],{"type":14,"tag":22,"props":156,"children":158},{"className":157},[],[159],{"type":19,"value":160},"GET \u002Fapi\u002Fauth\u002Fme",{"type":14,"tag":152,"props":162,"children":163},{},[164],{"type":19,"value":165},"Identité, organisation active, memberships",{"type":14,"tag":130,"props":167,"children":168},{},[169,178],{"type":14,"tag":152,"props":170,"children":171},{},[172],{"type":14,"tag":22,"props":173,"children":175},{"className":174},[],[176],{"type":19,"value":177},"GET \u002Fapi\u002Fadmin\u002Fmodels",{"type":14,"tag":152,"props":179,"children":180},{},[181],{"type":19,"value":182},"Lister les modèles (pipelines)",{"type":14,"tag":130,"props":184,"children":185},{},[186,195],{"type":14,"tag":152,"props":187,"children":188},{},[189],{"type":14,"tag":22,"props":190,"children":192},{"className":191},[],[193],{"type":19,"value":194},"GET \u002Fapi\u002Fadmin\u002Fllm\u002Faccounts",{"type":14,"tag":152,"props":196,"children":197},{},[198,200,206],{"type":19,"value":199},"Lister les comptes LLM (secret masqué, ",{"type":14,"tag":22,"props":201,"children":203},{"className":202},[],[204],{"type":19,"value":205},"has_api_key",{"type":19,"value":207},")",{"type":14,"tag":130,"props":209,"children":210},{},[211,220],{"type":14,"tag":152,"props":212,"children":213},{},[214],{"type":14,"tag":22,"props":215,"children":217},{"className":216},[],[218],{"type":19,"value":219},"GET \u002Fapi\u002Fadmin\u002Fbilling\u002Fstate",{"type":14,"tag":152,"props":221,"children":222},{},[223],{"type":19,"value":224},"Plan, solde de crédits, auto-recharge",{"type":14,"tag":130,"props":226,"children":227},{},[228,237],{"type":14,"tag":152,"props":229,"children":230},{},[231],{"type":14,"tag":22,"props":232,"children":234},{"className":233},[],[235],{"type":19,"value":236},"POST \u002Fapi\u002Fadmin\u002Fbilling\u002Ftopup",{"type":14,"tag":152,"props":238,"children":239},{},[240],{"type":19,"value":241},"Recharge manuelle (lien de paiement)",{"type":14,"tag":130,"props":243,"children":244},{},[245,254],{"type":14,"tag":152,"props":246,"children":247},{},[248],{"type":14,"tag":22,"props":249,"children":251},{"className":250},[],[252],{"type":19,"value":253},"GET \u002Fapi\u002Fadmin\u002Fbilling\u002Fusage",{"type":14,"tag":152,"props":255,"children":256},{},[257,259,264,266,272],{"type":19,"value":258},"Journal de consommation (",{"type":14,"tag":22,"props":260,"children":262},{"className":261},[],[263],{"type":19,"value":112},{"type":19,"value":265}," ≤ 500, filtre ",{"type":14,"tag":22,"props":267,"children":269},{"className":268},[],[270],{"type":19,"value":271},"source_kind",{"type":19,"value":207},{"type":14,"tag":130,"props":274,"children":275},{},[276,285],{"type":14,"tag":152,"props":277,"children":278},{},[279],{"type":14,"tag":22,"props":280,"children":282},{"className":281},[],[283],{"type":19,"value":284},"GET \u002Fapi\u002Fadmin\u002Fme\u002Fsupervisor-reads",{"type":14,"tag":152,"props":286,"children":287},{},[288],{"type":19,"value":289},"Journal d'audit des accès cross-tenant",{"type":14,"tag":15,"props":291,"children":292},{},[293,295,300,302,309],{"type":19,"value":294},"Pour piloter la ",{"type":14,"tag":43,"props":296,"children":297},{},[298],{"type":19,"value":299},"configuration",{"type":19,"value":301}," en langage naturel (créer\u002Féditer un pipeline par propositions, appliquées seulement une fois acceptées), préférez le ",{"type":14,"tag":303,"props":304,"children":306},"a",{"href":305},"\u002Fdocs\u002Fdeveloppeurs\u002Fmcp",[307],{"type":19,"value":308},"serveur MCP",{"type":19,"value":310}," : c'est la surface conçue pour les clients externes.",{"type":14,"tag":31,"props":312,"children":314},{"id":313},"webhooks-sortants",[315],{"type":19,"value":316},"Webhooks sortants",{"type":14,"tag":15,"props":318,"children":319},{},[320,322,328,330,335],{"type":19,"value":321},"Besoin de pousser des événements vers vos systèmes ? Émettez-les depuis vos pipelines avec le nœud ",{"type":14,"tag":22,"props":323,"children":325},{"className":324},[],[326],{"type":19,"value":327},"webhook_action",{"type":19,"value":329}," — voir ",{"type":14,"tag":303,"props":331,"children":333},{"href":332},"\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",[334],{"type":19,"value":316},{"type":19,"value":336},".",{"type":14,"tag":31,"props":338,"children":340},{"id":339},"rate-limiting",[341],{"type":19,"value":342},"Rate limiting",{"type":14,"tag":15,"props":344,"children":345},{},[346],{"type":19,"value":347},"Les endpoints d'authentification (signup, login, réinitialisation) sont rate-limités. Les autres endpoints n'ont pas de quota publié à ce jour — un usage automatisé intensif doit rester raisonnable.",{"type":14,"tag":31,"props":349,"children":351},{"id":350},"sdk",[352],{"type":19,"value":353},"SDK",{"type":14,"tag":15,"props":355,"children":356},{},[357],{"type":19,"value":358},"Pas de SDK officiel. L'API est suffisamment simple pour être consommée depuis n'importe quel langage avec un client HTTP.",{"type":14,"tag":15,"props":360,"children":361},{},[362],{"type":19,"value":363},"Si vous écrivez un SDK pour votre organisation, signalez-le — nous le référencerons.",{"title":7,"searchDepth":365,"depth":365,"links":366},2,[367,368,369,370,371,372],{"id":33,"depth":365,"text":36},{"id":98,"depth":365,"text":101},{"id":117,"depth":365,"text":120},{"id":313,"depth":365,"text":316},{"id":339,"depth":365,"text":342},{"id":350,"depth":365,"text":353},"markdown","content:docs:6.developpeurs:1.api-admin.md","content","docs\u002F6.developpeurs\u002F1.api-admin.md","docs\u002F6.developpeurs\u002F1.api-admin","md",[380],{"title":381,"_path":382,"children":383},"Docs","\u002Fdocs",[384,397,425,453,466,482,490,551],{"title":385,"_path":386,"children":387},"Démarrer","\u002Fdocs\u002Fdemarrer",[388,391,394],{"title":389,"_path":390},"Bienvenue","\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":392,"_path":393},"Créer un compte","\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":395,"_path":396},"Brancher une clé LLM","\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":398,"_path":399,"children":400},"Canaux","\u002Fdocs\u002Fcanaux",[401,404,407,410,413,416,419,422],{"title":402,"_path":403},"Vue d'ensemble des canaux","\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":405,"_path":406},"Téléphonie temps réel","\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":408,"_path":409},"Email","\u002Fdocs\u002Fcanaux\u002Femail",{"title":411,"_path":412},"Chat widget web","\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":414,"_path":415},"Webhook HTTP","\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":417,"_path":418},"Messageries (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":420,"_path":421},"Meta Lead Ads","\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":423,"_path":424},"Planification (cron)","\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":426,"_path":427,"children":428},"Pipelines","\u002Fdocs\u002Fpipelines",[429,432,435,438,441,444,447,450],{"title":430,"_path":431},"L'éditeur visuel","\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":433,"_path":434},"Agents IA","\u002Fdocs\u002Fpipelines\u002Fagents",{"title":436,"_path":437},"Opérateurs déterministes","\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":439,"_path":440},"Contrôle de flux","\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":442,"_path":443},"Étapes de code","\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":445,"_path":446},"Sous-pipelines","\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":448,"_path":449},"Actions sans code","\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":451,"_path":452},"Base de connaissances","\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",{"title":454,"_path":455,"children":456},"Supervision","\u002Fdocs\u002Fsupervision",[457,460,463],{"title":458,"_path":459},"Historique d'exécutions","\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":461,"_path":462},"Crédits & metering","\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":464,"_path":465},"Benchmarks","\u002Fdocs\u002Fsupervision\u002Fbenchmarks",{"title":467,"_path":468,"children":469},"Sécurité","\u002Fdocs\u002Fsecurite",[470,473,476,479],{"title":471,"_path":472},"Principes de sécurité","\u002Fdocs\u002Fsecurite\u002Fprincipes",{"title":474,"_path":475},"Multi-tenant strict","\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",{"title":477,"_path":478},"Audit RGPD & journal d'accès","\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",{"title":480,"_path":481},"Déploiement souverain","\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":483,"_path":484,"children":485},"Développeurs","\u002Fdocs\u002Fdeveloppeurs",[486,487,488],{"title":8,"_path":4},{"title":316,"_path":332},{"title":489,"_path":305},"Piloter betool depuis Claude (MCP)",{"title":491,"_path":492,"children":493},"Intégrations","\u002Fdocs\u002Fintegrations",[494,497,500,503,506,509,512,515,518,521,524,527,530,533,536,539,542,545,548],{"title":495,"_path":496},"Vue d'ensemble des intégrations","\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":498,"_path":499},"Stripe","\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":501,"_path":502},"GitHub","\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":504,"_path":505},"Google","\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":507,"_path":508},"LinkedIn Ads","\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":510,"_path":511},"Kavkom","\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":513,"_path":514},"Jira","\u002Fdocs\u002Fintegrations\u002Fjira",{"title":516,"_path":517},"Slack","\u002Fdocs\u002Fintegrations\u002Fslack",{"title":519,"_path":520},"SMS","\u002Fdocs\u002Fintegrations\u002Fsms",{"title":522,"_path":523},"Enable Banking (open banking)","\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":525,"_path":526},"CRM, marketing & productivité","\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":528,"_path":529},"HeyGen (vidéo)","\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":531,"_path":532},"La Poste","\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":534,"_path":535},"CRM métier (beTool Application, Qhare)","\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":537,"_path":538},"Mitti (inspections terrain)","\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":540,"_path":541},"Meta (Messenger, Pages, Meta Ads)","\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":543,"_path":544},"Onoff Business (Beta)","\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":546,"_path":547},"Smart Life \u002F Tuya (objets connectés)","\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":549,"_path":550},"Produits beTool (Desktop, Kiosk, Terminal)","\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":552,"_path":553,"children":554},"Cas d'usage","\u002Fdocs\u002Fcas-usage",[555,558,561,564,567,570],{"title":556,"_path":557},"Agents métier types","\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":559,"_path":560},"CFO IA","\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":562,"_path":563},"COO IA","\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":565,"_path":566},"CTO IA","\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":568,"_path":569},"Product Manager IA","\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":571,"_path":572},"Assistant personnel","\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]