Référence de l'API

Chaque point de terminaison public de l'API Node Lodge : authentification, paramètres, corps de requête et un exemple curl pour chacun.

La description lisible par machine de cette API se trouve à https://nodelodge.com/v1/openapi.json (OpenAPI 3.1). Importez-la dans votre client HTTP ou générez-en un client.

Authentification

Chaque point de terminaison indique son mode d’authentification :

  • Une clé d’API : envoyez Authorization: Bearer $NODELODGE_API_KEY. Créez des clés dans la console, sous Keys. Voir le démarrage rapide de l’API pour les portées.
  • Une session de console : les points de terminaison qu’utilise la console. Connectez-vous avec POST /v1/auth/login et conservez le témoin de session (-c cookies.txt), puis renvoyez-le (-b cookies.txt). Avec l’authentification à deux facteurs activée, terminez la connexion avec POST /v1/auth/mfa/verify, en envoyant le même fichier de témoins avec -b cookies.txt -c cookies.txt.
  • Aucune : points de terminaison publics.

Une clé d’API sur un point de terminaison qui exige une session de console renvoie 403 API_KEY_NOT_ALLOWED. Requêtes et réponses sont en JSON. Les erreurs ont une seule forme : { "error": { "code": "...", "message": "..." } }.

Connexion et compte

POST /v1/account/close

Fermez votre compte et son organisation.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
password chaîne Oui jusqu’à 128 caractères
acceptCreditLoss booléen Non
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

Voyez ce qu’entraînerait la fermeture de votre compte, et ce qui la bloque.

Authentification : une session de console.

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

GET /v1/account/credit

Lisez le crédit prépayé de votre organisation et ses écritures.

Authentification : une session de console.

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

GET /v1/account/funds

Lisez ce que votre organisation peut dépenser maintenant : une nouvelle session est admise sur le montant disponible.

Authentification : une clé d’API avec la portée billing:read, ou une session de console.

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

POST /v1/account/terms

Acceptez les conditions d’utilisation, dans la version qu’indique GET /v1/client-config.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
version chaîne Oui jusqu’à 20 caractères
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

Connectez-vous et recevez un témoin de session.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
email adresse courriel Oui jusqu’à 254 caractères
password chaîne Oui jusqu’à 128 caractères
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

Déconnectez cette session.

Authentification : aucune.

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

GET /v1/auth/mfa

Lisez l’état de votre authentification à deux facteurs.

Authentification : une session de console.

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

POST /v1/auth/mfa/disable

Désactivez l’authentification à deux facteurs.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
password chaîne Oui jusqu’à 128 caractères
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

Remplacez vos codes de récupération.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
code chaîne Oui 6 caractères ou plus, jusqu’à 40 caractères
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

Confirmez votre second facteur avant une action sensible.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
code chaîne Oui 6 caractères ou plus, jusqu’à 40 caractères
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

Terminez l’activation d’une application d’authentification.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
code chaîne Oui 6 caractères ou plus, jusqu’à 40 caractères
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

Commencez l’activation d’une application d’authentification.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
password chaîne Oui jusqu’à 128 caractères
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

Terminez une connexion avec le code de votre application d’authentification.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
code chaîne Oui 6 caractères ou plus, jusqu’à 40 caractères
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

Changez votre mot de passe.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
currentPassword chaîne Oui jusqu’à 128 caractères
newPassword chaîne Oui 12 caractères ou plus, jusqu’à 128 caractères
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

Définissez un nouveau mot de passe depuis un lien de réinitialisation.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
token chaîne Oui 20 caractères ou plus, jusqu’à 100 caractères
password chaîne Oui 12 caractères ou plus, jusqu’à 128 caractères
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

Envoyez un lien de réinitialisation du mot de passe par courriel.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
email adresse courriel Oui jusqu’à 254 caractères
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

Déconnectez toutes les sessions.

Authentification : une session de console.

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

POST /v1/auth/signup

