−25%

sur Windows en paiement annuel, jusqu'au 31/10. Voir les offres

EQVPS
Commencer

Connecter votre compte

Vous avez déjà un compte EQVPS et voulez qu’un script ou un agent l’utilise : obtenez un jeton, mettez-le dans la configuration, lancez la première sandbox et gardez le solde approvisionné.

Comment tout s’articule

Votre compteeqvps.comJeton APIBearer …Agent ou scriptMCP · REST · SDKEQVPS APIapi.eqvps.comSandboxPython · Node · bashSoldeUSD$ / s
Le jeton dit qui vous êtes. Chaque requête s’exécute sur votre compte, et le temps de sandbox est débité de votre solde.

1. Obtenez un jeton

Le plus simple : dans le tableau de bord, ouvrez Paramètres → Jetons API, créez un jeton (nommez-le d’après l’agent, choisissez une durée) et copiez-le. Il n’est affiché qu’une fois.

En ligne de commande : connectez-vous avec e-mail et mot de passe pour obtenir un jeton neuf. Si vous vous êtes inscrit avec un code par e-mail sans jamais définir de mot de passe, définissez-en un une fois avec un jeton du tableau de bord. Vous pouvez aussi créer un compte avec POST /auth/register, qui renvoie tout de suite un jeton.

# log in with email + password → token
curl -s https://api.eqvps.com/api/v1/eqvps/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}'
# → {"token":"eyJ0…","token_type":"Bearer","token_expires_at":"2027-10-03T…","user":{…}}

# signed up with an email code and have no password? set one once
# (authorise with a token from Settings → API tokens)
curl -s https://api.eqvps.com/api/v1/eqvps/auth/set-password \
  -H "Authorization: Bearer $EQVPS_API_KEY" -H "Content-Type: application/json" \
  -d '{"password":"new-pass-123","password_confirmation":"new-pass-123"}'

# no account yet: register straight from the API (password is optional)
curl -s https://api.eqvps.com/api/v1/eqvps/auth/register \
  -H "Content-Type: application/json" -d '{"email":"you@example.com"}'

# extend a token before it expires
curl -s -X POST https://api.eqvps.com/api/v1/eqvps/auth/token/refresh \
  -H "Authorization: Bearer $EQVPS_API_KEY"

Un jeton est valable 1 an (voir token_expires_at dans la réponse). Prolongez-le avec POST /auth/token/refresh ; révoquez ceux que vous n’utilisez plus dans les Paramètres.

2. Mettez-le dans la configuration

Gardez le jeton hors du code : exportez-le en EQVPS_API_KEY. Les clients MCP le reçoivent dans l’en-tête Authorization.

# shell / CI secret — keep it out of the code
export EQVPS_API_KEY="eyJ0…"

# SDKs read the same variable (0.2.0+: give your code its secrets as env, not in the source)
pip install -U eqvps         # Python
npm i @eqvps/sdk@latest      # TypeScript / JavaScript

# Claude Code
claude mcp add --transport http eqvps https://mcp.eqvps.com/mcp \
  --header "Authorization: Bearer $EQVPS_API_KEY"

# Cursor, Claude Desktop, other MCP clients (mcp.json)
{
  "mcpServers": {
    "eqvps": {
      "type": "streamable-http",
      "url": "https://mcp.eqvps.com/mcp",
      "headers": { "Authorization": "Bearer <YOUR_TOKEN>" }
    }
  }
}

3. Lancez la première sandbox

Créer, exécuter du code, supprimer. Un exit_code non nul est un résultat normal de votre commande, pas une erreur HTTP.

API=https://api.eqvps.com/api/v1/eqvps
H="Authorization: Bearer $EQVPS_API_KEY"

SB=$(curl -s -X POST $API/sandboxes -H "$H" -H "Content-Type: application/json" \
  -d '{"tariff":"micro"}' | python3 -c 'import sys,json; print(json.load(sys.stdin)["id"])')

curl -s -X POST $API/sandboxes/$SB/run -H "$H" -H "Content-Type: application/json" \
  -d '{"language":"bash","code":"uname -sr && python3 --version && node --version"}'
# → {"exit_code":0,"stdout":"Linux 6.1…\nPython 3.12…\nv22…\n","stderr":"",…}

curl -s -X DELETE $API/sandboxes/$SB -H "$H"

Modes, tarifs et exemples Python / Node.js : Sandboxes →

4. Rechargez le solde

Sandboxes et serveurs sont payés depuis un seul solde prépayé. Rechargez-le dans le tableau de bord (Solde : crypto, Monero ou code promo) ou avec POST /balance/topup, qui renvoie un lien de paiement. GET /balance indique ce qui reste.

curl -s $API/balance -H "$H"
# → {"balance":12.4,"currency":"USD","promo_balance":0,"real_balance":12.4,"promo_scope":"sandboxes"}

curl -s -X POST $API/balance/topup -H "$H" -H "Content-Type: application/json" -d '{"amount":10}'
# → {"invoice_id":…,"checkout_url":"https://…"}   open the link and pay with crypto

Les erreurs que vous verrez probablement

  • 401 Unauthenticated — le jeton manque, contient une faute, a expiré ou a été révoqué. Vérifiez l’en-tête Authorization: Bearer, créez un nouveau jeton dans les Paramètres ou reconnectez-vous.
  • 402 insufficient_balance — le solde est vide, donc aucune nouvelle sandbox ne démarre. Rechargez et renvoyez la requête. Les sandboxes persistantes en cours sont mises en pause plutôt que supprimées.
  • 429 et 503 signifient que la requête a été refusée avant toute exécution : attendez Retry-After et renvoyez-la. 409 sandbox_paused : rechargez et la sandbox reprend.
HTTP 401  {"message":"Unauthenticated."}
HTTP 402  {"error":"insufficient_balance","message":"Your balance cannot cover this sandbox. Top up (topup_balance / POST /balance/topup) and retry."}
HTTP 429  {"error":"too_many_concurrent", …}      → wait Retry-After, then retry
HTTP 503  {"error":"capacity","retry_after":30, …} → wait Retry-After, then retry

Commentaires

Pas encore de commentaires. Soyez le premier.

Laisser un commentaire

Les commentaires sont modérés avant leur publication.