Aller au contenu principal

Référence API REST SecOps

L'API REST Boundry permet d'ingérer de la télémétrie, de consulter l'état des agents et de gérer les règles de sécurité depuis n'importe quel langage de programmation.


URL de base et Authentification

Toutes les requêtes doivent être adressées en HTTPS à :

https://api.boundry.io

En-tête d'authentification HTTP

Passez votre clé secrète d'organisation dans l'en-tête Authorization :

Authorization: Bearer sk_org_07fd47fe4b89fd10f2f8212f33af2378...
Content-Type: application/json

1. Soumission d'événement (POST /api/events)

Transmet une action d'agent pour analyse et validation par le moteur de politiques de sécurité.

Requête

cURL
curl -X POST https://api.boundry.io/api/events \
-H "Authorization: Bearer sk_org_..." \
-H "Content-Type: application/json" \
-d '{
"agent_id": "support-agent-prod",
"tool_name": "send_customer_email",
"tool_input": "Destinataire: client@example.com, Message: Confirmation",
"framework": "LangChain"
}'

Réponse 200 OK

{
"status": "allowed",
"event_id": "evt_84a92e10",
"timestamp": "2026-08-31T11:50:00Z",
"hash": "9f2d1e8c7b3a4f6d9012e8b7c6a5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7",
"risk_score": 12,
"quarantine": false,
"matched_rules": []
}

Réponse 403 Forbidden (Violation de politique)

{
"status": "blocked",
"error": "PolicyViolationException",
"reason": "Tentative d'injection de prompt ou mot-clé interdit détecté",
"risk_score": 85,
"quarantine": true
}

2. Flotte d'agents (GET /api/agents)

Retourne la liste des agents IA enregistrés, leurs statuts de fraîcheur et scores de risque.

cURL
curl -X GET https://api.boundry.io/api/agents \
-H "Authorization: Bearer sk_org_..."

Réponse 200 OK

[
{
"agent_id": "support-agent-prod",
"status": "online",
"framework": "LangChain",
"last_seen": "2026-08-31T11:48:10Z",
"events_count": 1420,
"alerts_count": 0,
"risk_score": 12
}
]

3. Approbation de quarantaine (POST /api/quarantine/approve)

Approuve manuellement une action suspendue en quarantaine.

cURL
curl -X POST https://api.boundry.io/api/quarantine/approve \
-H "Authorization: Bearer sk_org_..." \
-H "Content-Type: application/json" \
-d '{
"quarantine_id": "q_4892",
"approver": "alexandre.renoir@company.com"
}'

Codes de statut HTTP

Code HTTPNomSignification
200 OKSuccessRequête traitée avec succès.
401 UnauthorizedInvalid KeyClé API invalide ou absente.
403 ForbiddenPolicy BlockedAction rejetée par le filtre SecOps.
429 Too Many RequestsRate LimitQuota mensuel de requêtes atteint.
503 Service UnavailableGateway BusyPasserelle temporairement indisponible.