API-Referenz

Alle öffentlichen Endpoints der Node Lodge API: Authentifizierung, Parameter, Request-Bodys und jeweils ein curl-Beispiel.

Die maschinenlesbare Beschreibung dieser API finden Sie unter https://nodelodge.com/v1/openapi.json (OpenAPI 3.1). Importieren Sie sie in Ihren HTTP-Client oder generieren Sie daraus einen Client.

Authentifizierung

Jeder Endpoint gibt an, wie er authentifiziert:

  • Ein API-Schlüssel: Senden Sie Authorization: Bearer $NODELODGE_API_KEY. Schlüssel erstellen Sie in der Konsole unter Keys. Zu den Scopes siehe API-Schnellstart.
  • Eine Konsolensitzung: die Endpoints, die die Konsole nutzt. Melden Sie sich mit POST /v1/auth/login an, speichern Sie das Sitzungscookie (-c cookies.txt) und senden Sie es mit (-b cookies.txt). Mit aktivierter Zwei-Faktor-Authentifizierung schließen Sie die Anmeldung mit POST /v1/auth/mfa/verify ab und senden dieselbe Cookie-Datei mit -b cookies.txt -c cookies.txt.
  • Keine: öffentliche Endpoints.

Ein API-Schlüssel an einem Endpoint, der eine Konsolensitzung erfordert, erhält 403 API_KEY_NOT_ALLOWED. Requests und Responses sind JSON. Fehler haben eine einheitliche Form: { "error": { "code": "...", "message": "..." } }.

Anmeldung und Konto

POST /v1/account/close

Ihr Konto und dessen Organisation schließen.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
password String Ja bis zu 128 Zeichen
acceptCreditLoss Boolean Nein
curl -X POST "https://nodelodge.com/v1/account/close" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"password":"correct horse battery staple"}'

GET /v1/account/closure

Sehen, was das Schließen Ihres Kontos jetzt bewirkt und was es verhindert.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/account/closure" \
  -b cookies.txt

GET /v1/account/credit

Das Prepaid-Guthaben Ihrer Organisation und seine Buchungen lesen.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/account/credit" \
  -b cookies.txt

GET /v1/account/funds

Lesen, was Ihre Organisation jetzt ausgeben kann: Eine neue Sitzung wird gegen den verfügbaren Betrag zugelassen.

Authentifizierung: Ein API-Schlüssel mit dem Scope billing:read oder eine Konsolensitzung.

curl "https://nodelodge.com/v1/account/funds" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/account/terms

Die Nutzungsbedingungen in der Fassung akzeptieren, die GET /v1/client-config nennt.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
version String Ja bis zu 20 Zeichen
curl -X POST "https://nodelodge.com/v1/account/terms" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"version":"2.0"}'

POST /v1/auth/login

Anmelden und ein Sitzungscookie erhalten.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
email E-Mail-Adresse Ja bis zu 254 Zeichen
password String Ja bis zu 128 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/login" \
  -c cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@example.com","password":"correct horse battery staple"}'

POST /v1/auth/logout

Von dieser Sitzung abmelden.

Authentifizierung: Keine.

curl -X POST "https://nodelodge.com/v1/auth/logout" \
  -b cookies.txt

GET /v1/auth/mfa

Ihren Zwei-Faktor-Status lesen.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/auth/mfa" \
  -b cookies.txt

POST /v1/auth/mfa/disable

Zwei-Faktor-Authentifizierung ausschalten.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
password String Ja bis zu 128 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/mfa/disable" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"password":"correct horse battery staple"}'

POST /v1/auth/mfa/recovery-codes

Ihre Wiederherstellungscodes ersetzen.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
code String Ja mindestens 6, höchstens 40 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/mfa/recovery-codes" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"code":"123456"}'

POST /v1/auth/mfa/step-up

Ihren zweiten Faktor vor einer sensiblen Aktion bestätigen.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
code String Ja mindestens 6, höchstens 40 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/mfa/step-up" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"code":"123456"}'

POST /v1/auth/mfa/totp/confirm

Die Einrichtung einer Authenticator-App abschließen.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
code String Ja mindestens 6, höchstens 40 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/mfa/totp/confirm" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"code":"123456"}'

POST /v1/auth/mfa/totp/setup