Créez un compte et son organisation.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
email adresse courriel Oui jusqu’à 254 caractères
password chaîne Oui 12 caractères ou plus, jusqu’à 128 caractères
displayName chaîne Oui jusqu’à 80 caractères
organizationName chaîne Non jusqu’à 120 caractères
acceptTerms true Oui
inviteToken chaîne Non 20 caractères ou plus, jusqu’à 100 caractères
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

Confirmez votre adresse courriel depuis le lien reçu.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
token chaîne Oui 20 caractères ou plus, jusqu’à 100 caractères
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

Renvoyez le courriel de confirmation.

Authentification : une session de console.

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

GET /v1/client-config

Lisez les paramètres publics de la console.

Authentification : aucune.

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

GET /v1/me

Lisez votre profil, votre organisation et vos accès.

Authentification : une session de console.

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

Clés d’API

GET /v1/api-keys

Listez les clés d’API de votre organisation.

Authentification : une session de console.

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

POST /v1/api-keys

Créez une clé d’API. La clé n’est renvoyée qu’une fois; sa création exige l’authentification à deux facteurs et un code récent.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
name chaîne Oui jusqu’à 60 caractères
scopes tableau de workloads:read, workloads:write, volumes, secrets, billing:read Oui jusqu’à 5 éléments
monthlySpendCapCents entier Non de 1 à 10000000
maxConcurrentWorkloads entier Non de 1 à 100
maxTotalSpendCents entier Non de 1 à 10000000
maxSessionSpendCents entier Non de 1 à 10000000
expiresInDays entier Non de 1 à 365, par défaut 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}

Modifiez les plafonds de dépenses d’une clé d’API. Exige un code à deux facteurs récent.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui

Corps de la requête (JSON) :

Champ Type Requis Règles
monthlySpendCapCents entier Non
maxConcurrentWorkloads entier Non
maxTotalSpendCents entier Non
maxSessionSpendCents entier Non
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}

Révoquez une clé d’API. Les requêtes qui l’utilisent s’arrêtent immédiatement.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl -X DELETE "https://nodelodge.com/v1/api-keys/$API_KEY_ID" \
  -b cookies.txt

GET /v1/whoami

Vérifiez une clé ou une session : l’organisation et les portées qu’elle porte.

Authentification : une clé d’API (toute portée), ou une session de console.

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

Catalogue Community

GET /v1/catalog/offers

Recherchez des machines Community.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
gpuModel requête chaîne Non jusqu’à 80 caractères
minGpuCount requête entier Non de 0 à 16
minVramGb requête nombre Non de 0 à 1024
minRamGb requête nombre Non de 0 à 65536
minVcpu requête entier Non de 0 à 4096
region requête chaîne Non
maxPricePerHourCents requête entier Non de 1 à 9007199254740991
onlineOnly requête true, false Non
sort requête price_asc, price_desc, vram_desc Non par défaut "price_asc"
limit requête entier Non de 1 à 100, par défaut 50
curl "https://nodelodge.com/v1/catalog/offers" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/catalog/offers/{id}

Lisez une offre Community.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl "https://nodelodge.com/v1/catalog/offers/$OFFER_ID" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

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

Chiffrez une location Community pour un nombre d’heures.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
durationHours requête entier Oui de 1 à 720
id chemin UUID Oui
curl "https://nodelodge.com/v1/catalog/offers/$OFFER_ID/quote?durationHours=2" \
  -b cookies.txt

Catalogue Secure

GET /v1/catalog/partner-offers

Listez les machines Secure, en stock d’abord, puis en rupture avec la dernière date de disponibilité de chacune.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
includeUnavailable requête true, false Non par défaut "true"
curl "https://nodelodge.com/v1/catalog/partner-offers" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

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

Lisez une offre Secure.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl "https://nodelodge.com/v1/catalog/partner-offers/$PARTNER_OFFER_ID" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

Sessions de calcul

GET /v1/client-address

Lisez l’adresse IPv4 publique d’où partent vos requêtes, pour autoriser SSH vers une machine en centre de données.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

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

GET /v1/environments

Listez les environnements prêts à l’emploi; avec une offre, si chacun fonctionne sur sa machine, et sinon pourquoi.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
offerId requête UUID Non
curl "https://nodelodge.com/v1/environments" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/sessions

