Panel API

The Silly Development API

Start, stop and restart your bots, send console commands, edit files and deploy from Git, all from your own code. It is the same API the panel itself runs on.

Updated

Browse the docs

Quick start

Create an API key in the panel under Account, API keys. Copy it when it is shown: it starts with sdevc_ and is only shown once. Keep it in an environment variable rather than in your code, and never commit it to Git.

Every request goes to https://sillydev.co.uk/panel/api/client with the key as a bearer token. This one lists the servers the key can reach:

curl

export SILLYDEV_API_KEY="sdevc_..."

curl "https://sillydev.co.uk/panel/api/client" \
  -H "Authorization: Bearer $SILLYDEV_API_KEY" \
  -H "Accept: application/json"

Restart a server

Each server has an 8-character identifier, shown in the panel and in the identifier field of every server. Use it in the path. Power actions answer 204 as soon as they are accepted; the server then starts, stops or restarts in the background.

curl

curl -X POST "https://sillydev.co.uk/panel/api/client/servers/1a7ce997/power" \
  -H "Authorization: Bearer $SILLYDEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"signal": "restart"}'

Requests and responses

Send JSON with Content-Type: application/json and ask for JSON with Accept: application/json. A single thing comes back as {"object": "server", "attributes": {...}}, and a list as {"object": "list", "data": [...]}, where each entry in data has the same shape. Long lists are split into pages: meta.pagination says how many there are, and ?page=2 asks for the next.

When something goes wrong the status code says what kind of problem it is and the body says which: {"errors": [{"code": "...", "status": "422", "detail": "..."}]}. The detail is written to be shown to a person. Errors and limits has the full list.

What the API covers

Servers and their power, console, settings and startup variables; files; backups; schedules; network ports; subusers; Git deploys; and your account. While they are on offer, you can also create free servers, manage free databases and order paid servers. Each area has its own page, listed in the navigation, with every endpoint, the permission it needs and an example in curl, Python and JavaScript.

Things that change how you sign in are not part of the API: your email address, password, two-factor, SSH keys and API keys themselves can only be changed in the panel, in a browser.

SDKs

There are official libraries for Python (pip install sillydev) and for JavaScript and TypeScript (npm install sillydev). They cover every endpoint, read the key from SILLYDEV_API_KEY, give you plain objects without the attributes wrapping, page through long lists for you, raise a separate error for each kind of failure and wait and retry when you hit the rate limit.

Both include a sillydev command line tool, for example sillydev servers list, sillydev power 1a7ce997 restart and sillydev deploy 1a7ce997, and an MCP server, sillydev mcp, that lets AI assistants list your servers, check on them, read their files, restart them and deploy from Git. It cannot delete anything or buy anything.

Python SDK

from sillydev import SillyDev

client = SillyDev()  # reads SILLYDEV_API_KEY
client.panel.servers.power("1a7ce997", "restart")

JavaScript SDK

import { SillyDev } from 'sillydev';

const client = new SillyDev(); // reads SILLYDEV_API_KEY
await client.panel.servers.power('1a7ce997', 'restart');

Tools and the OpenAPI description

The whole API is described in OpenAPI 3.1 at https://sillydev.co.uk/docs/panel/openapi.json. Import it into Postman, Insomnia or Bruno to try requests, or give it to a code generator. AI coding tools can read it too.

FAQ

Questions

Is the API free to use?

Yes. It comes with every account, free or paid, and costs nothing extra. The same rate limits apply to everyone.

Can an API key do everything my account can?

Only what you allow. A key can be limited to some servers, some permissions, some IP addresses and some account areas, and it can be set to expire. Nothing a key does can change your password, email address, two-factor or API keys.

Will the API change under me?

This is version 1. New endpoints and new fields can appear at any time, so ignore fields you do not know. Anything we plan to remove or change in a way that breaks code is announced on the changelog at least 90 days ahead.

Read next