Skip to content

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 42 and 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.

See also