/* Auto-generated styles from inline styles */ API Документація - GGHOST
.auto-style-7 { max-width: 1000px; margin: 2rem auto; }
.auto-style-8 { margin-bottom: 2rem; }

API Документація

.auto-style-9 { line-height: 1.8; }
.auto-style-10 { margin-bottom: 2rem; padding: 1.5rem; background: var(--bg-secondary); border-radius: 0.5rem; border-left: 4px solid var(--primary-color); }
.auto-style-11 { color: var(--primary-color); margin-bottom: 0.75rem; }

Базовий URL

.auto-style-12 { display: block; padding: 0.75rem; background: var(--bg-dark); border-radius: 0.375rem; color: var(--success-color); font-family: 'Courier New', monospace; } https://gghost.fun/api
.auto-style-13 { margin-bottom: 3rem; }
.auto-style-14 { color: var(--primary-color); margin-bottom: 1rem; }

Аутентифікація

.auto-style-15 { color: var(--text-primary); margin-bottom: 1rem; }

Більшість API endpoints вимагають аутентифікації через сесійні cookies. .auto-style-16 { background: var(--bg-hover); padding: 0.25rem 0.5rem; border-radius: 0.25rem; } Авторизуйтеся через POST /api/auth/login перед використанням захищених endpoints.

.auto-style-17 { margin-bottom: 3rem; }
.auto-style-18 { color: var(--primary-color); margin-bottom: 1rem; }

Основні Endpoints

.auto-style-19 { margin-bottom: 2rem; }
.auto-style-20 { color: var(--text-primary); margin-bottom: 0.75rem; }

Авторизація

.auto-style-21 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-22 { color: var(--primary-color); font-weight: 600; } POST /api/auth/login .auto-style-23 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Вхід в систему. Параметри: email, password

.auto-style-24 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-25 { color: var(--primary-color); font-weight: 600; } POST /api/auth/register .auto-style-26 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Реєстрація нового користувача. Параметри: email, password, name

.auto-style-27 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; }
.auto-style-28 { color: var(--primary-color); font-weight: 600; } GET /api/auth/me .auto-style-29 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Отримати інформацію про поточного користувача

.auto-style-30 { margin-bottom: 2rem; }
.auto-style-31 { color: var(--text-primary); margin-bottom: 0.75rem; }

Сервери

.auto-style-32 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-33 { color: var(--primary-color); font-weight: 600; } GET /api/servers .auto-style-34 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Отримати список серверів поточного користувача

.auto-style-35 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-36 { color: var(--primary-color); font-weight: 600; } GET /api/servers/:id .auto-style-37 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Отримати інформацію про конкретний сервер. Query параметр: ?skipStatusCheck=true

.auto-style-38 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-39 { color: var(--primary-color); font-weight: 600; } POST /api/servers/:id/start .auto-style-40 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Запустити сервер

.auto-style-41 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-42 { color: var(--primary-color); font-weight: 600; } POST /api/servers/:id/stop .auto-style-43 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Зупинити сервер

.auto-style-44 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-45 { color: var(--primary-color); font-weight: 600; } POST /api/servers/:id/restart .auto-style-46 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Перезапустити сервер

.auto-style-47 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; }
.auto-style-48 { color: var(--primary-color); font-weight: 600; } GET /api/servers/:id/console-logs .auto-style-49 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Отримати логи консолі сервера

.auto-style-50 { margin-bottom: 2rem; }
.auto-style-51 { color: var(--text-primary); margin-bottom: 0.75rem; }

Налаштування сервера

.auto-style-52 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-53 { color: var(--primary-color); font-weight: 600; } GET /api/servers/:id/settings .auto-style-54 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Отримати налаштування сервера

.auto-style-55 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-56 { color: var(--primary-color); font-weight: 600; } POST /api/servers/:id/settings/name .auto-style-57 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Змінити назву сервера. Body: { serverName }