Listez vos sessions de calcul, comme locataire ou comme fournisseur.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
side requête renter, provider Non par défaut "renter"
limit requête entier Non de 1 à 200, par défaut 50
curl "https://nodelodge.com/v1/sessions" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/sessions

Démarrez une session de calcul. Son budget est réservé sur le crédit prépayé et jamais dépassé; la facturation suit le temps réel dès que la machine est prête. Indiquez des identifiants de clés SSH enregistrées, ou une clé publique pour cette session seulement. Avec une clé d’API, le budget compte dans les limites de la clé.

Authentification : une clé d’API avec la portée workloads:write, ou une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
offerId UUID Non
partnerOfferId UUID Non
environmentId chaîne Oui
sshKeyIds tableau d’UUID Non jusqu’à 10 éléments
sshPublicKey chaîne Non 40 caractères ou plus, jusqu’à 16384 caractères
budgetCents entier Oui de 1 à 10000000
maxDurationHours entier Non de 1 à 2160
pricing on_demand, interruptible, reserved Oui
reservedDays entier Non de 1 à 30
model objet Non
allowedCidr chaîne Non 7 caractères ou plus, jusqu’à 18 caractères
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}

Lisez une session de calcul. Pendant son démarrage, launch donne ses étapes (commande passée, machine allouée, machine démarrée, vérification de l’environnement et de la stabilité, prête) et celle qui est en cours.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl "https://nodelodge.com/v1/sessions/$SESSION_ID" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

GET /v1/sessions/{id}/access

Lisez comment vous connecter à une session Community prête : SSH par le relais et JupyterLab. Locataire seulement; avec une clé d’API, seulement les sessions lancées avec cette clé. Une session Secure prête donne son adresse SSH dans directSsh.

Authentification : une clé d’API avec la portée workloads:write, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl "https://nodelodge.com/v1/sessions/$SESSION_ID/access" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/sessions/{id}/budget

Augmentez le budget d’une session en cours, en réservant la différence sur le crédit prépayé. Avec une clé d’API, seulement les sessions lancées avec cette clé, dans ses limites.

Authentification : une clé d’API avec la portée workloads:write, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui

Corps de la requête (JSON) :

Champ Type Requis Règles
budgetCents entier Oui de 1 à 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

Obtenez le reçu de consommation d’une session terminée, en JSON ou en CSV avec format=csv.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
format requête json, csv Non par défaut "json"
id chemin UUID Oui
curl "https://nodelodge.com/v1/sessions/$SESSION_ID/receipt" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/sessions/{id}/stop

Arrêtez une session de calcul. La facturation prend fin à son arrêt effectif et le reste du budget est libéré.

Authentification : une clé d’API avec la portée workloads:write, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl -X POST "https://nodelodge.com/v1/sessions/$SESSION_ID/stop" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

Clés SSH

GET /v1/ssh-keys

Listez vos clés SSH publiques.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

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

POST /v1/ssh-keys

Ajoutez une clé SSH publique. Exige un code à deux facteurs récent si l’authentification à deux facteurs est activée.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
name chaîne Non jusqu’à 60 caractères
publicKey chaîne Oui jusqu’à 16384 caractères
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}

Supprimez une de vos clés SSH publiques. Les sessions déjà démarrées conservent la leur.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl -X DELETE "https://nodelodge.com/v1/ssh-keys/$SSH_KEY_ID" \
  -b cookies.txt

Locations

GET /v1/reservations

Listez vos locations, comme locataire ou comme fournisseur.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
side requête renter, provider Non par défaut "renter"
hostId requête UUID Non
limit requête entier Non de 1 à 200, par défaut 50
curl "https://nodelodge.com/v1/reservations" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/reservations

Réservez une machine. Quand les machines en centre de données démarrent en sessions, une offre partenaire répond 409 SESSION_REQUIRED : utilisez POST /v1/sessions. À la demande, le montant retenu couvre les 60 prochaines minutes et se renouvelle tant que la machine tourne; la facturation se fait par minute entamée d’utilisation réelle, sans minimum d’une heure.

