Integrationsleitfaden REST API
Verbinden Sie Ihre Anwendungen über die REST API mit AILabsAudit. Rufen Sie Audits, Kunden, Berichte und Analytics programmatisch ab.
Inhaltsverzeichnis
Voraussetzungen
Stellen Sie vor der Integration der REST API sicher, dass Sie Folgendes haben:
Ein Enterprise- oder Partner-Konto
Der API-Zugang erfordert einen Enterprise-Plan oder Partner-Status. Zugang beantragen, falls Sie noch keinen haben.
Einen REST API Key
Sie benötigen einen API Key (Format aila_...), der auf der Seite API & Integrationen generiert wird.
Einen HTTP-Client
Jeder HTTP-Client funktioniert: curl, Python requests, JavaScript fetch, Postman usw.
API Key erhalten
Ihr API Key ist derselbe, der auch für MCP-Verbindungen verwendet wird. Falls Sie bereits einen haben, können Sie ihn direkt verwenden.
Zu API & Integrationen navigieren
Gehen Sie in Ihrem Dashboard zu Konto → API & Integrationen.
Neuen Key erstellen
Klicken Sie auf „API Key erstellen", vergeben Sie einen Namen (z. B. „Meine App") und wählen Sie die gewünschten Berechtigungen.
Kopieren und sicher aufbewahren
Ihr Key beginnt mit aila_. Kopieren Sie ihn sofort — er wird nicht erneut angezeigt. Speichern Sie ihn in einer Umgebungsvariable, niemals im Quellcode.
Tipp
Sie können die API auch interaktiv über unsere Swagger-Dokumentation erkunden, die alle verfügbaren Endpoints auflistet.
Authentifizierung
Die API unterstützt zwei Authentifizierungsmethoden. Wählen Sie die für Ihren Stack passende:
Methode 1: X-Api-Key Header
curl -H "X-Api-Key: aila_your_key_here" \
https://ailabsaudit.com/api/v1/clients
Methode 2: Authorization Bearer
curl -H "Authorization: Bearer aila_your_key_here" \
https://ailabsaudit.com/api/v1/clients
Sicherheit
Geben Sie Ihren API Key niemals in clientseitigem Code preis (JavaScript im Browser). Führen Sie API-Aufrufe immer von Ihrem Server (Backend) aus durch.
Erste Anfrage
Überprüfen wir, ob Ihre Verbindung funktioniert, indem wir Ihre Kundenliste abrufen:
curl -s -H "X-Api-Key: aila_your_key_here" \
https://ailabsaudit.com/api/v1/clients | python3 -m json.tool
Erfolgreiche Antwort (200 OK)
{
"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
}
}
Das war's!
Wenn Sie Ihre Kundenliste sehen, funktioniert Ihr API Key. Sie können nun alle verfügbaren Endpoints unten erkunden.
Endpoints
Die API ist in 8 Endpoint-Gruppen organisiert. Alle URLs haben das Präfix https://ailabsaudit.com/api/v1/.
Kunden
| Methode | Endpoint | Description |
|---|---|---|
| GET | /clients |
Alle Kunden auflisten |
| GET | /clients/{id} |
Kundendetail |
| GET | /clients/{id}/contacts |
Kundenkontakte |
| GET | /clients/{id}/competitors |
Wettbewerber des Kunden |
| GET | /clients/{id}/360 |
Vollständige 360-Ansicht |
Audits
| Methode | Endpoint | Description |
|---|---|---|
| GET | /audits |
Audits auflisten |
| GET | /audits/{id} |
Audit-Detail |
| GET | /audits/{id}/results |
Audit-Ergebnisse |
| GET | /audits/{id}/scores |
Sichtbarkeits-Scores |
| POST | /audits/launch |
Neuen Audit starten |
Berichte
| Methode | Endpoint | Description |
|---|---|---|
| GET | /reports |
Berichte auflisten |
| GET | /reports/{id} |
Berichtsdetail |
| GET | /reports/{id}/download |
PDF herunterladen |
Aktionspläne
| Methode | Endpoint | Description |
|---|---|---|
| GET | /action-plans |
Aktionspläne auflisten |
| GET | /action-plans/{id} |
Plandetail |
| GET | /action-plans/{id}/progress |
Planfortschritt |
Fragebögen
| Methode | Endpoint | Description |
|---|---|---|
| GET | /questionnaires |
Fragebögen auflisten |
| GET | /questionnaires/{id}/responses |
Antworten zum Fragebogen |
Analytics
| Methode | Endpoint | Description |
|---|---|---|
| GET | /analytics/portfolio |
Portfolio-Übersicht |
| GET | /analytics/leaderboard |
Sichtbarkeits-Ranking |
| GET | /analytics/scores/distribution |
Score-Verteilung |
Modelle
| Methode | Endpoint | Description |
|---|---|---|
| GET | /models |
Verfügbare KI-Modelle auflisten |
| GET | /models/{id} |
Modelldetail & Preise |
Konto
| Methode | Endpoint | Description |
|---|---|---|
| GET | /account/profile |
Ihr Profil |
| GET | /account/credits |
Guthaben |
| GET | /account/subscription |
Abonnement-Info |
Vollständige Dokumentation
Die vollständige Liste aller Endpoints, Parameter und Antwort-Schemas finden Sie in der interaktiven Swagger-Dokumentation.
Paginierung & Filter
Alle Listen-Endpoints unterstützen Paginierung über Query-Parameter:
| Parameter | Standard | Description |
|---|---|---|
page |
1 |
Seitennummer |
per_page |
20 |
Einträge pro Seite (max 100) |
Beispiel mit Paginierung
curl -H "X-Api-Key: aila_your_key_here" \
"https://ailabsaudit.com/api/v1/audits?page=2&per_page=10"
Paginierungs-Objekt in der Antwort
{
"pagination": {
"page": 2,
"per_page": 10,
"total": 47,
"total_pages": 5
}
}
Fehler & Rate Limiting
HTTP-Statuscodes
| Code | Bedeutung |
|---|---|
200 | Erfolg |
400 | Ungültige Anfrage (fehlerhafte Parameter) |
401 | Nicht autorisiert (API Key fehlt oder ungültig) |
403 | Verboten (unzureichende Berechtigungen) |
404 | Nicht gefunden |
429 | Rate Limit erreicht |
500 | Serverfehler |
Format der Fehlerantwort
{
"success": false,
"error": {
"code": 401,
"message": "Invalid or missing API key"
}
}
Rate Limiting
Die API erlaubt 60 Anfragen pro Minute pro API Key. Die Antwort-Header enthalten Rate-Limit-Informationen:
X-RateLimit-Limit: 60 X-RateLimit-Remaining: 58 X-RateLimit-Reset: 1709472000
Wenn Sie das Limit erreichen
Wenn Sie eine 429-Antwort erhalten, warten Sie bis zum X-RateLimit-Reset-Timestamp, bevor Sie es erneut versuchen. Implementieren Sie exponentielles Backoff in Ihrem Code für den Produktiveinsatz.
Codebeispiele
Hier finden Sie vollständige Beispiele für den Einstieg in Ihrer bevorzugten Programmiersprache:
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"]);
Bereit, die API zu integrieren?
Erstellen Sie Ihren API Key in 30 Sekunden und beginnen Sie mit der Integration.
Jetzt startenBereit, Ihre KI-Sichtbarkeit zu prüfen?
Erstellen Sie Ihr kostenloses Konto und erhalten Sie 1000 Bonus-Credits.
Kostenloses Konto erstellen