---
title: "Panel API Docs for Bot Hosting"
description: "Control your bots from code: start and restart servers, send console commands, manage files and deploy from Git with the Silly Development API."
url: "https://sillydev.co.uk/docs/panel"
updated: "2026-10-10"
---

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 10 October 2026

**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

- [Authentication Create a key, limit what it can do, and keep it safe.](https://sillydev.co.uk/docs/panel/authentication)
- [Servers List your servers, start and stop them, send console commands, watch the console live, and change how they start.](https://sillydev.co.uk/docs/panel/servers)
- [Recipes Complete, copyable examples for the things people build most.](https://sillydev.co.uk/docs/panel/recipes)
