Документация API
Интегрируйте SquadHub.GG в свои приложения с нашим REST API
Начало работы
1. Получите API-ключ
Доступ к API доступен для пользователей плана Организация. Создайте API-ключ в настройках аккаунта.
2. Аутентификация
Включите ваш API-ключ в заголовок Authorization каждого запроса:
Authorization: Bearer sk_live_your_api_key_here3. Базовый URL
https://squadhub.gg/api/v14. Лимиты запросов
100 запросов в минуту на один API-ключ
Эндпоинты API
GET
/api/v1/tournamentsСписок всех ваших турниров
read:tournaments
Параметры запроса
page(number)Номер страницы (по умолчанию: 1)limit(number)Результатов на страницу (по умолчанию: 20, макс: 100)status(string)Фильтр по статусу (registration, ongoing, completed)game_id(string)Фильтр по ID игрыОтвет
{
"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/tournamentsСоздать новый турнир
write:tournaments
Тело запроса
{
"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"
}Ответ
{
"success": true,
"data": {
"id": "uuid",
"name": "Summer Championship 2025",
"slug": "summer-championship-2025-abc123",
"status": "registration",
...
},
"meta": { ... }
}GET
/api/v1/tournaments/{id}Получить детали турнира
read:tournaments
Ответ
{
"success": true,
"data": {
"id": "uuid",
"name": "Tournament Name",
...
},
"meta": { ... }
}PATCH
/api/v1/tournaments/{id}Обновить турнир
write:tournaments
Тело запроса
{
"name": "Updated Name",
"max_teams": 64,
"status": "ongoing"
}Ответ
{
"success": true,
"data": { ... },
"meta": { ... }
}DELETE
/api/v1/tournaments/{id}Удалить турнир
write:tournaments
Ответ
{
"success": true,
"data": {
"message": "Tournament deleted successfully"
},
"meta": { ... }
}GET
/api/v1/tournaments/{id}/registrationsСписок регистраций турнира
read:registrations
Параметры запроса
status(string)Фильтр по статусу оплатыОтвет
{
"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}/registrationsЗарегистрировать команду на турнир
write:registrations
Тело запроса
{
"team_id": "uuid"
}Ответ
{
"success": true,
"data": {
"id": "uuid",
"tournament_id": "uuid",
"team_id": "uuid",
...
},
"meta": { ... }
}GET
/api/v1/tournaments/{id}/resultsПолучить результаты и рейтинг турнира
read:results
Ответ
{
"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": { ... }
}Коды ошибок
400Неверный запрос
Недопустимые параметры или тело запроса
401Не авторизован
Отсутствует или недействителен API-ключ
403Запрещено
Отсутствует необходимое разрешение
404Не найдено
Ресурс не найден
429Слишком много запросов
Превышен лимит запросов
500Ошибка сервера
Произошла ошибка сервера