axiom-agent-created-orgs
POST https://api.axiom.co/v2/orgs/provision crée une véritable organisation Axiom et retourne un token API avec accès complet. L'organisation est supprimée après 24 heures sauf si un humain ouvre son URL de claim.
Avant le provisioning
- Utilise un déploiement existant depuis
~/.axiom.tomls'il convient à la tâche. - Provisionne au maximum une organisation par tâche. Les agents peuvent créer au maximum 3 organisations par jour.
- Informe l'utilisateur que l'organisation est temporaire et doit être claimée pour persister.
Provisionner et stocker le token
Le token et l'URL de claim sont retournés une seule fois et ne peuvent jamais être récupérés à nouveau. Sauvegarde-les avant de faire quoi que ce soit d'autre, et ne jamais afficher le token, afficher la réponse brute, ou committer l'une ou l'autre valeur.
Exécute ceci comme une seule commande pour que la réponse ne touche qu'un fichier temp privé :
umask 077
resp=$(mktemp)
code=$(curl -sS -o "$resp" -w '%{http_code}' -X POST https://api.axiom.co/v2/orgs/provision \
-H 'Content-Type: application/json' -d '{"name": "<short-task-name>"}')
if [[ "$code" == 200 ]]; then
jq -r '"\n[deployments.\(.id)]\nurl = \"https://api.axiom.co\"\ntoken = \"\(.token)\"\norg_id = \"\(.id)\"\nclaim_url = \"\(.claimUrl)\"\nexpires_at = \"\(.expiresAt)\""' \
"$resp" >> ~/.axiom.toml && chmod 600 ~/.axiom.toml &&
jq '{id, name, defaultEdgeDeployment, expiresAt}' "$resp" && rm -f "$resp"
else
echo "provision failed: HTTP $code" >&2; cat "$resp" >&2; rm -f "$resp"
fi
- Les champs du body sont optionnels ;
{}est valide.namepar défaut estAgent Org <hex>. - Omets
edgeDeploymentsauf si l'utilisateur en demande un ; la valeur par défaut estUS East 1 (AWS). 429 Too Many Requestssignifie que la limite quotidienne est atteinte. Réessaye plus tard avec backoff ; ne boucle jamais.- Si l'ajout à
~/.axiom.tomléchoue, la réponse reste dans$resp. Récupère le token avant de le supprimer.
Utiliser l'organisation
L'ID de l'organisation est le nom du déploiement, donc les autres skills Axiom fonctionnent comme prévu :
skills/axiom-alerting/scripts/axiom-api <org-id> GET /datasets
Pour les appels directs, envoie Authorization: Bearer <token> et X-Axiom-Org-Id: <org-id>. Lis le token depuis ~/.axiom.toml dans une variable ; ne le colle jamais dans les commandes ou la sortie. L'organisation se comporte comme n'importe quelle organisation Axiom : créer des datasets, ingérer, interroger, et construire des dashboards et des monitors.
Transmettre l'URL de claim
Le claiming nécessite un humain connecté à Axiom ; il n'y a pas d'API pour cela. Essaye d'ouvrir l'URL de claim dans le navigateur de l'utilisateur, et affiche-la avec la date limite :
url=$(awk -F'"' -v d="[deployments.<org-id>]" '$0==d{f=1;next} /^\[/{f=0} f&&/^claim_url/{print $2}' ~/.axiom.toml)
{ open "$url" || { [[ -n "${DISPLAY:-}${WAYLAND_DISPLAY:-}" ]] && xdg-open "$url"; }; } >/dev/null 2>&1 && echo "opened claim URL in browser" || echo "no browser available"
awk -v d="[deployments.<org-id>]" '$0==d{f=1;next} /^\[/{f=0} f&&/^(claim_url|expires_at)/' ~/.axiom.toml
Affiche toujours l'URL de claim une fois dans ta réponse aussi : sur une machine distante le navigateur peut s'ouvrir là où l'utilisateur ne peut pas le voir. Dis à l'utilisateur :
- Quiconque ouvre le lien peut prendre la propriété. Ne le partage pas au-delà de l'utilisateur.
- Non claimée, l'organisation et toutes ses données, dashboards, monitors, et le token sont définitivement supprimés à
expires_at(24 heures après le provisioning). - Le claiming conserve tout ce que l'agent a construit, rend l'organisation permanente sur le plan Personnel, et maintient le token fonctionnel. Le lien est à usage unique.
Limites jusqu'au claim
- 10 GB d'ingest et 1 GB-heure de compute de requête sur les 24 heures.
- Peu de datasets : la création d'un 4e dataset a échoué avec
dataset license limit exceededlors des tests (non documenté). Mets les données connexes dans un dataset. - Les monitors et notifiers peuvent être créés, mais les notifications ne sont pas livrées.
- Le claiming élève ceci aux limites complètes du plan Personnel et active les notifiers.
Si le token est perdu, l'organisation est inaccessible via l'API jusqu'à ce qu'un humain la claim et crée un nouveau token.
Docs : https://axiom.co/docs/console/intelligence/agent-created-orgs