API Dokumentation
Integriere SquadHub.GG in deine Anwendungen mit unserer REST-API
Erste Schritte
1. API-Schlüssel erhalten
API-Zugang ist für Nutzer des Organisation-Plans verfügbar. Erstelle einen API-Schlüssel in deinen Kontoeinstellungen.
2. Authentifizierung
Füge deinen API-Schlüssel im Authorization-Header jeder Anfrage hinzu:
Authorization: Bearer sk_live_your_api_key_here3. Basis-URL
https://squadhub.gg/api/v14. Anfragelimits
100 Anfragen pro Minute pro API-Schlüssel
API-Endpunkte
GET
/api/v1/tournamentsAlle deine Turniere auflisten
read:tournaments
Abfrageparameter
page(number)Seitennummer (Standard: 1)limit(number)Ergebnisse pro Seite (Standard: 20, max: 100)status(string)Nach Status filtern (registration, ongoing, completed)game_id(string)Nach Spiel-ID filternAntwort
{
"success": true,
"data": [
{
"id": "uuid",
"name": "Tournament Name",
"slug": "tournament-slug",
"status": "registration",
"format": "single_elimination",
"team_size": 5,
"max_teams": 32,
...
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 45
},
"meta": {
"timestamp": "2025-12-11T...",
"api_version": "1.0"
}
}POST
/api/v1/tournamentsNeues Turnier erstellen
write:tournaments
Anfragekörper
{
"name": "Summer Championship 2025",
"description": "Annual summer tournament",
"game_id": "uuid",
"format": "single_elimination",
"team_size": 5,
"max_teams": 32,
"entry_fee": 0,
"prize_pool": 1000,
"starts_at": "2025-07-01T18:00:00Z",
"registration_closes": "2025-06-25T18:00:00Z",
"rules": "Standard tournament rules apply"
}Antwort
{
"success": true,
"data": {
"id": "uuid",
"name": "Summer Championship 2025",
"slug": "summer-championship-2025-abc123",
"status": "registration",
...
},
"meta": { ... }
}GET
/api/v1/tournaments/{id}Turnierdetails abrufen
read:tournaments
Antwort
{
"success": true,
"data": {
"id": "uuid",
"name": "Tournament Name",
...
},
"meta": { ... }
}PATCH
/api/v1/tournaments/{id}Turnier aktualisieren
write:tournaments
Anfragekörper
{
"name": "Updated Name",
"max_teams": 64,
"status": "ongoing"
}Antwort
{
"success": true,
"data": { ... },
"meta": { ... }
}DELETE
/api/v1/tournaments/{id}Turnier löschen
write:tournaments
Antwort
{
"success": true,
"data": {
"message": "Tournament deleted successfully"
},
"meta": { ... }
}GET
/api/v1/tournaments/{id}/registrationsTurnieranmeldungen auflisten
read:registrations
Abfrageparameter
status(string)Nach Zahlungsstatus filternAntwort
{
"success": true,
"data": [
{
"id": "uuid",
"tournament_id": "uuid",
"team_id": "uuid",
"payment_status": "complete",
"registered_at": "2025-06-20T...",
"teams": {
"id": "uuid",
"name": "Team Name",
"tag": "TAG",
"logo_url": "..."
}
}
],
"meta": { ... }
}POST
/api/v1/tournaments/{id}/registrationsTeam für Turnier anmelden
write:registrations
Anfragekörper
{
"team_id": "uuid"
}Antwort
{
"success": true,
"data": {
"id": "uuid",
"tournament_id": "uuid",
"team_id": "uuid",
...
},
"meta": { ... }
}GET
/api/v1/tournaments/{id}/resultsTurnierergebnisse und Ranglisten abrufen
read:results
Antwort
{
"success": true,
"data": {
"tournament": {
"id": "uuid",
"format": "single_elimination",
"status": "completed"
},
"matches": [ ... ],
"standings": [
{
"position": 1,
"team_id": "uuid",
"team_name": "Champions",
"team_tag": "CHM"
}
]
},
"meta": { ... }
}Fehlercodes
400Ungültige Anfrage
Ungültige Anfrageparameter oder -körper
401Nicht autorisiert
Fehlender oder ungültiger API-Schlüssel
403Verboten
Fehlende erforderliche Berechtigung
404Nicht gefunden
Ressource nicht gefunden
429Zu viele Anfragen
Anfragelimit überschritten
500Serverfehler
Ein Serverfehler ist aufgetreten