Modules IA Fonctionnalités Étapes Tarifs FAQ Blog Tutoriel Vidéos Glossaire À propos Agences
API REST v1

Guide d'integration API REST

Connectez vos applications a AILabsAudit via l'API REST. Recuperez audits, clients, rapports et analytics programmatiquement.

Sommaire

  1. Prerequis
  2. Obtenir sa cle API
  3. Authentification
  4. Premiere requete
  5. Endpoints
  6. Pagination & filtres
  7. Erreurs & rate limiting
  8. Exemples de code

Prerequis

Avant d'integrer l'API REST, assurez-vous de disposer de :

1

Un compte Enterprise ou Partenaire

L'acces a l'API necessite un plan Enterprise ou le statut partenaire. Demandez l'acces si vous n'en avez pas encore.

2

Une cle API REST

Vous aurez besoin d'une cle API (format aila_...) generee depuis la page API & Integrations.

3

Un client HTTP

N'importe quel client HTTP convient : curl, Python requests, JavaScript fetch, Postman, etc.

Obtenir sa cle API

Votre cle API est la meme que celle utilisee pour les connexions MCP. Si vous en avez deja une, vous pouvez l'utiliser directement.

1

Aller dans API & Integrations

Naviguez vers Compte → API & Integrations dans votre tableau de bord.

2

Creer une nouvelle cle

Cliquez sur "Creer une cle API", donnez-lui un nom (ex. "Mon App") et selectionnez les permissions souhaitees.

3

Copier et stocker en securite

Votre cle commence par aila_. Copiez-la immediatement — elle ne sera plus affichee. Stockez-la dans une variable d'environnement, jamais dans votre code source.

Astuce

Vous pouvez aussi explorer l'API de maniere interactive via notre documentation Swagger qui liste tous les endpoints disponibles.

Authentification

L'API supporte deux methodes d'authentification. Choisissez celle qui convient a votre stack :

Methode 1 : Header X-Api-Key

CURL
curl -H "X-Api-Key: aila_your_key_here" \
     https://ailabsaudit.com/api/v1/clients

Methode 2 : Authorization Bearer

CURL
curl -H "Authorization: Bearer aila_your_key_here" \
     https://ailabsaudit.com/api/v1/clients

Securite

N'exposez jamais votre cle API dans du code cote client (JavaScript dans le navigateur). Effectuez toujours les appels API depuis votre serveur (backend).

Premiere requete

Verifions que votre connexion fonctionne en recuperant la liste de vos clients :

CURL
curl -s -H "X-Api-Key: aila_your_key_here" \
     https://ailabsaudit.com/api/v1/clients | python3 -m json.tool

Reponse reussie (200 OK)

JSON
{
    "success": true,
    "data": [
        {
            "id": 42,
            "name": "Acme Corp",
            "sector": "Technology",
            "website": "https://acme.com",
            "country": "FR",
            "created_at": "2025-01-15T10:30:00Z"
        }
    ],
    "pagination": {
        "page": 1,
        "per_page": 20,
        "total": 1,
        "total_pages": 1
    }
}

C'est tout !

Si vous voyez la liste de vos clients, votre cle API fonctionne. Vous pouvez maintenant explorer tous les endpoints disponibles ci-dessous.

Endpoints

L'API est organisee en 8 groupes d'endpoints. Toutes les URLs sont prefixees par https://ailabsaudit.com/api/v1/.

Clients

Methode Endpoint Description
GET /clients Lister tous les clients
GET /clients/{id} Detail d'un client
GET /clients/{id}/contacts Contacts du client
GET /clients/{id}/competitors Concurrents du client
GET /clients/{id}/360 Vue 360 complete

Audits

Methode Endpoint Description
GET /audits Lister les audits
GET /audits/{id} Detail d'un audit
GET /audits/{id}/results Resultats d'un audit
GET /audits/{id}/scores Scores de visibilite
POST /audits/launch Lancer un nouvel audit

Rapports

Methode Endpoint Description
GET /reports Lister les rapports
GET /reports/{id} Detail d'un rapport
GET /reports/{id}/download Telecharger le PDF

Plans d'action

Methode Endpoint Description
GET /action-plans Lister les plans d'action
GET /action-plans/{id} Detail d'un plan
GET /action-plans/{id}/progress Progression du plan

Questionnaires

Methode Endpoint Description
GET /questionnaires Lister les questionnaires
GET /questionnaires/{id}/responses Reponses du questionnaire

Analytics

Methode Endpoint Description
GET /analytics/portfolio Vue d'ensemble du portfolio
GET /analytics/leaderboard Classement de visibilite
GET /analytics/scores/distribution Distribution des scores

Modeles

Methode Endpoint Description
GET /models Lister les modeles IA disponibles
GET /models/{id} Detail du modele & tarifs

Compte

Methode Endpoint Description
GET /account/profile Votre profil
GET /account/credits Solde de credits
GET /account/subscription Info abonnement

