API

Accedez a vos architectures programmatiquement via l'API REST de Siovos Archi.

L'API REST de Siovos Archi vous permet d'acceder a vos projets, nodes, connexions et metadonnees de maniere programmatique. Integrez vos architectures dans vos pipelines CI/CD, outils de documentation ou systemes internes.

L'API est disponible pour les plans Team et Enterprise. Contactez-nous pour obtenir l'acces.

Authentification#

L'API utilise des tokens d'acces personnels (PAT) pour l'authentification.

Creer un token#

  1. Allez dans Parametres > Developpeurs > Tokens API
  2. Cliquez sur Nouveau token
  3. Donnez un nom descriptif (ex: "CI/CD Pipeline")
  4. Selectionnez les scopes necessaires
  5. Copiez le token (affiche une seule fois)

Utiliser le token#

Incluez le token dans le header Authorization :

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.archi.siovos.com/v1/projects

Scopes#

ScopeDescription
read:projectsLire les projets et leur contenu
write:projectsModifier les projets
read:organizationsLire les informations d'organisation
admin:organizationsGerer l'organisation

Endpoints principaux#

Projets#

GET    /v1/projects              # Liste des projets
GET    /v1/projects/:id          # Details d'un projet
GET    /v1/projects/:id/nodes    # Nodes du projet
GET    /v1/projects/:id/edges    # Connexions du projet
POST   /v1/projects              # Creer un projet
PUT    /v1/projects/:id          # Modifier un projet
DELETE /v1/projects/:id          # Supprimer un projet

Nodes#

GET    /v1/projects/:id/nodes/:nodeId    # Details d'un node
POST   /v1/projects/:id/nodes            # Creer un node
PUT    /v1/projects/:id/nodes/:nodeId    # Modifier un node
DELETE /v1/projects/:id/nodes/:nodeId    # Supprimer un node

Connexions#

GET    /v1/projects/:id/edges/:edgeId    # Details d'une connexion
POST   /v1/projects/:id/edges            # Creer une connexion
PUT    /v1/projects/:id/edges/:edgeId    # Modifier une connexion
DELETE /v1/projects/:id/edges/:edgeId    # Supprimer une connexion

Organisation#

GET    /v1/organization          # Informations de l'organisation
GET    /v1/organization/members  # Liste des membres
GET    /v1/workspaces           # Liste des workspaces

Exemples#

Lister les projets#

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.archi.siovos.com/v1/projects

Reponse :

{
  "projects": [
    {
      "id": "prj_abc123",
      "name": "API Gateway",
      "workspace_id": "ws_xyz789",
      "node_count": 15,
      "edge_count": 22,
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ]
}

Recuperer un projet complet#

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.archi.siovos.com/v1/projects/prj_abc123

Ajouter un node#

curl -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "backend",
    "label": "Users Service",
    "position": { "x": 100, "y": 200 },
    "metadata": {
      "technology": "Node.js",
      "port": 3000
    }
  }' \
  https://api.archi.siovos.com/v1/projects/prj_abc123/nodes

Cas d'usage#

Synchronisation CMDB#

Synchronisez vos architectures avec votre CMDB :

  1. Exportez les nodes via l'API
  2. Mappez vers votre modele de donnees
  3. Importez dans le CMDB
  4. Schedulez la synchronisation

Documentation automatique#

Generez de la documentation depuis vos architectures :

  1. Recuperez les projets et leurs nodes
  2. Extrayez les descriptions et metadonnees
  3. Generez du Markdown ou HTML
  4. Publiez sur votre site de documentation

Validation CI/CD#

Validez les architectures dans vos pipelines :

  1. Exportez l'architecture via l'API
  2. Executez vos regles de validation
  3. Echouez le build si non conforme
  4. Integrez avec GitHub Actions, GitLab CI, etc.

Monitoring#

Enrichissez vos dashboards avec les informations d'architecture :

  1. Recuperez la liste des services
  2. Correllez avec vos metriques
  3. Affichez l'etat de chaque composant

Rate limiting#

PlanLimite
Team100 requetes/minute
Enterprise1000 requetes/minute

Les limites sont par token. Les headers de reponse indiquent l'etat :

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1673789000

Webhooks (a venir)#

Les webhooks vous permettront de recevoir des notifications en temps reel :

  • Nouveau projet cree
  • Architecture modifiee
  • Commentaire ajoute
  • Membre invite

SDK (a venir)#

Des SDK sont prevus pour les langages populaires :

  • JavaScript/TypeScript
  • Python
  • Go

Support#

Pour les questions sur l'API :

  • Documentation : Cette page + reference OpenAPI
  • Email : api-support@siovos.com
  • Enterprise : Accompagnement personnalise

Prochaines etapes#