API Trooper AI zapewnia kompleksowy dostęp do zarządzania serwerami GPU, w tym do ich tworzenia, monitorowania, migracji i funkcji administracyjnych. To RESTful API umożliwia programowe zarządzanie infrastrukturą GPU, tworzenie i monitorowanie zamówień na serwery, obsługę szablonów oraz wykonywanie zadań administracyjnych.
Punkty końcowe API oraz dokumentacja API znajdują się obecnie w fazie Beta. W razie problemów skontaktuj się z nami: Kontakty wsparcia.
Znajdziesz swój klucz API w Konsoli API.
Porada: Podaj tę dokumentację swojemu Agenci LLM do Rozwoju i on zintegruje ją automatycznie z kodem.
Uzyskaj krótki przegląd podstaw API, takich jak URL, uwierzytelnianie i więcej:
https://james.trooper.ai
Większość punktów końcowych wymaga uwierzytelniania za pomocą tokenu Bearer, używając Twojego klucza API Trooper:
Authorization: Bearer YOUR_API_KEY
Pobierz swój klucz API z Konsoli API.
Wszystkie odpowiedzi API są w formacie JSON. Pomyślne odpowiedzi zazwyczaj zawierają:
successWartość logiczna wskazująca powodzenie operacjiOdpowiedzi w przypadku błędów zawierają:
error: Ciąg znaków opisujący błądnextOpcjonalne pole sugerujące następną akcję (np. „login”)GET /api/test
Prosty punkt końcowy testowy służący do weryfikacji połączenia z API.
GET /api/test
{
"test": "meinstring5"
}
GET /api/blibs
Pobierz wszystkie publicznie dostępne konfiguracje serwerów GPU.
GET /api/blibs
Authorization: Bearer YOUR_API_KEY # Optional - includes your private networks if provided
[
{
"id": 1,
"name": "powerai.example",
"gpu_type": "RTX 4090",
"gpu_num": 1,
"gpu_ram": 24,
"cpu_cores": 8,
"cpu_ram": 32,
"hdd": 500,
"price_h": 0.85,
"is_public": 1,
"country_code": "DE",
"is_available": true,
"available_hosts": ["ai18", "ai89"],
"fitCount": 2,
"maxPossibleInstances": 5
}
]
{
"error": "Error fetching Blibs"
}
GET /api/prywatne-bloby
Pobierz serwery GPU dostępne na Twoim koncie, w tym konfiguracje prywatne.
GET /api/blibs-private
Authorization: Bearer YOUR_API_KEY
[
{
"id": 2,
"name": "RTX 4090 Dual Private",
"gpu_type": "RTX 4090",
"gpu_num": 2,
"gpu_ram": 24,
"cpu_cores": 16,
"cpu_ram": 64,
"hdd": 1000,
"price_h": 1.65,
"is_public": 1,
"country_code": "DE"
}
]
{
"error": "Missing or invalid Authorization header"
}
POST /api/zamówienie
Utwórz nowe zamówienie na serwer GPU. Musisz podać podaną cenę, w przeciwnym razie zamówienie nie zostanie przyjęte. Zapewnia to zgodność aktualnej ceny z Twoimi oczekiwaniami!
Otwórz konsolę API i przetestuj
POST /api/order
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"blib_id": 1,
"price_h": 0.85,
"total_price": 0.85,
"terms_accepted": true,
"contract_interval": "HOUR",
"second_partition_percentage": 20,
"templates": [
{
"id": 1,
"name": "PyTorch Environment"
}
]
}
{
"success": true,
"orderId": 123
}
{
"error": "You must accept the terms and conditions."
}
{
"error": "Invalid or missing contract interval."
}
GET /api/zamówienia
Pobierz wszystkie zamówienia serwerowe z szczegółowymi informacjami.
Obsługując statusy serwerów, należy wziąć pod uwagę wzajemne powiązania między desired_status i current_statusNa przykład, serwer może mieć desired_status do „zatrzymanego”, ale jego current_status może nadal być w stanie „uruchomiony”, jeśli proces zatrzymywania jest w toku. Twoja aplikacja powinna uwzględniać te przejścia i odpowiednio je obsługiwać.
GET /api/orders
Authorization: Bearer YOUR_API_KEY
machine_name (opcjonalnie): Filtruj według konkretnej nazwy maszyny[
{
"order_id": 123,
"serverId": 123,
"title": "My PyTorch Server",
"status": "running",
"status_user": "running",
"server_name": "gpu-server-01",
"machine_name": "ai99_trooperai_000123",
"ip": "192.168.1.100",
"ssh_port": 22001,
"price_h": 0.85,
"paid_until": "2025-09-26T14:30:00.000Z",
"contract_interval": "HOUR",
"is_locked": false,
"is_low_priority": false,
"blib_name": "RTX 4090 Single",
"blib_gpu_type": "RTX 4090",
"blib_gpu_num": 1,
"country_code": "DE",
"template_installs": [
{
"id": 1,
"template_name": "PyTorch Environment",
"status": 1,
"status_readable": "Completed"
}
]
}
]
{
"error": "Missing or invalid Authorization header",
"next": "login"
}
POST /api/status-zamówienia-serwera
Zaktualizuj status zamówienia serwera (uruchomiony, zatrzymany, ponownie uruchomiony, zamrożony).
Ustaw "migration_allowed": true jeśli zatwierdzisz migrację hosta podczas przechodzenia ze stanu zamrożonego do uruchomionego. Ten proces może trwać od 10 do 90 minut i zmieni zakres portów oraz potencjalnie model/szybkość procesora.
POST /api/order-status
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"serverId": 123,
"desired_status": "running",
"migration_allowed": false
}
{
"success": true,
"updated": 1
}
{
"success": false,
"error": "Server is locked and cannot be modified"
}
POST /api/zamów-tytuł-serwera
Zaktualizuj tytuł wyświetlania swojego serwera.
POST /api/order-title
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"serverId": 123,
"title": "My New Server Title"
}
{
"success": true,
"message": "Title updated successfully"
}
POST /api/zamówienie-zablokuj
Zablokuj lub odblokuj serwer, aby zapobiec/umożliwić zmiany statusu.
POST /api/order-lock
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"serverId": 123,
"is_locked": true
}
{
"success": true,
"updated": 1
}
POST /api/uwierzytelnienia
Pobierz dane uwierzytelniające SSH i szczegóły połączenia dla Twojego serwera.
POST /api/credentials
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"serverId": 123
}
{
"success": true,
"ssh_password": "generated-password"
}
{
"error": "Access denied or server not found"
}
GET /api/historia-stanów-zamówienia
Pobierz 5 ostatnich zmian statusu zamówienia serwera.
GET /api/order-status-history?order_id=123
Authorization: Bearer YOUR_API_KEY
{
"success": true,
"history": [
{
"id": 1,
"status_user": "running",
"status_txt": "Server started successfully",
"status_since": "2025-09-25T10:30:00.000Z"
},
{
"id": 2,
"status_user": "stopped",
"status_txt": "Server stopped by user",
"status_since": "2025-09-25T08:15:00.000Z"
}
]
}
Migracja służy do zmiany konfiguracji Twojego serwera GPU. Nie zalecamy używania jej w środowisku produkcyjnym, ale możesz spróbować, jeśli chcesz!
GET /api/opcje-migracji
Pobierz dostępne konfiguracje serwerów do migracji.
GET /api/migration-options?order_id=123
Authorization: Bearer YOUR_API_KEY
{
"success": true,
"currentOrder": {
"id": 123,
"title": "My Server",
"status": "running",
"contract_interval": "HOUR",
"paid_until": "2025-09-26T14:30:00.000Z"
},
"currentBlib": {
"id": 1,
"name": "RTX 4090 Single",
"gpu_type": "RTX 4090",
"gpu_num": 1,
"price_h": 0.85
},
"availableBlibs": [
{
"id": 2,
"name": "RTX 4090 Dual",
"gpu_type": "RTX 4090",
"gpu_num": 2,
"price_h": 1.65,
"is_available": true,
"additionalCostPerCycle": 0.80
}
]
}
POST /api/koszt-migracji
Oblicz koszt migracji do innej konfiguracji serwera.
POST /api/migration-cost
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"order_id": 123,
"target_blib_id": 2
}
{
"success": true,
"upgradeCost": 15.50,
"remainingValue": 12.30,
"totalDue": 3.20,
"additionalCostPerCycle": 0.80,
"nextBillingDate": "2025-09-26T14:30:00.000Z",
"currentRate": {
"amount": 0.85,
"display": "€0.85/hour"
},
"newRate": {
"amount": 1.65,
"display": "€1.65/hour"
}
}
POST /api/kup-wmigracje
Uruchom migrację do nowej konfiguracji serwera.
WAŻNE Jeśli przesłasz niepoprawne dane tutaj, nic nie jest gwarantowane. Zespół supportu nie może przywrócić Twojego zamówienia w przypadku nadużycia tego punktu końcowego przy zakupie migracji. Polecamy korzystanie z interfejsu UI Dashboard.
POST /api/buy-migration
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"order_id": 123,
"target_blib_id": 2,
"keep_data": true
}
{
"success": true,
"message": "Migration initiated successfully",
"new_order_id": 124
}
{
"error": "Insufficient budget for migration"
}
GET /api/szablony
Pobierz wszystkie dostępne szablony oprogramowania.
GET /api/templates
Authorization: Bearer YOUR_API_KEY # Optional
[
{
"id": 1,
"name": "PyTorch Environment",
"description": "Pre-configured PyTorch environment with CUDA support",
"category": "Machine Learning",
"is_public": true,
"options": [
{
"id": 1,
"name": "Python Version",
"type": "select",
"default_value": "3.9",
"possible_values": "3.8,3.9,3.10"
}
]
}
]
GET /api/szablon-konfiguracja
Pobierz konfigurację instalacji szablonu dla konkretnego zamówienia.
GET /api/template-config?order_id=123
Authorization: Bearer YOUR_API_KEY
{
"success": true,
"templates": [
{
"install_id": 1,
"template_id": 1,
"template_name": "PyTorch Environment",
"status": 1,
"status_readable": "Completed",
"config": {
"python_version": "3.9"
}
}
]
}
POST /api/instalacja-szablonu-dodaj
Zainstaluj nową konfigurację na swoim serwerze.
POST /api/template-install-add
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"order_id": 123,
"template_id": 1,
"config": {
"python_version": "3.9"
}
}
{
"success": true,
"install_id": 5,
"message": "Template installation queued"
}
POST /api/instalacja-szablonu-usun
Usuń instalację szablonu z Twojego serwera.
POST /api/template-install-delete
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"install_id": 5
}
{
"success": true,
"message": "Template removal initiated"
}
POST /api/wtórna-instalacja-szablonu
Ponów instalację nieudanej szablony.
POST /api/template-install-retry
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"install_id": 5
}
{
"success": true,
"message": "Template installation retry initiated"
}
"Missing or invalid Authorization header"Wymagana autoryzacja"Invalid Trooper key": Klucz API jest nieprawidłowy"Unauthorized access"Brak uprawnień"You must accept the terms and conditions": Warunki nie zostały zaakceptowane podczas tworzenia zamówienia"Invalid or missing contract interval"Interwał kontraktu musi być GODZINOWY, TYGODNIOWY lub MIESIĘCZNY"Insufficient budget"Brak wystarczających środków na operację"Server is locked and cannot be modified"Serwer jest zablokowany i nie można go modyfikowaćPunkty końcowe API mogą być ograniczone, aby zapobiec nadużyciom. Jeśli przekroczysz limit częstotliwości, otrzymasz kod statusu 429. Zaimplementuj odpowiednią logikę ponawiania prób z wykładniczym wycofaniem.
W przypadku wsparcia dotyczącego API oraz pytań skontaktuj się pod adresem: support@trooper.ai
W przypadku pytań związanych z API skontaktuj się z nami: Kontakt z wsparciem