Verwaltung

API-Referenz

Enterprise

Integriere die Daten deiner Organisation mit externen Tools, Analyseplattformen und individuellen Anwendungen über die Enkelt.ai REST-API.

Basis-URL

https://enkelt.ai/api/public/v1

Alle API-Anfragen sollten an diese Basis-URL gerichtet werden. HTTPS ist erforderlich.

Kurzüberblick

Die Enkelt.ai-API bietet programmatischen Zugriff auf die Daten deiner Organisation. Nutze sie, um individuelle Integrationen zu erstellen, Daten mit externen Systemen zu synchronisieren oder automatisierte Workflows zu erstellen.

Bearer-Authentifizierung

Authentifiziere dich mit API-Schlüsseln über den Authorization-Header.

Ratenbegrenzt

Anfragen sind pro Tarif ratenbegrenzt. Enterprise erhält 1.000 Anfragen/Min.

JSON-Format

Alle Anfragen und Antworten verwenden JSON. UTF-8-Kodierung erforderlich.

Authentifizierung

Alle API-Anfragen erfordern eine Authentifizierung über ein Bearer-Token. Erstelle API-Schlüssel im Bereich Compliance > API-Schlüssel in deinem Dashboard.

Authorization-Header

HTTP Header
Authorization: Bearer sk_live_your_api_key_here

Beispielanfrage

cURL
curl -X GET "https://enkelt.ai/api/public/v1/players" \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json"

Halte deinen API-Schlüssel sicher

Gib deinen API-Schlüssel niemals in clientseitigem Code, öffentlichen Repositories oder Protokollen preis. Behandle ihn wie ein Passwort. Widerrufe ihn bei Kompromittierung sofort und erstelle einen neuen.

Ratenbegrenzung

API-Anfragen sind ratenbegrenzt, um faire Nutzung und Systemstabilität zu gewährleisten. Limits gelten pro API-Schlüssel und werden auf rollierender Fensterbasis zurückgesetzt.

Free
Anfragen / Minute
10
Anfragen / Tag
100
Basic
Anfragen / Minute
60
Anfragen / Tag
1,000
Pro
Anfragen / Minute
300
Anfragen / Tag
10,000
Enterprise
Anfragen / Minute
1,000
Anfragen / Tag
100,000

Ratenbegrenzungs-Header

Jede Antwort enthält Header, die deinen aktuellen Ratenbegrenzungsstatus anzeigen:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1703275200

Verfügbare Endpunkte

Die API bietet Zugriff auf die folgenden Ressourcen. Alle Endpunkte erfordern eine Authentifizierung und respektieren die deinem API-Schlüssel zugewiesenen Berechtigungen.

Spieler

GETplayers:read
/api/public/v1/playersAlle Spieler deiner Organisation auflisten
GETplayers:read
/api/public/v1/players/{id}Einen bestimmten Spieler anhand der ID abrufen
POSTplayers:write
/api/public/v1/playersEinen neuen Spieler erstellen
PATCHplayers:write
/api/public/v1/players/{id}Einen bestehenden Spieler aktualisieren

Rollenvalidierung

Das Rollenfeld muss eine gültige Rolle für das Spiel des Teams sein. Wenn kein Team zugewiesen ist, werden Rollen gegen die Rollen des Spiels "Sonstiges" validiert.

LoL: Top, Jungle, Mid, ADC, Support, Coach, Analyst, Substitute
Valorant: Duelist, Initiator, Controller, Sentinel, Flex, IGL, Coach, Analyst, Substitute
CS2: Entry Fragger, AWPer, Rifler, Support, Lurker, IGL, Coach, Analyst, Substitute
Other: Player, Captain, Coach, Analyst, Manager, Substitute

Teams & Zeitplan

GETteams:read
/api/public/v1/teamsAlle Teams deiner Organisation auflisten
GETroster:read
/api/public/v1/rosterRoster-Informationen abrufen
GETschedule:read
/api/public/v1/scheduleBevorstehenden Zeitplan und Matches abrufen

Talente

GETprospects:read
/api/public/v1/prospectsAlle Talente in deiner Pipeline auflisten
GETprospects:read
/api/public/v1/prospects/{id}Ein bestimmtes Talent abrufen
POSTprospects:write
/api/public/v1/prospectsEin neues Talent hinzufügen
PATCHprospects:write
/api/public/v1/prospects/{id}Talentdetails aktualisieren

Verträge