Die Einrichtung einer Authenticator-App beginnen.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
password String Ja bis zu 128 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/mfa/totp/setup" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"password":"correct horse battery staple"}'

POST /v1/auth/mfa/verify

Eine Anmeldung mit dem Code Ihrer Authenticator-App abschließen.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
code String Ja mindestens 6, höchstens 40 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/mfa/verify" \
  -b cookies.txt -c cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"code":"123456"}'

POST /v1/auth/password

Ihr Passwort ändern.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
currentPassword String Ja bis zu 128 Zeichen
newPassword String Ja mindestens 12, höchstens 128 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/password" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"currentPassword":"correct horse battery staple","newPassword":"a longer passphrase of yours"}'

POST /v1/auth/password-reset/confirm

Ein neues Passwort über einen Link zum Zurücksetzen festlegen.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
token String Ja mindestens 20, höchstens 100 Zeichen
password String Ja mindestens 12, höchstens 128 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/password-reset/confirm" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_THE_EMAIL_LINK","password":"correct horse battery staple"}'

POST /v1/auth/password-reset/request

Einen Link zum Zurücksetzen des Passworts per E-Mail senden.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
email E-Mail-Adresse Ja bis zu 254 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/password-reset/request" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@example.com"}'

POST /v1/auth/sessions/revoke-all

Von allen Sitzungen abmelden.

Authentifizierung: Eine Konsolensitzung.

curl -X POST "https://nodelodge.com/v1/auth/sessions/revoke-all" \
  -b cookies.txt

POST /v1/auth/signup

Ein Konto und dessen Organisation erstellen.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
email E-Mail-Adresse Ja bis zu 254 Zeichen
password String Ja mindestens 12, höchstens 128 Zeichen
displayName String Ja bis zu 80 Zeichen
organizationName String Nein bis zu 120 Zeichen
acceptTerms true Ja
inviteToken String Nein mindestens 20, höchstens 100 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/signup" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@example.com","password":"correct horse battery staple","displayName":"Ada Lovelace","acceptTerms":true}'

POST /v1/auth/verify-email

Ihre E-Mail-Adresse über den erhaltenen Link bestätigen.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
token String Ja mindestens 20, höchstens 100 Zeichen
curl -X POST "https://nodelodge.com/v1/auth/verify-email" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_THE_EMAIL_LINK"}'

POST /v1/auth/verify-email/resend

Die Bestätigungs-E-Mail erneut senden.

Authentifizierung: Eine Konsolensitzung.

curl -X POST "https://nodelodge.com/v1/auth/verify-email/resend" \
  -b cookies.txt

GET /v1/client-config

Die öffentlichen Einstellungen der Konsole lesen.

Authentifizierung: Keine.

curl "https://nodelodge.com/v1/client-config"

GET /v1/me

Ihr Profil, Ihre Organisation und Ihre Zugriffsrechte lesen.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/me" \
  -b cookies.txt

API-Schlüssel

GET /v1/api-keys

Die API-Schlüssel Ihrer Organisation auflisten.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/api-keys" \
  -b cookies.txt

POST /v1/api-keys

Einen API-Schlüssel erstellen. Der Schlüssel wird nur einmal zurückgegeben; das Erstellen erfordert Zwei-Faktor-Authentifizierung und einen kürzlich eingegebenen Code.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
name String Ja bis zu 60 Zeichen
scopes Array aus workloads:read, workloads:write, volumes, secrets, billing:read Ja bis zu 5 Einträge
monthlySpendCapCents Integer Nein 1 bis 10000000
maxConcurrentWorkloads Integer Nein 1 bis 100
maxTotalSpendCents Integer Nein 1 bis 10000000
maxSessionSpendCents Integer Nein 1 bis 10000000
expiresInDays Integer Nein 1 bis 365, Standard 90
curl -X POST "https://nodelodge.com/v1/api-keys" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"name":"ci-runner","scopes":["workloads:read"]}'

PATCH /v1/api-keys/{id}

Die Ausgabenlimits eines API-Schlüssels ändern. Erfordert einen kürzlich eingegebenen Zwei-Faktor-Code.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja

Request-Body (JSON):

