Skip to Content
Projects

Projects

Every account has two projects to start with, and you can create more.

ProjectWhat it is for
ProductionYour real servers.
DevelopmentA safe place to experiment.

Everything belongs to a project: servers, SSH keys, and API keys. An API key can act on exactly one project, which is what keeps a key you paste into a script from reaching anything you did not intend.

Development projects are simulated

A development project’s servers never reach real hardware. You cannot SSH into a development server — it does not actually exist. Reboot and re-image report success after a short delay without opening a connection to a BMC.

That is a property of the project, not of where the code is running. It is also the project whose key the documentation fills its examples with, so an example you copy from these pages and run as it is cannot power-cycle anything real.

Actions taken in a development project are recorded with simulated: true, so a simulated success can never be mistaken for a real one.

Creating a project

In the dashboard, use New project under the project selector in the sidebar. Choosing a kind is the meaningful part — a development project can never touch hardware, a production one can.

Through the API:

curl -X POST https://braesystems.com/api/v1/projects \ -H "Authorization: Bearer bs_live_..." \ -H "Content-Type: application/json" \ -d '{"name":"Staging EU"}'
{ "data": { "id": "9f1c7d2e-4a3b-4c5d-8e6f-0a1b2c3d4e5f", "name": "Staging EU", "slug": "staging-eu", "kind": "production", "created_at": "2026-07-30T14:03:11.000Z" } }

kind defaults to production; send "kind": "development" for a project that can never reach hardware.

A new project gets its own API key, and a development one is seeded with a server and an SSH key so its endpoints return something useful straight away.

Names are unique within an account, by their slug — Staging EU and staging eu are the same project name, and the second request returns 409 Duplicate project.

Listing projects

curl https://braesystems.com/api/v1/projects \ -H "Authorization: Bearer bs_live_..."

Projects themselves are the one collection that is not scoped to a specific key’s project — any key lists all projects. Every other endpoint returns only what belongs to the key’s own project.

Last updated on