GETcontracts:read
/api/public/v1/contractsAlle Verträge auflisten
GETcontracts:read
/api/public/v1/contracts/{id}Vertragsdetails abrufen
GETcontracts:read
/api/public/v1/contracts/expiringBald ablaufende Verträge abrufen

Antwortformat

Alle API-Antworten folgen einer konsistenten JSON-Struktur. Erfolgreiche Antworten enthalten die Daten und Metadaten, während Fehler Fehlercodes und Meldungen enthalten.

Erfolgsantwort

200 OK
{
  "success": true,
  "data": {
    "id": "player_abc123",
    "ign": "TenZ",
    "realName": "Tyson Ngo",
    "role": "Duelist",
    "teamId": "team_xyz789",
    "contractStatus": "active",
    "joinDate": 1705314600000
  },
  "meta": {
    "count": 1,
    "requestId": "req_xyz789",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}

Fehlerantwort

4xx / 5xx
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded",
    "status": 429
  },
  "meta": {
    "requestId": "req_xyz789",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}

Fehlercodes

Bei einem Fehler gibt die API einen passenden HTTP-Statuscode und einen JSON-Body mit Details zum Fehler zurück.

INVALID_API_KEY401

Der API-Schlüssel fehlt oder ist ungültig formatiert

KEY_REVOKED403

Der API-Schlüssel wurde widerrufen

KEY_EXPIRED403

Der API-Schlüssel ist abgelaufen

INSUFFICIENT_PERMISSIONS403

Dem API-Schlüssel fehlen die erforderlichen Berechtigungen für diesen Endpunkt

VALIDATION_ERROR400

Der Request-Body enthält fehlende Pflichtfelder oder ungültige Werte

INVALID_PARAMETER400

Ein Query-Parameter hat einen ungültigen Wert

INVALID_ROLE400

Die Rolle ist für das Spiel des Teams nicht gültig. Siehe gültige Rollen pro Spiel

RATE_LIMIT_EXCEEDED429

Zu viele Anfragen. Warte und versuche es erneut

NOT_FOUND404

Die angeforderte Ressource wurde nicht gefunden

INTERNAL_ERROR500

Ein unerwarteter Serverfehler ist aufgetreten

Berechtigungen & Scopes

API-Schlüsseln können spezifische Berechtigungen zugewiesen werden, um einzuschränken, auf welche Daten sie zugreifen können. Verwende immer die minimal erforderlichen Berechtigungen für deine Integration.

players:read

Spielerprofile, Statistiken und Basisinformationen anzeigen

players:write

Spielerprofile erstellen und aktualisieren

prospects:read

Talente in deiner Recruiting-Pipeline anzeigen

prospects:write

Talente hinzufügen und aktualisieren

contracts:read

Vertragsdetails und Ablaufdaten anzeigen

teams:read

Teams und Team-Details anzeigen

roster:read

Roster-Informationen und Spielerzuordnungen anzeigen

schedule:read

Bevorstehenden Zeitplan, Matches und Termine anzeigen

Code-Beispiele

Hier sind Beispiele, wie du die API in gängigen Programmiersprachen verwendest.

JavaScript / Node.js

JavaScript / Node.js
const response = await fetch('https://enkelt.ai/api/public/v1/players', {
  headers: {
    'Authorization': 'Bearer sk_live_your_api_key',
    'Content-Type': 'application/json'
  }
});

const { data } = await response.json();
console.log(data); // Array of players

Python

Python
import requests

response = requests.get(
    'https://enkelt.ai/api/public/v1/players',
    headers={
        'Authorization': 'Bearer sk_live_your_api_key',
        'Content-Type': 'application/json'
    }
)

data = response.json()
print(data['data'])  # List of players

Best Practices

  • Nutze Umgebungsvariablen, um deinen API-Schlüssel zu speichern, hardcode ihn niemals
  • Implementiere exponentielles Backoff, wenn du Ratenbegrenzungsfehler (429) erhältst
  • Cache Antworten, wenn möglich, um API-Aufrufe zu reduzieren
  • Nutze die minimal erforderlichen Berechtigungen für deinen API-Schlüssel
  • Rotiere API-Schlüssel regelmäßig für bessere Sicherheit
  • Überwache deine API-Nutzung im Dashboard, um Limits nicht zu überschreiten

Brauchst du Hilfe?

Sieh im API-Schlüssel-Dashboard für Nutzungsanalysen und Protokolle nach. Bei Problemen kontaktiere unser Support-Team mit deiner Request-ID aus der Fehlerantwort.