Everything the dashboard can do, reachable from your own code with one Bearer token.
Every request needs an Authorization: Bearer <token> header. Generate a token from API in the sidebar - give it a name and, optionally, an expiry date. The raw token is shown once; only its hash is stored, so save it somewhere safe.
A token is scoped to your own agency account. Every endpoint below only ever sees and modifies your own subscribers, servers, plans and sites - never another agency's.
Successful responses are wrapped as {"data": ...}. Errors come back as {"error": "message", "errors": {...}} with an appropriate HTTP status code (422 for validation, 404 for not found, 401 for a bad or missing token).
Create and manage the clients on your account - this is the exact API this very site's own sign-up and login forms call.
| Method | Endpoint | Description |
|---|---|---|
| GET | api/users/index | List your subscribers. |
| POST | api/users/store | Create a subscriber - name, email, password, plans[]. |
| POST | api/users/update/{id} | Update a subscriber's details. |
| POST | api/users/ssoToken/{id} | Mint a single-use login link for an existing subscriber (120 second TTL). |
| POST | api/users/login | Verify email, password and return the same kind of login link. |
ssoToken and login return {"login_url": "..."} - redirect the subscriber's browser straight there and they land in their dashboard already signed in.| Method | Endpoint | Description |
|---|---|---|
| GET | api/siteplans/index | List your active plans, cheapest first. |
| GET | api/siteplans/show/{id} | Full detail on one plan, including inactive ones. |
| POST | api/siteplans/store | Create a plan - title, no_of_sites, memory_limit, storage_limit, price, site_types[] and more. |
| POST | api/siteplans/update/{id} | Update a plan's limits or pricing. |
| GET | api/siteplans/delete/{id} | Remove a plan. |
The exact same connect/reboot/disconnect flow the dashboard uses, callable directly.
| Method | Endpoint | Description |
|---|---|---|
| GET | api/servers/index | List your connected servers. |
| GET | api/servers/show/{id} | One server's detail. |
| POST | api/servers/store | Connect a new server. |
| POST | api/servers/update/{id} | Update a server's details. |
| GET | api/servers/delete/{id} | Disconnect it - tears down what it hosts, same as the dashboard. |
| GET | api/servers/reboot/{id} | Trigger a remote reboot (returns immediately). |
| GET | api/servers/reboot_status/{id} | Poll {"online": true|false} until it's back. |
| Method | Endpoint | Description |
|---|---|---|
| GET | api/dbservers/index | List your database instances. |
| GET | api/dbservers/show/{id} | One instance's detail. |
| POST | api/dbservers/store | Install a new engine on one of your servers. |
| POST | api/dbservers/update/{id} | Update its configuration. |
| GET | api/dbservers/delete/{id} | Remove it. |
| GET | api/dbservers/restart/{id} | Restart the container. |
| GET | api/dbservers/stop/{id} | Stop it. |
| GET | api/dbservers/start/{id} | Start it back up. |
Same shape as Database Servers - index, show, store, update, delete, restart, stop, start under api/emailservers/*, with fields like email_domain, enable_smtp, enable_imap.
| Method | Endpoint | Description |
|---|---|---|
| GET | api/supportteam/index | List your support staff accounts. |
| GET | api/supportteam/show/{id} | One staff account's detail. |
| POST | api/supportteam/store | Add a staff account - name, email, password. |
| POST | api/supportteam/update/{id} | Update it, or change the password. |
| GET | api/supportteam/delete/{id} | Remove the account. |
| Method | Endpoint | Description |
|---|---|---|
| GET | api/invoices/index | List invoices with their totals. |
| GET | api/invoices/show/{id} | One invoice, with its line items. |
| GET | api/invoices/markPaid/{id} | Mark it paid. |
| GET | api/invoices/delete/{id} | Remove it. |
| GET | api/invoices/generate | Generate invoices for a billing_period across every subscriber missing one. |
GET api/revenues/index - a read-only report, same as the dashboard: totals, cost and profit, broken down by date, by server and by customer. Takes optional from/to query parameters; defaults to the current month.
| Method | Endpoint | Description |
|---|---|---|
| GET | api/cloudstorage/index | List your storage connections. |
| GET | api/cloudstorage/show/{id} | One connection's detail. |
| POST | api/cloudstorage/store | Add one - name, type, host, port, username, password. |
| POST | api/cloudstorage/update/{id} | Update its credentials. |
| GET | api/cloudstorage/delete/{id} | Remove it. |
| GET | api/cloudstorage/test/{id} | Verify the connection actually works. |
A proxy for a guest chat widget, keyed by an opaque token your own site mints rather than a numeric ID: api/chat/init/{guestToken}, send/{guestToken}, poll/{guestToken}, markseen/{guestToken}, close/{guestToken}.
Site-level, not account-level - these operate on your subscribers' actual sites, across every server you own.
| Method | Endpoint | Description |
|---|---|---|
| GET | api/sites/index | Every site across every subscriber on your servers. |
| GET | api/sites/show/{id} | One site's detail. |
| POST | api/sites/store | Create a site - user_plan_id, title, web_server, application, plus WordPress fields when relevant. |
| POST | api/sites/update/{id} | Update its title or custom domain. |
| GET | api/sites/delete/{id} | Remove it. |
user_plan_id must belong to one of your own subscribers - the API checks this before creating anything, the same way the dashboard would.GET api/sitetypes/index - the catalog of site types (WordPress, Laravel, PHP Site, Node.js) with their available versions, the same list a site plan's site_types field restricts subscribers to.