Skip to content

Reference API

CyberOrigen fournit une API REST complete pour l'integration avec vos outils et workflows existants.

URL de Base

https://backend.cyberorigen.com/api/v1

Toutes les requetes API sont effectuees vers cette URL de base.

Documentation Interactive

Une fois authentifie, accedez a la documentation API interactive :

  • Swagger UI : /docs
  • ReDoc : /redoc
  • Spec OpenAPI : /openapi.json

Authentification

Toutes les requetes API necessitent une authentification via token JWT bearer.

Obtenir un Token

bash
curl -X POST https://api.yourdomain.com/api/v1/auth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "[email protected]&password=yourpassword"

Reponse :

json
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer",
  "expires_in": 3600
}

Utiliser le Token

bash
curl https://api.yourdomain.com/api/v1/scans \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Limitation de Debit

Les limites de debit varient selon le niveau d'abonnement :

FormuleRequetes/HeureRequetes/Jour
Startup1001 000
Professional5005 000
EnterprisePersonnalisePersonnalise

Lorsque les limites sont depassees, l'API retourne HTTP 429 (Too Many Requests).

Les en-tetes de limite de debit sont inclus dans les reponses :

X-RateLimit-Limit: <requetes_autorisees>
X-RateLimit-Remaining: <requetes_restantes>
X-RateLimit-Reset: <timestamp_unix>

Besoin de Limites Plus Elevees ?

Contactez [email protected] pour des limites de debit personnalisees.

Endpoints Courants

Verification de Sante

bash
GET /api/health

Reponse :

json
{
  "status": "healthy",
  "version": "0.1.0",
  "timestamp": "2025-12-21T12:00:00Z"
}

Lister les Analyses

bash
GET /api/v1/scans

Reponse :

json
{
  "items": [
    {
      "id": "scan_abc123",
      "target": "example.com",
      "status": "completed",
      "created_at": "2025-12-21T10:00:00Z",
      "vulnerabilities_found": 5
    }
  ],
  "total": 1,
  "page": 1,
  "per_page": 20
}

Creer une Analyse

bash
POST /api/v1/scans
Content-Type: application/json

{
  "target": "example.com",
  "scan_type": "full",
  "frameworks": ["soc2", "pci-dss"]
}

Obtenir le Statut des Controles

bash
GET /api/v1/controls

Reponse :

json
{
  "items": [
    {
      "id": "ctrl_123",
      "name": "Politique de Controle d'Acces",
      "status": "implemented",
      "frameworks": ["SOC 2", "ISO 27001"],
      "evidence_count": 3
    }
  ]
}

Reponses d'Erreur

Toutes les erreurs suivent un format coherent :

json
{
  "detail": "Message d'erreur ici",
  "error_code": "VALIDATION_ERROR",
  "field": "email"
}

Codes de Statut HTTP

CodeSignification
200Succes
201Cree
400Requete Invalide
401Non Autorise
403Interdit
404Non Trouve
422Erreur de Validation
429Trop de Requetes
500Erreur Serveur

Pagination

Les endpoints de liste supportent la pagination :

bash
GET /api/v1/scans?page=2&per_page=50

La reponse inclut les metadonnees de pagination :

json
{
  "items": [...],
  "total": 150,
  "page": 2,
  "per_page": 50,
  "pages": 3
}

Webhooks

Configurez des webhooks pour recevoir des notifications en temps reel :

bash
POST /api/v1/webhooks
Content-Type: application/json

{
  "url": "https://your-server.com/webhook",
  "events": ["scan.completed", "vulnerability.found"],
  "secret": "your-webhook-secret"
}

SDKs

Des SDKs officiels sont prevus pour :

  • Python
  • TypeScript/JavaScript
  • Go

Pour l'instant, utilisez l'API REST directement ou generez un client a partir de la spec OpenAPI.

Updated at:

Agentic AI-Powered Security & Compliance