Feld Typ Pflicht Regeln
monthlySpendCapCents Integer Nein
maxConcurrentWorkloads Integer Nein
maxTotalSpendCents Integer Nein
maxSessionSpendCents Integer Nein
curl -X PATCH "https://nodelodge.com/v1/api-keys/$API_KEY_ID" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"monthlySpendCapCents":1}'

DELETE /v1/api-keys/{id}

Einen API-Schlüssel widerrufen. Requests mit diesem Schlüssel werden sofort abgewiesen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl -X DELETE "https://nodelodge.com/v1/api-keys/$API_KEY_ID" \
  -b cookies.txt

GET /v1/whoami

Einen Schlüssel oder eine Sitzung prüfen: die Organisation und die enthaltenen Scopes.

Authentifizierung: Ein API-Schlüssel (beliebiger Scope) oder eine Konsolensitzung.

curl "https://nodelodge.com/v1/whoami" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

Community-Katalog

GET /v1/catalog/offers

Community-Maschinen durchsuchen.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
gpuModel Query String Nein bis zu 80 Zeichen
minGpuCount Query Integer Nein 0 bis 16
minVramGb Query Zahl Nein 0 bis 1024
minRamGb Query Zahl Nein 0 bis 65536
minVcpu Query Integer Nein 0 bis 4096
region Query String Nein
maxPricePerHourCents Query Integer Nein 1 bis 9007199254740991
onlineOnly Query true, false Nein
sort Query price_asc, price_desc, vram_desc Nein Standard "price_asc"
limit Query Integer Nein 1 bis 100, Standard 50
curl "https://nodelodge.com/v1/catalog/offers" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/catalog/offers/{id}

Ein Community-Angebot lesen.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl "https://nodelodge.com/v1/catalog/offers/$OFFER_ID" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/catalog/offers/{id}/quote

Den Preis einer Community-Anmietung für eine Anzahl Stunden berechnen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
durationHours Query Integer Ja 1 bis 720
id Pfad UUID Ja
curl "https://nodelodge.com/v1/catalog/offers/$OFFER_ID/quote?durationHours=2" \
  -b cookies.txt

Secure-Katalog

GET /v1/catalog/partner-offers

Secure-Maschinen auflisten: zuerst verfügbare, dann vergriffene mit dem Zeitpunkt ihrer letzten Verfügbarkeit.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
includeUnavailable Query true, false Nein Standard "true"
curl "https://nodelodge.com/v1/catalog/partner-offers" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/catalog/partner-offers/{id}

Ein Secure-Angebot lesen.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl "https://nodelodge.com/v1/catalog/partner-offers/$PARTNER_OFFER_ID" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

Compute-Sitzungen

GET /v1/client-address

Die öffentliche IPv4-Adresse lesen, von der Ihre Requests kommen, um SSH zu einer Maschine im Rechenzentrum zuzulassen.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

curl "https://nodelodge.com/v1/client-address" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/environments

Einsatzbereite Umgebungen auflisten; mit einem Angebot zusätzlich, ob jede auf dessen Maschine läuft und warum nicht.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
offerId Query UUID Nein
curl "https://nodelodge.com/v1/environments" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/sessions

Ihre Compute-Sitzungen auflisten, als Mieter oder als Anbieter.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
side Query renter, provider Nein Standard "renter"
limit Query Integer Nein 1 bis 200, Standard 50
curl "https://nodelodge.com/v1/sessions" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/sessions

Eine Compute-Sitzung starten. Ihr Budget wird auf dem Prepaid-Guthaben reserviert und nie überschritten; die Abrechnung folgt der tatsächlichen Laufzeit ab dem Moment, in dem die Maschine bereit ist. Geben Sie IDs gespeicherter SSH-Schlüssel an oder einen öffentlichen Schlüssel nur für diese Sitzung. Mit einem API-Schlüssel zählt das Budget zu den Limits des Schlüssels.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:write oder eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
offerId UUID Nein
partnerOfferId UUID Nein
environmentId String Ja
sshKeyIds Array aus UUID Nein bis zu 10 Einträge
sshPublicKey String Nein mindestens 40, höchstens 16384 Zeichen
budgetCents Integer Ja 1 bis 10000000
maxDurationHours Integer Nein 1 bis 2160
pricing on_demand, interruptible, reserved Ja
reservedDays Integer Nein 1 bis 30
model Objekt Nein
allowedCidr String Nein mindestens 7, höchstens 18 Zeichen
curl -X POST "https://nodelodge.com/v1/sessions" \
  -H "Authorization: Bearer $NODELODGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"partnerOfferId":"3f0c8f5e-8c3a-4f39-9a8e-2d9b4c1e7a10","environmentId":"jupyterlab","budgetCents":500,"pricing":"on_demand","sshPublicKey":"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIReplaceWithYourOwnPublicKey you@laptop","allowedCidr":"203.0.113.7"}'

