Die Trooper AI API bietet umfassenden Zugriff auf das GPU-Servermanagement, einschließlich Serverbereitstellung, -überwachung, -migration und administrative Funktionen. Diese RESTful API ermöglicht Ihnen die programmgesteuerte Verwaltung Ihrer GPU-Infrastruktur, die Erstellung und Überwachung von Serveraufträgen, die Verwaltung von Vorlagen und die Durchführung administrativer Aufgaben.
Die API-Endpunkte und die API-Dokumentation befinden sich derzeit in der Beta-Phase. Bitte kontaktieren Sie uns bei Problemen: Support-Kontakte.
Sie finden Ihren API-Schlüssel in der API-Konsole.
Profi-Tipp: Geben Sie diese Dokumentation einfach Ihrem Development LLM Agenten, und er wird sie in Ihren Code integrieren.
Erhalten Sie einen kurzen Überblick über die API-Grundlagen wie URL, Authentifizierung und mehr:
https://james.trooper.ai
Die meisten Endpunkte erfordern die Authentifizierung mit einem Bearer-Token unter Verwendung Ihres Trooper API-Schlüssels:
Authorization: Bearer YOUR_API_KEY
Holen Sie sich Ihren API-Schlüssel von API Konsole.
Alle API-Antworten sind im JSON-Format. Erfolgreiche Antworten enthalten typischerweise:
success: Boolean, das den Erfolg der Operation anzeigtFehlerantworten beinhalten:
error: String, das den Fehler beschreibtnextOptionales Feld, das die nächste Aktion vorschlägt (z.B. „login“)GET /api/test
Einfacher Testendpunkt zur Überprüfung der API-Konnektivität.
GET /api/test
{
"test": "meinstring5"
}
GET /api/blibs
Alle öffentlich verfügbaren GPU-Serverkonfigurationen abrufen.
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/blibs-private
Rufen Sie die GPU-Server ab, die Ihrem Konto zugänglich sind, einschließlich privater Konfigurationen.
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/order
Erstellen Sie eine neue GPU-Serverbestellung. Sie müssen den angegebenen Preis einreichen, andernfalls wird die Bestellung nicht akzeptiert. Dies stellt sicher, dass der aktuelle Preis Ihren Erwartungen entspricht!
Open API Konsole & Ausprobieren
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/orders
Rufen Sie alle Ihre Serverbestellungen mit detaillierten Informationen ab.
Berücksichtigen Sie bei der Behandlung von Serverstatus die Wechselwirkung zwischen desired_status und current_statusBeispielsweise kann ein Server einen gewünschten Status von "gestoppt" haben, während sein aktueller Status noch "läuft" ist, wenn der Stoppvorgang noch ausgeführt wird. desired_status von "gestoppt", aber sein current_status könnte sich noch im Status „läuft“ befinden, wenn der Stoppvorgang noch ausgeführt wird. Ihre Anwendung sollte diese Übergänge berücksichtigen und entsprechend behandeln.
GET /api/orders
Authorization: Bearer YOUR_API_KEY
machine_name (optional): Nach Maschinenname filtern[
{
"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/order-status
Aktualisieren Sie den Status Ihrer Serverbestellung (laufend, gestoppt, neu gestartet, eingefroren).
Set "migration_allowed": true wenn Sie die Hostmigration bei Übergang von einem eingefrorenen in einen laufenden Zustand genehmigen. Dieser Vorgang kann 10–90 Minuten dauern und ändert den Portbereich und potenziell das CPU-Modell/die CPU-Geschwindigkeit.
POST /api/order-status
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"serverId": 123,
"action": "running",
"migration_allowed": false
}
{
"success": true,
"message": "Server start initiated successfully",
"status": "starting"
}
{
"success": false,
"error": "Server is locked and cannot be modified"
}
POST /api/order-title
Ändern Sie den Anzeigetitel Ihres Servers.
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/order-lock
Server sperren oder entsperren, um Statusänderungen zu verhindern/zulassen.
POST /api/order-lock
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"serverId": 123,
"is_locked": true
}
{
"success": true,
"updated": 1
}
POST /api/credentials
Abrufen der SSH-Zugangsdaten und Verbindungsdetails für Ihren Server.
POST /api/credentials
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"serverId": 123
}
{
"success": true,
"ip": "192.168.1.100",
"ssh_port": 22001,
"username": "root",
"password": "generated-password",
"status": "running"
}
{
"error": "Access denied or server not found"
}
GET /api/order-status-history
Ruft die letzten 5 Statusänderungen einer Serverbestellung ab.
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"
}
]
}
Migration wird verwendet, um Ihren GPU-Server in eine andere Konfiguration zu überführen. Wir empfehlen die Verwendung in einer Produktionsumgebung nicht. Sie können es aber gerne ausprobieren, wenn Sie möchten!
GET /api/migration-options
Verfügbare Serverkonfigurationen für die Migration abrufen.
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/migration-cost
Berechnen Sie die Kosten für die Migration zu einer anderen Serverkonfiguration.
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/buy-migration
Führen Sie die Migration zu einer neuen Serverkonfiguration durch.
WICHTIG Wenn Sie hier ungültige Daten übermitteln, ist nichts garantiert. Das Support-Team kann Ihre Bestellung nicht wiederherstellen, wenn Sie diesen Endpunkt missbräuchlich für den Kauf von Migrationen verwenden. Wir empfehlen die Verwendung des UI-Dashboards.
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/templates
Alle verfügbaren Softwarevorlagen abrufen.
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/template-config
Konfigurationsdetails für die Template-Installation für eine bestimmte Bestellung abrufen.
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/template-install-add
Installieren Sie eine neue Vorlage auf Ihrem Server.
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/template-install-delete
Eine Template-Installation von Ihrem Server entfernen.
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/template-install-retry
Eine fehlgeschlagene Template-Installation wiederholen.
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"Authentifizierung erforderlich"Invalid Trooper key"Ungültiger Trooper-Schlüssel"Unauthorized access"Unzureichende Berechtigungen"You must accept the terms and conditions"Bestimmungen wurden bei der Auftragserstellung nicht akzeptiert"Invalid or missing contract interval"Das Vertragsintervall muss HOUR, WEEK oder MONTH sein"Insufficient budget"Nicht genügend Guthaben für die Operation"Server is locked and cannot be modified"Server ist gesperrt und kann nicht geändert werdenAPI-Endpunkte können ratenbegrenzt werden, um Missbrauch zu verhindern. Wenn Sie das Limit überschreiten, erhalten Sie einen Statuscode 429. Implementieren Sie eine geeignete Wiederholungslogik mit exponentiellem Backoff.
Für API-Support und Fragen wenden Sie sich bitte an: support@trooper.ai
Bei Fragen zur API können Sie sich gerne an uns wenden: Support-Kontakte