Projects¶
A project is the unit of isolation. Everything you create in SimpleOTA (devices, firmware artifacts, deployments, build numbers, groups, channels, project tokens) lives inside exactly one project.
Why isolate?¶
- Build number sequences are per-project. Two projects can both have
build
42and there's no collision. - Tokens are scoped. A leaked project token only exposes that project.
- Plan limits are aggregated across projects under one billing account, so you can split unrelated firmware lines without buying separate subscriptions.
Fields¶
| Field | Notes |
|---|---|
id |
UUID. The identifier: every API path is /api/v1/projects/{id}/.... |
slug |
Short URL-safe label, unique across SimpleOTA. Not used in API paths. |
name |
Human-readable. |
description |
Free text. Optional. |
default_framework |
Framework assumed for auto-registered devices (arduino or esp_idf). |
owner |
The user who pays for it. |
build_counter |
Internal monotonic counter. Don't touch. |
created_at |
When the project was created. |
name and slug are both fixed once the project is created: there is no
rename in the dashboard or the API. See Projects
view for what that means in practice.