GET /v1/sessions/{id}

Eine Compute-Sitzung lesen. Während sie startet, nennt launch ihre Schritte (Bestellung aufgegeben, Maschine zugewiesen, Maschine gestartet, Umgebungs- und Stabilitätsprüfung, bereit) und den laufenden Schritt.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl "https://nodelodge.com/v1/sessions/$SESSION_ID" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/sessions/{id}/access

Lesen, wie Sie sich mit einer bereiten Community-Sitzung verbinden: SSH über das Relay und JupyterLab. Nur für Mieter; mit einem API-Schlüssel nur für Sitzungen, die mit diesem Schlüssel gestartet wurden. Eine bereite Secure-Sitzung nennt ihre SSH-Adresse in directSsh.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:write oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl "https://nodelodge.com/v1/sessions/$SESSION_ID/access" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/sessions/{id}/budget

Das Budget einer laufenden Sitzung erhöhen und die Differenz auf dem Prepaid-Guthaben reservieren. Mit einem API-Schlüssel nur für Sitzungen, die mit diesem Schlüssel gestartet wurden, innerhalb seiner Limits.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:write oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja

Request-Body (JSON):

Feld Typ Pflicht Regeln
budgetCents Integer Ja 1 bis 10000000
curl -X POST "https://nodelodge.com/v1/sessions/$SESSION_ID/budget" \
  -H "Authorization: Bearer $NODELODGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"budgetCents":1}'

GET /v1/sessions/{id}/receipt

Den Nutzungsbeleg einer beendeten Sitzung abrufen, als JSON oder mit format=csv als CSV.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
format Query json, csv Nein Standard "json"
id Pfad UUID Ja
curl "https://nodelodge.com/v1/sessions/$SESSION_ID/receipt" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/sessions/{id}/stop

Eine Compute-Sitzung stoppen. Die Abrechnung endet, wenn sie tatsächlich gestoppt ist, und der Rest des Budgets wird freigegeben.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:write oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl -X POST "https://nodelodge.com/v1/sessions/$SESSION_ID/stop" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

SSH-Schlüssel

GET /v1/ssh-keys

Ihre öffentlichen SSH-Schlüssel auflisten.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

curl "https://nodelodge.com/v1/ssh-keys" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/ssh-keys

Einen öffentlichen SSH-Schlüssel hinzufügen. Erfordert bei aktivierter Zwei-Faktor-Authentifizierung einen kürzlich eingegebenen Code.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
name String Nein bis zu 60 Zeichen
publicKey String Ja bis zu 16384 Zeichen
curl -X POST "https://nodelodge.com/v1/ssh-keys" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"publicKey":"text"}'

DELETE /v1/ssh-keys/{id}

Einen Ihrer öffentlichen SSH-Schlüssel entfernen. Bereits gestartete Sitzungen behalten ihren Schlüssel.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl -X DELETE "https://nodelodge.com/v1/ssh-keys/$SSH_KEY_ID" \
  -b cookies.txt

Anmietungen

GET /v1/reservations

Ihre Anmietungen auflisten, als Mieter oder als Anbieter.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
side Query renter, provider Nein Standard "renter"
hostId Query UUID Nein
limit Query Integer Nein 1 bis 200, Standard 50
curl "https://nodelodge.com/v1/reservations" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/reservations