Authentification : une clé d’API avec la portée workloads:write, ou une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
offerId UUID Oui
durationHours entier Oui de 1 à 720
startsAt date et heure (ISO 8601) Non
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

Comptez vos locations par statut.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
side requête renter, provider Non par défaut "renter"
curl "https://nodelodge.com/v1/reservations/summary" \
  -b cookies.txt

GET /v1/reservations/{id}

Lisez une location.

Authentification : une clé d’API avec la portée workloads:read, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl "https://nodelodge.com/v1/reservations/$RESERVATION_ID" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/reservations/{id}/cancel

Annulez une location avant son début.

Authentification : une clé d’API avec la portée workloads:write, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl -X POST "https://nodelodge.com/v1/reservations/$RESERVATION_ID/cancel" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/reservations/{id}/complete

Terminez une location en cours.

Authentification : une clé d’API avec la portée workloads:write, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl -X POST "https://nodelodge.com/v1/reservations/$RESERVATION_ID/complete" \
  -H "Authorization: Bearer $NODELODGE_API_KEY"

POST /v1/reservations/{id}/start

Démarrez une location avec votre clé SSH et l’adresse IP autorisée à se connecter.

Authentification : une clé d’API avec la portée workloads:write, ou une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui

Corps de la requête (JSON) :

Champ Type Requis Règles
sshPublicKey chaîne Oui 40 caractères ou plus, jusqu’à 2000 caractères
allowedCidr chaîne Oui 7 caractères ou plus, jusqu’à 18 caractères
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"}'

Facturation et crédit

GET /v1/billing

Lisez votre solde, votre carte et vos paiements.

Authentification : une session de console.

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

PUT /v1/billing/auto-topup

Activez ou modifiez la recharge automatique de votre crédit.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
thresholdCents entier Oui de 500 à 1000000
amountCents entier Oui de 1000 à 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

Désactivez la recharge automatique.

Authentification : une session de console.

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

POST /v1/billing/card

Commencez l’enregistrement d’une carte, sur une page de paiement hébergée.

Authentification : une session de console.

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

DELETE /v1/billing/card

Supprimez votre carte enregistrée.

Authentification : une session de console.

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

POST /v1/billing/credit

Achetez du crédit prépayé, sur une page de paiement hébergée.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
amountCents entier Oui de 1000 à 1000000
curl -X POST "https://nodelodge.com/v1/billing/credit" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"amountCents":2500}'

GET /v1/limits

Lisez les limites du compte de votre organisation : GPU à la fois, classes de GPU, crédit par tranche de 24 heures, ce qui est utilisé et le palier suivant.

Authentification : une clé d’API avec la portée billing:read, ou une session de console.

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

Machines (fournisseurs)

GET /v1/hosts

Listez vos machines.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
limit requête entier Non de 1 à 500, par défaut 100
cursor requête chaîne Non jusqu’à 200 caractères
curl "https://nodelodge.com/v1/hosts" \
  -b cookies.txt

POST /v1/hosts/enrollment-codes

Créez un code à usage unique pour appairer une machine.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
hostName chaîne Oui jusqu’à 80 caractères
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}

Lisez une de vos machines.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
hostId chemin UUID Oui
curl "https://nodelodge.com/v1/hosts/$HOST_ID" \
  -b cookies.txt

DELETE /v1/hosts/{hostId}

Retirez une machine révoquée de vos listes.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
hostId chemin UUID Oui
curl -X DELETE "https://nodelodge.com/v1/hosts/$HOST_ID" \
  -b cookies.txt

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

Désactivez, activez ou révoquez une machine.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
hostId chemin UUID Oui
action chemin disable, enable, revoke Oui
curl -X POST "https://nodelodge.com/v1/hosts/$HOST_ID/disable" \
  -b cookies.txt

Offres (fournisseurs)

GET /v1/hosts/{hostId}/offer

Lisez l’offre d’une machine.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
hostId chemin UUID Oui
curl "https://nodelodge.com/v1/hosts/$HOST_ID/offer" \
  -b cookies.txt