.auto-style-58 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-59 { color: var(--primary-color); font-weight: 600; } POST /api/servers/:id/settings/map .auto-style-60 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Змінити карту. Body: { map }

.auto-style-61 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; }
.auto-style-62 { color: var(--primary-color); font-weight: 600; } POST /api/servers/:id/settings/maxplayers .auto-style-63 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Змінити кількість слотів. Body: { maxPlayers, calculatedCost }

.auto-style-64 { margin-bottom: 2rem; }
.auto-style-65 { color: var(--text-primary); margin-bottom: 0.75rem; }

Консоль та гравці

.auto-style-66 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-67 { color: var(--primary-color); font-weight: 600; } POST /api/servers/:id/console .auto-style-68 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Відправити команду в консоль. Body: { command }

.auto-style-69 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-70 { color: var(--primary-color); font-weight: 600; } GET /api/servers/:id/players .auto-style-71 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Отримати список гравців на сервері

.auto-style-72 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; }
.auto-style-73 { color: var(--primary-color); font-weight: 600; } GET /api/servers/:id/maps .auto-style-74 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Отримати список доступних карт

.auto-style-75 { margin-bottom: 2rem; }
.auto-style-76 { color: var(--text-primary); margin-bottom: 0.75rem; }

Файли

.auto-style-77 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-78 { color: var(--primary-color); font-weight: 600; } GET /api/servers/:id/files/list .auto-style-79 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Отримати список файлів. Query: ?path=/path/to/directory

.auto-style-80 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; margin-bottom: 1rem; }
.auto-style-81 { color: var(--primary-color); font-weight: 600; } GET /api/servers/:id/files/read .auto-style-82 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Прочитати файл. Query: ?path=/path/to/file

.auto-style-83 { padding: 1rem; background: var(--bg-secondary); border-radius: 0.5rem; }
.auto-style-84 { color: var(--primary-color); font-weight: 600; } POST /api/servers/:id/files/write .auto-style-85 { color: var(--text-secondary); font-size: 0.875rem; margin: 0.5rem 0 0 0; }

Записати файл. Body: { path, content }

.auto-style-86 { margin-bottom: 3rem; }
.auto-style-87 { color: var(--primary-color); margin-bottom: 1rem; }

Формат відповіді

.auto-style-88 { color: var(--text-primary); margin-bottom: 1rem; }

.auto-style-89 { background: var(--bg-hover); padding: 0.25rem 0.5rem; border-radius: 0.25rem; } API повертає дані у форматі JSON. У разі помилки повертається об'єкт з полем error.

.auto-style-90 { padding: 1rem; background: var(--bg-dark); border-radius: 0.5rem; font-family: 'Courier New', monospace; font-size: 0.875rem; }
.auto-style-91 { margin: 0; color: var(--success-color); }
{
  "success": true,
  "data": { ... }
}

// Помилка:
{
  "error": "Повідомлення про помилку",
  "details": "Деталі помилки (опціонально)"
}
.auto-style-92 { background: var(--bg-secondary); padding: 1.5rem; border-radius: 0.5rem; border-left: 4px solid var(--primary-color); }
.auto-style-93 { color: var(--primary-color); margin-bottom: 0.75rem; }

Приклад використання

.auto-style-94 { padding: 1rem; background: var(--bg-dark); border-radius: 0.375rem; margin-bottom: 1rem; font-family: 'Courier New', monospace; font-size: 0.875rem; overflow-x: auto; }
.auto-style-95 { margin: 0; color: var(--text-primary); }
// JavaScript (fetch)
const response = await fetch('/api/servers', {
  credentials: 'include'
});
const servers = await response.json();
.auto-style-96 { color: var(--text-secondary); font-size: 0.875rem; margin: 0; }

Більш детальну інформацію про API можна отримати, переглянувши вихідний код або звернувшись до підтримки.

.auto-style-99 { display: none; }