Eine Maschine buchen. Wenn Rechenzentrumsmaschinen als Sitzungen starten, antwortet ein Partnerangebot mit 409 SESSION_REQUIRED: Verwenden Sie POST /v1/sessions. On demand deckt der gehaltene Betrag die nächsten 60 Minuten und wird verlängert, solange die Maschine läuft; abgerechnet wird pro angefangener Minute tatsächlicher Nutzung, ohne Mindestdauer von einer Stunde.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:write oder eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
offerId UUID Ja
durationHours Integer Ja 1 bis 720
startsAt Datum und Uhrzeit (ISO 8601) Nein
curl -X POST "https://nodelodge.com/v1/reservations" \
  -H "Authorization: Bearer $NODELODGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"offerId":"3f0c8f5e-8c3a-4f39-9a8e-2d9b4c1e7a10","durationHours":2}'

GET /v1/reservations/summary

Ihre Anmietungen nach Status zählen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
side Query renter, provider Nein Standard "renter"
curl "https://nodelodge.com/v1/reservations/summary" \
  -b cookies.txt

GET /v1/reservations/{id}

Eine Anmietung lesen.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:read oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl "https://nodelodge.com/v1/reservations/$RESERVATION_ID" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/reservations/{id}/cancel

Eine Anmietung vor ihrem Beginn stornieren.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:write oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl -X POST "https://nodelodge.com/v1/reservations/$RESERVATION_ID/cancel" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/reservations/{id}/complete

Eine laufende Anmietung beenden.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:write oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl -X POST "https://nodelodge.com/v1/reservations/$RESERVATION_ID/complete" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/reservations/{id}/start

Eine Anmietung mit Ihrem SSH-Schlüssel und der IP-Adresse starten, die sich verbinden darf.

Authentifizierung: Ein API-Schlüssel mit dem Scope workloads:write oder eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja

Request-Body (JSON):

Feld Typ Pflicht Regeln
sshPublicKey String Ja mindestens 40, höchstens 2000 Zeichen
allowedCidr String Ja mindestens 7, höchstens 18 Zeichen
curl -X POST "https://nodelodge.com/v1/reservations/$RESERVATION_ID/start" \
  -H "Authorization: Bearer $NODELODGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sshPublicKey":"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIReplaceWithYourOwnPublicKey you@laptop","allowedCidr":"203.0.113.7"}'

Abrechnung und Guthaben

GET /v1/billing

Ihren Saldo, Ihre Karte und Ihre Zahlungen lesen.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/billing" \
  -b cookies.txt

PUT /v1/billing/auto-topup

Automatisches Aufladen Ihres Guthabens einschalten oder ändern.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
thresholdCents Integer Ja 500 bis 1000000
amountCents Integer Ja 1000 bis 1000000
curl -X PUT "https://nodelodge.com/v1/billing/auto-topup" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"thresholdCents":500,"amountCents":2500}'

DELETE /v1/billing/auto-topup

Automatisches Aufladen ausschalten.

Authentifizierung: Eine Konsolensitzung.

curl -X DELETE "https://nodelodge.com/v1/billing/auto-topup" \
  -b cookies.txt

POST /v1/billing/card

Das Speichern einer Karte beginnen, auf einer gehosteten Zahlungsseite.

Authentifizierung: Eine Konsolensitzung.

curl -X POST "https://nodelodge.com/v1/billing/card" \
  -b cookies.txt

DELETE /v1/billing/card

Ihre gespeicherte Karte entfernen.

Authentifizierung: Eine Konsolensitzung.

curl -X DELETE "https://nodelodge.com/v1/billing/card" \
  -b cookies.txt

POST /v1/billing/credit

Prepaid-Guthaben kaufen, auf einer gehosteten Zahlungsseite.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
amountCents Integer Ja 1000 bis 1000000
curl -X POST "https://nodelodge.com/v1/billing/credit" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"amountCents":2500}'

GET /v1/limits

Die Kontolimits Ihrer Organisation lesen: gleichzeitige GPUs, GPU-Klassen, Guthaben pro 24 Stunden, die belegte Kapazität und die nächste Stufe.

Authentifizierung: Ein API-Schlüssel mit dem Scope billing:read oder eine Konsolensitzung.

curl "https://nodelodge.com/v1/limits" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

Maschinen (Anbieter)

GET /v1/hosts

Ihre Maschinen auflisten.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
limit Query Integer Nein 1 bis 500, Standard 100
cursor Query String Nein bis zu 200 Zeichen
curl "https://nodelodge.com/v1/hosts" \
  -b cookies.txt