PUT /v1/hosts/{hostId}/offer

Fixez le taux horaire, la région et les limites de réservation d’une machine.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
hostId chemin UUID Oui

Corps de la requête (JSON) :

Champ Type Requis Règles
pricePerHourCents entier Oui de 1 à 1000000
regionCode chaîne Oui
minHours entier Non de 1 à 720, par défaut 1
maxHours entier Non de 1 à 720, par défaut 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}

Publiez ou dépubliez l’offre d’une machine.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
hostId chemin UUID Oui
action chemin publish, unpublish Oui
curl -X POST "https://nodelodge.com/v1/hosts/$HOST_ID/offer/publish" \
  -b cookies.txt

Notifications

GET /v1/notifications

Listez vos notifications.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
limit requête entier Non de 1 à 100, par défaut 20
cursor requête chaîne Non jusqu’à 200 caractères
unread requête true, false Non par défaut "false"
curl "https://nodelodge.com/v1/notifications" \
  -b cookies.txt

GET /v1/notifications/preferences

Lisez vos réglages de notification.

Authentification : une session de console.

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

PUT /v1/notifications/preferences

Modifiez vos réglages de notification.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
types tableau d’objets Non jusqu’à 31 éléments
creditLowThresholdCents entier Non
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

Marquez toutes les notifications comme lues.

Authentification : une session de console.

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

GET /v1/notifications/unread-count

Comptez vos notifications non lues.

Authentification : une session de console.

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

POST /v1/notifications/unsubscribe

Arrêtez un type de courriel, depuis le lien de ce courriel.

Authentification : aucune.

Nom Emplacement Type Requis Règles
token requête chaîne Non jusqu’à 100 caractères

Corps de la requête (JSON) :

Champ Type Requis Règles
token chaîne Non jusqu’à 100 caractères
List-Unsubscribe One-Click Non
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

Marquez une notification comme lue.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl -X POST "https://nodelodge.com/v1/notifications/$NOTIFICATION_ID/read" \
  -b cookies.txt

Activité

GET /v1/audit-events

Listez l’activité de votre organisation.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
limit requête entier Non de 1 à 200, par défaut 50
curl "https://nodelodge.com/v1/audit-events" \
  -b cookies.txt

Support

POST /v1/public/abuse-reports

Signalez un abus commis depuis une machine Node Lodge, sans compte.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
email adresse courriel Oui jusqu’à 254 caractères
name chaîne Non jusqu’à 120 caractères
kind malware, phishing, spam, network_attack, copyright, illegal_content, other Oui
target chaîne Oui 3 caractères ou plus, jusqu’à 500 caractères
description chaîne Oui 20 caractères ou plus, jusqu’à 5000 caractères
evidence chaîne Non jusqu’à 2000 caractères
website chaîne Non jusqu’à 500 caractères
elapsedMs entier Oui de 0 à 86400000
proof objet Oui
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

Obtenez le défi de preuve de travail que le formulaire de signalement d’abus résout avant l’envoi.

Authentification : aucune.

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

POST /v1/support/attachments

Obtenez un lien d’envoi valable 5 minutes pour un fichier à joindre (PNG, JPEG, WebP, PDF, texte, JSON, CSV, 10 Mo au plus).

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
ticketId UUID Non
fileName chaîne Oui jusqu’à 255 caractères
contentType chaîne Oui jusqu’à 100 caractères
sizeBytes entier Oui de 1 à 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}

Obtenez un lien de téléchargement valable 60 secondes pour une pièce jointe.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl "https://nodelodge.com/v1/support/attachments/$ATTACHMENT_ID" \
  -b cookies.txt

GET /v1/support/options

Listez les sessions et les paiements que peut viser une demande de support.

Authentification : une session de console.

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

GET /v1/support/tickets

Listez vos demandes de support, les plus récemment actives d’abord. Les propriétaires et les administrateurs voient toutes les demandes de l’organisation.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
limit requête entier Non de 1 à 100, par défaut 50
cursor requête chaîne Non jusqu’à 200 caractères
status requête open, waiting_on_customer, resolved, closed Non
curl "https://nodelodge.com/v1/support/tickets" \
  -b cookies.txt

