Admin & instances
Admins register hosting panels, tune pricing and limits, and manage account credit.
Admin status is granted by email via the ADMIN_EMAILS environment variable on the backend. Admin endpoints live under /v1/admin and the UI under /admin.
Adding a hosting instance
You need, from each panel:
- The panel base URL (e.g.
https://panel.example.com). - An Application API key (Admin → Application API) with read/write on users, nodes, allocations, servers and eggs.
- Optionally a Client API key so Cloud API can proxy power, console and files.
bashPOST /v1/admin/instances { "name": "eu-cluster", "baseUrl": "https://panel.eu.example.com", "appApiKey": "ptla_...", "clientApiKey": "ptlc_...", "priority": 100 }
Use POST /v1/admin/instances/:id/test to verify connectivity — it lists nodes and their region tags, and confirms the client key resolves a service user. Tag nodes USA, SPAIN, etc. in Pelican so the stock engine can group them by region.
The service user & the client key
Pelican’s Client API (power, console, files) is per-user: a client key can only manage servers its owner owns. So Cloud API creates every server on an instance under the single Pelican user that owns that instance’s client key — the service user — letting one key manage them all. Tenant isolation is enforced by Cloud API in its own database (each server records the account that owns it), not by Pelican.
- Create a dedicated Pelican user for Cloud API and generate a Client API key while logged in as that user.
- Add it as
clientApiKey. Cloud API calls/api/client/accountto resolve and cache the service user id. - Without a client key, deploys still work (under a per-account user), but power/console/file endpoints return
400until you add one.
Pricing & limits
PUT /v1/admin/settings controls per-resource prices, the trial credit, the minimum balance, per-server resource caps and the per-account server limit. See Credits & billing.
Managing credit
bashPOST /v1/admin/users/:id/credits { "amountCents": 2000, "note": "Promo" } // negative deducts
Multiple instances
Add as many panels as you like. Lower priority values are preferred; within the same priority the node with the most free memory wins. Disable an instance (without deleting it) by setting enabled: false — existing servers keep working, but no new servers are placed there.