POST /v1/hosts/enrollment-codes

Einen Einmalcode zum Koppeln einer Maschine erstellen.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
hostName String Ja bis zu 80 Zeichen
curl -X POST "https://nodelodge.com/v1/hosts/enrollment-codes" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"hostName":"garage-4090"}'

GET /v1/hosts/{hostId}

Eine Ihrer Maschinen lesen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
hostId Pfad UUID Ja
curl "https://nodelodge.com/v1/hosts/$HOST_ID" \
  -b cookies.txt

DELETE /v1/hosts/{hostId}

Eine widerrufene Maschine aus Ihren Listen entfernen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
hostId Pfad UUID Ja
curl -X DELETE "https://nodelodge.com/v1/hosts/$HOST_ID" \
  -b cookies.txt

POST /v1/hosts/{hostId}/{action}

Eine Maschine deaktivieren, aktivieren oder widerrufen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
hostId Pfad UUID Ja
action Pfad disable, enable, revoke Ja
curl -X POST "https://nodelodge.com/v1/hosts/$HOST_ID/disable" \
  -b cookies.txt

Angebote (Anbieter)

GET /v1/hosts/{hostId}/offer

Das Angebot einer Maschine lesen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
hostId Pfad UUID Ja
curl "https://nodelodge.com/v1/hosts/$HOST_ID/offer" \
  -b cookies.txt

PUT /v1/hosts/{hostId}/offer

Stundensatz, Region und Buchungslimits einer Maschine festlegen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
hostId Pfad UUID Ja

Request-Body (JSON):

Feld Typ Pflicht Regeln
pricePerHourCents Integer Ja 1 bis 1000000
regionCode String Ja
minHours Integer Nein 1 bis 720, Standard 1
maxHours Integer Nein 1 bis 720, Standard 24
curl -X PUT "https://nodelodge.com/v1/hosts/$HOST_ID/offer" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"pricePerHourCents":150,"regionCode":"CA-QC"}'

POST /v1/hosts/{hostId}/offer/{action}

Das Angebot einer Maschine veröffentlichen oder zurückziehen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
hostId Pfad UUID Ja
action Pfad publish, unpublish Ja
curl -X POST "https://nodelodge.com/v1/hosts/$HOST_ID/offer/publish" \
  -b cookies.txt

Benachrichtigungen

GET /v1/notifications

Ihre Benachrichtigungen auflisten.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
limit Query Integer Nein 1 bis 100, Standard 20
cursor Query String Nein bis zu 200 Zeichen
unread Query true, false Nein Standard "false"
curl "https://nodelodge.com/v1/notifications" \
  -b cookies.txt

GET /v1/notifications/preferences

Ihre Benachrichtigungseinstellungen lesen.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/notifications/preferences" \
  -b cookies.txt

PUT /v1/notifications/preferences

Ihre Benachrichtigungseinstellungen ändern.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
types Array aus Objekt Nein bis zu 31 Einträge
creditLowThresholdCents Integer Nein
curl -X PUT "https://nodelodge.com/v1/notifications/preferences" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"types":[{"type":"session.ending_soon","email":false}]}'

POST /v1/notifications/read-all

Alle Benachrichtigungen als gelesen markieren.

Authentifizierung: Eine Konsolensitzung.

curl -X POST "https://nodelodge.com/v1/notifications/read-all" \
  -b cookies.txt

GET /v1/notifications/unread-count

Ihre ungelesenen Benachrichtigungen zählen.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/notifications/unread-count" \
  -b cookies.txt

POST /v1/notifications/unsubscribe

Eine Art von E-Mail abbestellen, über den Link in dieser E-Mail.

Authentifizierung: Keine.

Name Ort Typ Pflicht Regeln
token Query String Nein bis zu 100 Zeichen

Request-Body (JSON):

Feld Typ Pflicht Regeln
token String Nein bis zu 100 Zeichen
List-Unsubscribe One-Click Nein
curl -X POST "https://nodelodge.com/v1/notifications/unsubscribe" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_THE_EMAIL_LINK"}'

POST /v1/notifications/{id}/read

Eine Benachrichtigung als gelesen markieren.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl -X POST "https://nodelodge.com/v1/notifications/$NOTIFICATION_ID/read" \
  -b cookies.txt