Documentation complete

Pour la liste complete des endpoints, parametres et schemas de reponse, consultez la documentation Swagger interactive.

Pagination & filtres

Tous les endpoints de liste supportent la pagination via des parametres de requete :

Parametre Defaut Description
page 1 Numero de page
per_page 20 Elements par page (max 100)

Exemple avec pagination

CURL
curl -H "X-Api-Key: aila_your_key_here" \
     "https://ailabsaudit.com/api/v1/audits?page=2&per_page=10"

Objet pagination dans la reponse

JSON
{
    "pagination": {
        "page": 2,
        "per_page": 10,
        "total": 47,
        "total_pages": 5
    }
}

Erreurs & rate limiting

Codes de statut HTTP

Code Signification
200Succes
400Requete invalide (parametres incorrects)
401Non autorise (cle API absente ou invalide)
403Interdit (permissions insuffisantes)
404Non trouve
429Limite de requetes atteinte
500Erreur serveur

Format de reponse en erreur

JSON
{
    "success": false,
    "error": {
        "code": 401,
        "message": "Invalid or missing API key"
    }
}

Rate limiting

L'API autorise 60 requetes par minute par cle API. Les headers de reponse incluent les informations de limite :

HTTP HEADERS
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1709472000

Si vous atteignez la limite

Lorsque vous recevez une reponse 429, attendez le timestamp X-RateLimit-Reset avant de reessayer. Implementez un backoff exponentiel dans votre code pour la production.

Exemples de code

Voici des exemples complets pour demarrer dans votre langage prefere :

import requests

API_KEY = "aila_your_key_here"
BASE_URL = "https://ailabsaudit.com/api/v1"

headers = {"X-Api-Key": API_KEY}

# List clients
response = requests.get(f"{BASE_URL}/clients", headers=headers)
clients = response.json()

for client in clients["data"]:
    print(f"{client['name']} — {client['sector']}")

    # Get audits for each client
    audits = requests.get(
        f"{BASE_URL}/audits",
        headers=headers,
        params={"client_id": client["id"], "per_page": 5}
    ).json()

    for audit in audits["data"]:
        print(f"  Audit #{audit['id']} — Score: {audit.get('score', 'N/A')}")

# Download a report as PDF
report_id = 1
r = requests.get(
    f"{BASE_URL}/reports/{report_id}/download",
    headers=headers
)
if r.status_code == 200:
    with open(f"report_{report_id}.pdf", "wb") as f:
        f.write(r.content)
    print(f"Report saved: report_{report_id}.pdf")
const API_KEY = "aila_your_key_here";
const BASE_URL = "https://ailabsaudit.com/api/v1";

const headers = { "X-Api-Key": API_KEY };

// List clients
async function getClients() {
    const response = await fetch(`${BASE_URL}/clients`, { headers });
    const { data, pagination } = await response.json();

    console.log(`${pagination.total} clients found`);
    data.forEach(client => {
        console.log(`${client.name} — ${client.sector}`);
    });

    return data;
}

// Get audit results
async function getAuditResults(auditId) {
    const response = await fetch(
        `${BASE_URL}/audits/${auditId}/results`,
        { headers }
    );
    return await response.json();
}

// Paginate through all audits
async function getAllAudits() {
    let page = 1;
    let allAudits = [];

    while (true) {
        const response = await fetch(
            `${BASE_URL}/audits?page=${page}&per_page=50`,
            { headers }
        );
        const { data, pagination } = await response.json();
        allAudits.push(...data);

        if (page >= pagination.total_pages) break;
        page++;
    }

    return allAudits;
}

getClients().then(console.log);
<?php
$apiKey = "aila_your_key_here";
$baseUrl = "https://ailabsaudit.com/api/v1";

function apiRequest($endpoint, $params = []) {
    global $apiKey, $baseUrl;

    $url = $baseUrl . $endpoint;
    if (!empty($params)) {
        $url .= "?" . http_build_query($params);
    }

    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ["X-Api-Key: $apiKey"],
    ]);

    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($httpCode !== 200) {
        throw new Exception("API error: HTTP $httpCode");
    }

    return json_decode($response, true);
}

// List clients
$clients = apiRequest("/clients");
foreach ($clients["data"] as $client) {
    echo "{$client['name']} — {$client['sector']}\n";
}

// Get audits with pagination
$audits = apiRequest("/audits", [
    "page" => 1,
    "per_page" => 10
]);
echo "Total audits: {$audits['pagination']['total']}\n";

// Get client 360 view
$client360 = apiRequest("/clients/42/360");
print_r($client360["data"]);

Pret a integrer l'API ?

Creez votre cle API en 30 secondes et commencez a construire votre integration.

Commencer

Prêt à auditer votre visibilité IA ?

Créez votre compte gratuitement et recevez 1000 crédits bonus.

Créer un compte gratuit