API - Orchestration

L'API Orchestration permet d'exécuter des workflows NeuraFlow et des crews NeuraCrew de manière programmatique.


Scopes Requis

  • orchestration:read — Lister et consulter les workflows et crews
  • orchestration:write — Exécuter des workflows et crews

Workflows (NeuraFlow)

Lister les Workflows

GET /api/v1/orchestration/workflows

Réponse :

{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "presentation_nodes",
      "nodes_count": 27,
      "status": "active",
      "created_at": "2025-11-04T10:30:00Z"
    }
  ]
}

Détails d'un Workflow

GET /api/v1/orchestration/workflows/{id}

Retourne la définition complète du workflow : nœuds, connexions, paramètres.

Exécuter un Workflow

POST /api/v1/orchestration/workflows/{id}/execute

Corps de la requête :

{
  "input": {
    "text": "Votre texte d'entrée",
    "parameters": {
      "key": "value"
    }
  },
  "async": false
}

Paramètres :

Champ Type Description
input object Données d'entrée pour le workflow
async boolean true pour exécution asynchrone, false pour synchrone

Réponse (synchrone) :

{
  "success": true,
  "data": {
    "execution_id": "exec_abc123",
    "status": "completed",
    "output": { ... },
    "duration_ms": 2450
  }
}

Réponse (asynchrone) :

{
  "success": true,
  "data": {
    "execution_id": "exec_abc123",
    "status": "running"
  }
}

Vérifier le Statut d'une Exécution

GET /api/v1/orchestration/executions/{execution_id}

Crews (NeuraCrew)

Lister les Crews

GET /api/v1/orchestration/crews

Exécuter un Crew

POST /api/v1/orchestration/crews/{id}/execute

Corps de la requête :

{
  "objective": "Analysez les données de vente du Q1 et produisez un rapport",
  "context": {
    "project_id": 1,
    "additional_data": "..."
  },
  "async": true
}

Paramètres :

Champ Type Description
objective string Objectif à atteindre par le crew
context object Contexte additionnel (projet, données)
async boolean Recommandé true car les crews sont souvent longs

Historique des Exécutions

Lister l'Historique

GET /api/v1/orchestration/executions?type=workflow&status=completed&limit=20

Paramètres de filtrage :

Paramètre Valeurs Description
type workflow, crew Filtrer par type
status running, completed, failed Filtrer par statut
limit 1-100 Nombre de résultats (défaut : 20)
offset number Pagination

Webhooks

Vous pouvez configurer des webhooks pour recevoir des notifications lorsqu'une exécution se termine :

POST /api/v1/orchestration/webhooks
{
  "url": "https://votre-serveur.com/webhook",
  "events": ["execution.completed", "execution.failed"]
}

Bonnes Pratiques

  • Utilisez le mode asynchrone pour les workflows longs et les crews multi-agents
  • Implémentez un polling sur l'endpoint d'exécution pour suivre le statut
  • Configurez des webhooks pour éviter le polling intensif
  • Gérez les erreurs : vérifiez le champ success et les codes HTTP