Aktivität

GET /v1/audit-events

Die Aktivität Ihrer Organisation auflisten.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
limit Query Integer Nein 1 bis 200, Standard 50
curl "https://nodelodge.com/v1/audit-events" \
  -b cookies.txt

Support

POST /v1/public/abuse-reports

Missbrauch einer Node-Lodge-Maschine melden, ohne Konto.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
email E-Mail-Adresse Ja bis zu 254 Zeichen
name String Nein bis zu 120 Zeichen
kind malware, phishing, spam, network_attack, copyright, illegal_content, other Ja
target String Ja mindestens 3, höchstens 500 Zeichen
description String Ja mindestens 20, höchstens 5000 Zeichen
evidence String Nein bis zu 2000 Zeichen
website String Nein bis zu 500 Zeichen
elapsedMs Integer Ja 0 bis 86400000
proof Objekt Ja
curl -X POST "https://nodelodge.com/v1/public/abuse-reports" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@example.com","kind":"phishing","target":"https://example.com/login","description":"A login page imitating a bank is served from this address.","website":"","elapsedMs":12000,"proof":{"salt":"abababababababababababab","challenge":"cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd","number":48211,"expiresAt":"2026-11-06T10:10:00.000Z","signature":"efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef"}}'

GET /v1/public/abuse/challenge

Die Proof-of-Work-Challenge abrufen, die das Formular für Missbrauchsmeldungen vor dem Absenden löst.

Authentifizierung: Keine.

curl "https://nodelodge.com/v1/public/abuse/challenge"

POST /v1/support/attachments

Einen 5 Minuten gültigen Upload-Link für einen Anhang abrufen (PNG, JPEG, WebP, PDF, Text, JSON, CSV, höchstens 10 MB).

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
ticketId UUID Nein
fileName String Ja bis zu 255 Zeichen
contentType String Ja bis zu 100 Zeichen
sizeBytes Integer Ja 1 bis 10485760
curl -X POST "https://nodelodge.com/v1/support/attachments" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"fileName":"text","contentType":"text","sizeBytes":1}'

GET /v1/support/attachments/{id}

Einen 60 Sekunden gültigen Download-Link für einen Anhang abrufen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl "https://nodelodge.com/v1/support/attachments/$ATTACHMENT_ID" \
  -b cookies.txt

GET /v1/support/options

Die Sitzungen und Zahlungen auflisten, auf die sich eine Support-Anfrage beziehen kann.

Authentifizierung: Eine Konsolensitzung.

curl "https://nodelodge.com/v1/support/options" \
  -b cookies.txt

GET /v1/support/tickets

Ihre Support-Anfragen auflisten, die zuletzt aktiven zuerst. Owner und Admins sehen alle Anfragen der Organisation.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
limit Query Integer Nein 1 bis 100, Standard 50
cursor Query String Nein bis zu 200 Zeichen
status Query open, waiting_on_customer, resolved, closed Nein
curl "https://nodelodge.com/v1/support/tickets" \
  -b cookies.txt

POST /v1/support/tickets

Eine Support-Anfrage eröffnen, optional zu einer Sitzung oder einer Zahlung Ihrer Organisation.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
category limit_increase, billing, technical, account_security, abuse Ja
subject String Ja mindestens 3, höchstens 200 Zeichen
body String Ja bis zu 10000 Zeichen
sessionId UUID Nein
paymentId UUID Nein
errorReference String Nein bis zu 64 Zeichen
requestedTier 1, 2 oder 3 Nein
attachmentIds Array aus UUID Nein bis zu 5 Einträge
followUpOf UUID Nein
curl -X POST "https://nodelodge.com/v1/support/tickets" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"category":"technical","subject":"Jupyter does not open","body":"The session is ready but the notebook page stays blank."}'

GET /v1/support/tickets/{id}

Eine Support-Anfrage und ihre Nachrichten lesen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl "https://nodelodge.com/v1/support/tickets/$TICKET_ID" \
  -b cookies.txt

POST /v1/support/tickets/{id}/messages

Auf eine Support-Anfrage antworten. Eine Antwort auf eine gelöste Anfrage öffnet sie innerhalb von 14 Tagen wieder.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja

