[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fen\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin":3,"docs-nav-en":380},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":374,"_id":375,"_source":376,"_file":377,"_stem":378,"_extension":379},"\u002Fen\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin","developpeurs",false,"","Admin API","Automate betool from your systems — models, LLM accounts, billing, consumption, audit logs.",{"type":11,"children":12,"toc":365},"root",[13,30,37,72,84,96,102,115,121,291,312,318,338,344,349,355,360],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18,21,28],{"type":19,"value":20},"text","The betool web admin relies on an authenticated REST API (",{"type":14,"tag":22,"props":23,"children":25},"code",{"className":24},[],[26],{"type":19,"value":27},"\u002Fapi",{"type":19,"value":29}," prefix), which you can also use from your own scripts: custom consumption dashboards, log export, credit balance monitoring.",{"type":14,"tag":31,"props":32,"children":34},"h2",{"id":33},"authentication",[35],{"type":19,"value":36},"Authentication",{"type":14,"tag":15,"props":38,"children":39},{},[40,42,48,50,56,58,63,65,70],{"type":19,"value":41},"Every call carries a ",{"type":14,"tag":43,"props":44,"children":45},"strong",{},[46],{"type":19,"value":47},"session token",{"type":19,"value":49}," in ",{"type":14,"tag":22,"props":51,"children":53},{"className":52},[],[54],{"type":19,"value":55},"Authorization: Bearer",{"type":19,"value":57},". For automated use, create a long-lived ",{"type":14,"tag":43,"props":59,"children":60},{},[61],{"type":19,"value":62},"CLI token",{"type":19,"value":64}," from the organisation menu → ",{"type":14,"tag":43,"props":66,"children":67},{},[68],{"type":19,"value":69},"Organisation settings → CLI tokens",{"type":19,"value":71}," (the plaintext is shown only once, revocable at any time, hashed server-side), then exchange it for a session token:",{"type":14,"tag":73,"props":74,"children":79},"pre",{"className":75,"code":77,"language":78,"meta":7},[76],"language-bash","# 1. Exchange the CLI token for a session (rate-limited: 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. Call the API with the 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},"A CLI token is pinned to ",{"type":14,"tag":43,"props":90,"children":91},{},[92],{"type":19,"value":93},"one organisation",{"type":19,"value":95},"; it stops working if its holder is deactivated or is no longer an active member of that organisation. Rights follow its membership.",{"type":14,"tag":31,"props":97,"children":99},{"id":98},"filtering",[100],{"type":19,"value":101},"Filtering",{"type":14,"tag":15,"props":103,"children":104},{},[105,107,113],{"type":19,"value":106},"List endpoints accept parameters specific to each resource (typically a server-bounded ",{"type":14,"tag":22,"props":108,"children":110},{"className":109},[],[111],{"type":19,"value":112},"limit",{"type":19,"value":114},"); the available fields are documented by the response itself.",{"type":14,"tag":31,"props":116,"children":118},{"id":117},"key-endpoints",[119],{"type":19,"value":120},"Key endpoints",{"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,274],{"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},"Identity, active organisation, 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},"List models (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},"List LLM accounts (secret masked, ",{"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, credit balance, auto top-up",{"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},"Manual top-up (payment link)",{"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},"Consumption log (",{"type":14,"tag":22,"props":260,"children":262},{"className":261},[],[263],{"type":19,"value":112},{"type":19,"value":265}," ≤ 500, ",{"type":14,"tag":22,"props":267,"children":269},{"className":268},[],[270],{"type":19,"value":271},"source_kind",{"type":19,"value":273}," filter)",{"type":14,"tag":130,"props":275,"children":276},{},[277,286],{"type":14,"tag":152,"props":278,"children":279},{},[280],{"type":14,"tag":22,"props":281,"children":283},{"className":282},[],[284],{"type":19,"value":285},"GET \u002Fapi\u002Fadmin\u002Fme\u002Fsupervisor-reads",{"type":14,"tag":152,"props":287,"children":288},{},[289],{"type":19,"value":290},"Cross-tenant access audit log",{"type":14,"tag":15,"props":292,"children":293},{},[294,296,301,303,310],{"type":19,"value":295},"To drive the ",{"type":14,"tag":43,"props":297,"children":298},{},[299],{"type":19,"value":300},"configuration",{"type":19,"value":302}," in natural language (create\u002Fedit a pipeline through proposals, applied only once accepted), prefer the ",{"type":14,"tag":304,"props":305,"children":307},"a",{"href":306},"\u002Fen\u002Fdocs\u002Fdeveloppeurs\u002Fmcp",[308],{"type":19,"value":309},"MCP server",{"type":19,"value":311},": it is the surface designed for external clients.",{"type":14,"tag":31,"props":313,"children":315},{"id":314},"outbound-webhooks",[316],{"type":19,"value":317},"Outbound webhooks",{"type":14,"tag":15,"props":319,"children":320},{},[321,323,329,331,336],{"type":19,"value":322},"Need to push events to your systems? Emit them from your pipelines with the ",{"type":14,"tag":22,"props":324,"children":326},{"className":325},[],[327],{"type":19,"value":328},"webhook_action",{"type":19,"value":330}," node — see ",{"type":14,"tag":304,"props":332,"children":334},{"href":333},"\u002Fen\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",[335],{"type":19,"value":317},{"type":19,"value":337},".",{"type":14,"tag":31,"props":339,"children":341},{"id":340},"rate-limiting",[342],{"type":19,"value":343},"Rate limiting",{"type":14,"tag":15,"props":345,"children":346},{},[347],{"type":19,"value":348},"Authentication endpoints (signup, login, reset) are rate-limited. Other endpoints have no published quota at this time — intensive automated usage should remain reasonable.",{"type":14,"tag":31,"props":350,"children":352},{"id":351},"sdks",[353],{"type":19,"value":354},"SDKs",{"type":14,"tag":15,"props":356,"children":357},{},[358],{"type":19,"value":359},"There is no official SDK. The API is simple enough to consume from any language with an HTTP client.",{"type":14,"tag":15,"props":361,"children":362},{},[363],{"type":19,"value":364},"If you write an SDK for your organisation, let us know — we will list it.",{"title":7,"searchDepth":366,"depth":366,"links":367},2,[368,369,370,371,372,373],{"id":33,"depth":366,"text":36},{"id":98,"depth":366,"text":101},{"id":117,"depth":366,"text":120},{"id":314,"depth":366,"text":317},{"id":340,"depth":366,"text":343},{"id":351,"depth":366,"text":354},"markdown","content:en:docs:6.developpeurs:1.api-admin.md","content","en\u002Fdocs\u002F6.developpeurs\u002F1.api-admin.md","en\u002Fdocs\u002F6.developpeurs\u002F1.api-admin","md",[381],{"title":382,"_path":383,"children":384},"En","\u002Fen",[385],{"title":386,"_path":387,"children":388},"Docs","\u002Fen\u002Fdocs",[389,402,430,458,471,487,495,556],{"title":390,"_path":391,"children":392},"Getting started","\u002Fen\u002Fdocs\u002Fdemarrer",[393,396,399],{"title":394,"_path":395},"Welcome","\u002Fen\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":397,"_path":398},"Create an account","\u002Fen\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":400,"_path":401},"Connect an LLM key","\u002Fen\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":403,"_path":404,"children":405},"Channels","\u002Fen\u002Fdocs\u002Fcanaux",[406,409,412,415,418,421,424,427],{"title":407,"_path":408},"Channels overview","\u002Fen\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":410,"_path":411},"Real-time telephony","\u002Fen\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":413,"_path":414},"Email","\u002Fen\u002Fdocs\u002Fcanaux\u002Femail",{"title":416,"_path":417},"Web chat widget","\u002Fen\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":419,"_path":420},"HTTP Webhook","\u002Fen\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":422,"_path":423},"Messaging (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fen\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":425,"_path":426},"Meta Lead Ads","\u002Fen\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":428,"_path":429},"Schedule (cron)","\u002Fen\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":431,"_path":432,"children":433},"Pipelines","\u002Fen\u002Fdocs\u002Fpipelines",[434,437,440,443,446,449,452,455],{"title":435,"_path":436},"The Visual Editor","\u002Fen\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":438,"_path":439},"AI Agents","\u002Fen\u002Fdocs\u002Fpipelines\u002Fagents",{"title":441,"_path":442},"Deterministic Operators","\u002Fen\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":444,"_path":445},"Flow Control","\u002Fen\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":447,"_path":448},"Code Steps","\u002Fen\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":450,"_path":451},"Sub-pipelines","\u002Fen\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":453,"_path":454},"No-code actions","\u002Fen\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":456,"_path":457},"Knowledge base","\u002Fen\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",{"title":459,"_path":460,"children":461},"Supervision","\u002Fen\u002Fdocs\u002Fsupervision",[462,465,468],{"title":463,"_path":464},"Execution History","\u002Fen\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":466,"_path":467},"Credits & Metering","\u002Fen\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":469,"_path":470},"Benchmarks","\u002Fen\u002Fdocs\u002Fsupervision\u002Fbenchmarks",{"title":472,"_path":473,"children":474},"Security","\u002Fen\u002Fdocs\u002Fsecurite",[475,478,481,484],{"title":476,"_path":477},"Security principles","\u002Fen\u002Fdocs\u002Fsecurite\u002Fprincipes",{"title":479,"_path":480},"Strict multi-tenancy","\u002Fen\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",{"title":482,"_path":483},"GDPR audit & access log","\u002Fen\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",{"title":485,"_path":486},"Sovereign deployment","\u002Fen\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":488,"_path":489,"children":490},"Developers","\u002Fen\u002Fdocs\u002Fdeveloppeurs",[491,492,493],{"title":8,"_path":4},{"title":317,"_path":333},{"title":494,"_path":306},"Drive betool from Claude (MCP)",{"title":496,"_path":497,"children":498},"Integrations","\u002Fen\u002Fdocs\u002Fintegrations",[499,502,505,508,511,514,517,520,523,526,529,532,535,538,541,544,547,550,553],{"title":500,"_path":501},"Integrations overview","\u002Fen\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":503,"_path":504},"Stripe","\u002Fen\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":506,"_path":507},"GitHub","\u002Fen\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":509,"_path":510},"Google","\u002Fen\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":512,"_path":513},"LinkedIn Ads","\u002Fen\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":515,"_path":516},"Kavkom","\u002Fen\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":518,"_path":519},"Jira","\u002Fen\u002Fdocs\u002Fintegrations\u002Fjira",{"title":521,"_path":522},"Slack","\u002Fen\u002Fdocs\u002Fintegrations\u002Fslack",{"title":524,"_path":525},"SMS","\u002Fen\u002Fdocs\u002Fintegrations\u002Fsms",{"title":527,"_path":528},"Enable Banking (open banking)","\u002Fen\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":530,"_path":531},"CRM, marketing & productivity","\u002Fen\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":533,"_path":534},"HeyGen (video)","\u002Fen\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":536,"_path":537},"La Poste","\u002Fen\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":539,"_path":540},"Industry CRM (beTool Application, Qhare)","\u002Fen\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":542,"_path":543},"Mitti (field inspections)","\u002Fen\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":545,"_path":546},"Meta (Messenger, Pages, Meta Ads)","\u002Fen\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":548,"_path":549},"Onoff Business (Beta)","\u002Fen\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":551,"_path":552},"Smart Life \u002F Tuya (connected devices)","\u002Fen\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":554,"_path":555},"beTool products (Desktop, Kiosk, Terminal)","\u002Fen\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":557,"_path":558,"children":559},"Use cases","\u002Fen\u002Fdocs\u002Fcas-usage",[560,563,566,569,572,575],{"title":561,"_path":562},"Typical business agents","\u002Fen\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":564,"_path":565},"CFO IA","\u002Fen\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":567,"_path":568},"COO IA","\u002Fen\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":570,"_path":571},"CTO IA","\u002Fen\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":573,"_path":574},"Product Manager IA","\u002Fen\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":576,"_path":577},"Personal assistant","\u002Fen\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]