Sari la conținut

API și CLI — primii pași

Tot ce faci în panoul PlusPanel trece printr-un singur API REST public, /api/v1. Același API îl poți apela din scripturi, din propriile sisteme, din unealta în linie de comandă pluspanel și din bibliotecile client pentru Go și TypeScript. Este disponibil în toate edițiile, inclusiv Free.

  • Aceleași permisiuni ca în panou. O cerere este permisă doar dacă utilizatorul din spatele ei are voie să facă același lucru în panou. O cheie API poate restrânge drepturile, niciodată lărgi.
  • Auditat. Orice modificare făcută cu o cheie API apare în jurnalul de audit, cu id-ul cheii.
  • Un singur contract. Referința API este generată din același document OpenAPI din care este construit control plane-ul, deci este mereu la zi.

În panou, deschide Setări → API și alege Creează cheie API. Dă-i un nume, alege scope-urile (pentru un prim test ajung servers:read și accounts:read) și, opțional, o dată de expirare și o listă de IP-uri permise. Cheia este afișată o singură dată: copiaz-o în seiful tău de secrete. Arată așa:

ppk_k3nmw2x7q4tz_8lV0m1Q2… (ppk_<id cheie>_<secret>)

Cheile sunt explicate în detaliu în Autentificare și chei API.

API-ul se află la adresa panoului tău, sub /api/v1. Trimite cheia ca bearer token:

Terminal window
export PLUSPANEL_URL="https://panel.example.com"
export PLUSPANEL_API_KEY="ppk_…"
curl -fsS "$PLUSPANEL_URL/api/v1/servers?limit=20" \
-H "Authorization: Bearer $PLUSPANEL_API_KEY"

Răspunsul este JSON. Colecțiile sunt paginate cu un cursor:

{
"items": [
{
"id": "6f1c2d3e-…",
"name": "web-01",
"status": "enrolled",
"public_ipv4": "203.0.113.10",
"created_at": "2026-10-19T09:12:44Z"
}
],
"next_cursor": "eyJ…"
}

Apoi listează conturile de găzduire la care ai acces, de pe toate serverele:

Terminal window
curl -fsS "$PLUSPANEL_URL/api/v1/accounts" -H "Authorization: Bearer $PLUSPANEL_API_KEY"

Și lansează un site WordPress într-unul dintre ele. Cererile care modifică ceva acceptă un Idempotency-Key, așa că o reîncercare după o eroare de rețea nu creează niciodată un al doilea site:

Terminal window
curl -fsS -X POST "$PLUSPANEL_URL/api/v1/accounts/$ACCOUNT_ID/sites" \
-H "Authorization: Bearer $PLUSPANEL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"primary_domain": "shop.example.com", "title": "Shop", "admin_email": "owner@example.com"}'

Site-ul este creat imediat (installing), iar răspunsul conține job_id-ul care îl instalează. Pentru acest apel cheia are nevoie de scope-ul sites:write.

Terminal window
curl -fsSL https://get.pluspanel.net/cli.sh | sh
pluspanel login --api-url "$PLUSPANEL_URL" # aprobi în browser, cu 2FA
pluspanel servers list
pluspanel accounts list -o json | jq -r '.items[].id'

Vezi pagina CLI pentru instalarea pe Windows, verificarea semnăturii, profiluri și utilizarea în CI.