POST /v1/support/tickets

Ouvrez une demande de support, au besoin au sujet d’une session ou d’un paiement de votre organisation.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
category limit_increase, billing, technical, account_security, abuse Oui
subject chaîne Oui 3 caractères ou plus, jusqu’à 200 caractères
body chaîne Oui jusqu’à 10000 caractères
sessionId UUID Non
paymentId UUID Non
errorReference chaîne Non jusqu’à 64 caractères
requestedTier 1 ou 2 ou 3 Non
attachmentIds tableau d’UUID Non jusqu’à 5 éléments
followUpOf UUID Non
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}

Lisez une demande de support et ses messages.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl "https://nodelodge.com/v1/support/tickets/$TICKET_ID" \
  -b cookies.txt

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

Répondez à une demande de support. Une réponse à une demande résolue la rouvre dans un délai de 14 jours.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui

Corps de la requête (JSON) :

Champ Type Requis Règles
body chaîne Oui jusqu’à 10000 caractères
attachmentIds tableau d’UUID Non jusqu’à 5 éléments
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

Évaluez la réponse à une demande résolue.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui

Corps de la requête (JSON) :

Champ Type Requis Règles
rating good, bad Oui
comment chaîne Non jusqu’à 1000 caractères
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

Rouvrez une demande résolue, dans les 14 jours suivant sa résolution.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl -X POST "https://nodelodge.com/v1/support/tickets/$TICKET_ID/reopen" \
  -b cookies.txt

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

Marquez une demande de support comme résolue.

Authentification : une session de console.

Nom Emplacement Type Requis Règles
id chemin UUID Oui
curl -X POST "https://nodelodge.com/v1/support/tickets/$TICKET_ID/resolve" \
  -b cookies.txt

Site public

POST /v1/access-requests

Demandez l’accès à Node Lodge.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
email adresse courriel Oui jusqu’à 254 caractères
company chaîne Non jusqu’à 120 caractères
role renter, provider Oui
useCase chaîne Oui
website chaîne Non jusqu’à 500 caractères
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

Abonnez-vous à l’infolettre.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
email chaîne Oui jusqu’à 254 caractères
locale en, fr, de, es Non
curl -X POST "https://nodelodge.com/v1/newsletter" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@example.com"}'

POST /v1/newsletter/confirm

Confirmez un abonnement à l’infolettre.

Authentification : aucune.

Corps de la requête (JSON) :

Champ Type Requis Règles
token chaîne Oui jusqu’à 200 caractères
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

Désabonnez-vous de l’infolettre.

Authentification : aucune.

Nom Emplacement Type Requis Règles
token requête chaîne Non jusqu’à 200 caractères

Corps de la requête (JSON) :

Champ Type Requis Règles
token chaîne Non jusqu’à 200 caractères
List-Unsubscribe One-Click Non
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

Listez les modèles de GPU proposés, tels que les affiche le site public.

Authentification : aucune.

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

Autres

POST /v1/smart-launch/recommend

Obtenez des machines recommandées pour une charge de travail, avec les raisons et leurs limites.

Authentification : une session de console.

Corps de la requête (JSON) :

Champ Type Requis Règles
useCase run_model, fine_tune, generate_images, notebook Oui
modelId chaîne Non jusqu’à 80 caractères
quantization fp16, int8, int4 Non par défaut "fp16"
contextTokens entier Non de 1 à 1048576, par défaut 4096
concurrency entier Non de 1 à 256, par défaut 1
minVramGb entier Non de 1 à 1024
budgetUsd nombre Non au plus 1000000
maxPricePerHourUsd nombre Non au plus 10000
tier secure, community, either Non par défaut "either"
countries tableau de chaînes Non jusqu’à 40 éléments, par défaut []
curl -X POST "https://nodelodge.com/v1/smart-launch/recommend" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"useCase":"run_model"}'

Dernière mise à jour

Les résultats apparaissent pendant la saisie. Les flèches permettent de les parcourir.