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.
1. Creează o cheie API
Secțiune intitulată „1. Creează o cheie API”Î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.
2. Primul apel
Secțiune intitulată „2. Primul apel”API-ul se află la adresa panoului tău, sub /api/v1. Trimite cheia ca bearer token:
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:
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:
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.
3. Sau folosește CLI-ul
Secțiune intitulată „3. Sau folosește CLI-ul”curl -fsSL https://get.pluspanel.net/cli.sh | shpluspanel login --api-url "$PLUSPANEL_URL" # aprobi în browser, cu 2FApluspanel servers listpluspanel accounts list -o json | jq -r '.items[].id'Vezi pagina CLI pentru instalarea pe Windows, verificarea semnăturii, profiluri și utilizarea în CI.
Pașii următori
Secțiune intitulată „Pașii următori”- Autentificare și chei API: scope-uri, chei de organizație, rotație, liste de IP-uri permise.
- Convenții: erori, paginare, idempotență, ETag-uri, limite de rată.
- Versionare și depreciere: ce promitem despre
/api/v1. - Webhooks: primești evenimentele automat și le verifici semnătura.
- Biblioteci client: Go și TypeScript.
- Referința API: toate operațiile, generate din documentul OpenAPI (descarcă-l).