Request-Body (JSON):

Feld Typ Pflicht Regeln
body String Ja bis zu 10000 Zeichen
attachmentIds Array aus UUID Nein bis zu 5 Einträge
curl -X POST "https://nodelodge.com/v1/support/tickets/$TICKET_ID/messages" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"body":"text"}'

POST /v1/support/tickets/{id}/rating

Die Antwort auf eine gelöste Anfrage bewerten.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja

Request-Body (JSON):

Feld Typ Pflicht Regeln
rating good, bad Ja
comment String Nein bis zu 1000 Zeichen
curl -X POST "https://nodelodge.com/v1/support/tickets/$TICKET_ID/rating" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"rating":"good"}'

POST /v1/support/tickets/{id}/reopen

Eine gelöste Anfrage innerhalb von 14 Tagen nach ihrer Lösung wieder öffnen.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl -X POST "https://nodelodge.com/v1/support/tickets/$TICKET_ID/reopen" \
  -b cookies.txt

POST /v1/support/tickets/{id}/resolve

Eine Support-Anfrage als gelöst markieren.

Authentifizierung: Eine Konsolensitzung.

Name Ort Typ Pflicht Regeln
id Pfad UUID Ja
curl -X POST "https://nodelodge.com/v1/support/tickets/$TICKET_ID/resolve" \
  -b cookies.txt

Öffentliche Website

POST /v1/access-requests

Zugang zu Node Lodge anfragen.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
email E-Mail-Adresse Ja bis zu 254 Zeichen
company String Nein bis zu 120 Zeichen
role renter, provider Ja
useCase String Ja
website String Nein bis zu 500 Zeichen
curl -X POST "https://nodelodge.com/v1/access-requests" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@example.com","role":"renter","useCase":"Fine-tune a 7B model overnight"}'

POST /v1/newsletter

Den Newsletter abonnieren.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
email String Ja bis zu 254 Zeichen
locale en, fr, de, es Nein
curl -X POST "https://nodelodge.com/v1/newsletter" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@example.com"}'

POST /v1/newsletter/confirm

Ein Newsletter-Abonnement bestätigen.

Authentifizierung: Keine.

Request-Body (JSON):

Feld Typ Pflicht Regeln
token String Ja bis zu 200 Zeichen
curl -X POST "https://nodelodge.com/v1/newsletter/confirm" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_THE_EMAIL_LINK"}'

POST /v1/newsletter/unsubscribe

Den Newsletter abbestellen.

Authentifizierung: Keine.

Name Ort Typ Pflicht Regeln
token Query String Nein bis zu 200 Zeichen

Request-Body (JSON):

Feld Typ Pflicht Regeln
token String Nein bis zu 200 Zeichen
List-Unsubscribe One-Click Nein
curl -X POST "https://nodelodge.com/v1/newsletter/unsubscribe" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_THE_EMAIL_LINK"}'

GET /v1/public/gpus

Die angebotenen GPU-Modelle auflisten, wie die öffentliche Website sie zeigt.

Authentifizierung: Keine.

curl "https://nodelodge.com/v1/public/gpus"

Sonstiges

POST /v1/smart-launch/recommend

Maschinen für einen Workload empfehlen, mit Begründungen und deren Grenzen.

Authentifizierung: Eine Konsolensitzung.

Request-Body (JSON):

Feld Typ Pflicht Regeln
useCase run_model, fine_tune, generate_images, notebook Ja
modelId String Nein bis zu 80 Zeichen
quantization fp16, int8, int4 Nein Standard "fp16"
contextTokens Integer Nein 1 bis 1048576, Standard 4096
concurrency Integer Nein 1 bis 256, Standard 1
minVramGb Integer Nein 1 bis 1024
budgetUsd Zahl Nein höchstens 1000000
maxPricePerHourUsd Zahl Nein höchstens 10000
tier secure, community, either Nein Standard "either"
countries Array aus String Nein bis zu 40 Einträge, Standard []
curl -X POST "https://nodelodge.com/v1/smart-launch/recommend" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"useCase":"run_model"}'

Zuletzt aktualisiert

Ergebnisse erscheinen beim Tippen. Mit den Pfeiltasten wechseln Sie zwischen ihnen.