API-Referenz
EnterpriseIntegriere die Daten deiner Organisation mit externen Tools, Analyseplattformen und individuellen Anwendungen über die Enkelt.ai REST-API.
Basis-URL
https://enkelt.ai/api/public/v1Alle 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
Authorization: Bearer sk_live_your_api_key_hereBeispielanfrage
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
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.
Ratenbegrenzungs-Header
Jede Antwort enthält Header, die deinen aktuellen Ratenbegrenzungsstatus anzeigen:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1703275200Verfü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
/api/public/v1/playersAlle Spieler deiner Organisation auflisten/api/public/v1/playersplayers:read/api/public/v1/players/{id}Einen bestimmten Spieler anhand der ID abrufen/api/public/v1/players/{id}players:read/api/public/v1/playersEinen neuen Spieler erstellen/api/public/v1/playersplayers:write/api/public/v1/players/{id}Einen bestehenden Spieler aktualisieren/api/public/v1/players/{id}players:writeRollenvalidierung
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.
Teams & Zeitplan
/api/public/v1/teamsAlle Teams deiner Organisation auflisten/api/public/v1/teamsteams:read/api/public/v1/rosterRoster-Informationen abrufen/api/public/v1/rosterroster:read/api/public/v1/scheduleBevorstehenden Zeitplan und Matches abrufen/api/public/v1/scheduleschedule:readTalente
/api/public/v1/prospectsAlle Talente in deiner Pipeline auflisten/api/public/v1/prospectsprospects:read/api/public/v1/prospects/{id}Ein bestimmtes Talent abrufen/api/public/v1/prospects/{id}prospects:read/api/public/v1/prospectsEin neues Talent hinzufügen/api/public/v1/prospectsprospects:write/api/public/v1/prospects/{id}Talentdetails aktualisieren/api/public/v1/prospects/{id}prospects:writeVerträge
/api/public/v1/contractsAlle Verträge auflisten/api/public/v1/contractscontracts:read/api/public/v1/contracts/{id}Vertragsdetails abrufen/api/public/v1/contracts/{id}contracts:read/api/public/v1/contracts/expiringBald ablaufende Verträge abrufen/api/public/v1/contracts/expiringcontracts:readAntwortformat
Alle API-Antworten folgen einer konsistenten JSON-Struktur. Erfolgreiche Antworten enthalten die Daten und Metadaten, während Fehler Fehlercodes und Meldungen enthalten.
Erfolgsantwort
{
"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
{
"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_KEY401Der API-Schlüssel fehlt oder ist ungültig formatiert
KEY_REVOKED403Der API-Schlüssel wurde widerrufen
KEY_EXPIRED403Der API-Schlüssel ist abgelaufen
INSUFFICIENT_PERMISSIONS403Dem API-Schlüssel fehlen die erforderlichen Berechtigungen für diesen Endpunkt
VALIDATION_ERROR400Der Request-Body enthält fehlende Pflichtfelder oder ungültige Werte
INVALID_PARAMETER400Ein Query-Parameter hat einen ungültigen Wert
INVALID_ROLE400Die Rolle ist für das Spiel des Teams nicht gültig. Siehe gültige Rollen pro Spiel
RATE_LIMIT_EXCEEDED429Zu viele Anfragen. Warte und versuche es erneut
NOT_FOUND404Die angeforderte Ressource wurde nicht gefunden
INTERNAL_ERROR500Ein 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:readSpielerprofile, Statistiken und Basisinformationen anzeigen
players:writeSpielerprofile erstellen und aktualisieren
prospects:readTalente in deiner Recruiting-Pipeline anzeigen
prospects:writeTalente hinzufügen und aktualisieren
contracts:readVertragsdetails und Ablaufdaten anzeigen
teams:readTeams und Team-Details anzeigen
roster:readRoster-Informationen und Spielerzuordnungen anzeigen
schedule:readBevorstehenden Zeitplan, Matches und Termine anzeigen
Code-Beispiele
Hier sind Beispiele, wie du die API in gängigen Programmiersprachen verwendest.
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 playersPython
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 playersBest 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?