Packs
A Pack is how a use case gets installed. It bundles everything specific to a job — the data model, analytics, alerts, and dashboards — into one manifest you install into your organization.
What a Pack installs
A pack manifest can seed all of these into your org at once:
- SensorProfiles and DeviceProfiles — the data model for the use case
- AnnotationClasses — the labels you'll capture
- JobDefinitions and ReferencePairs — the analytics that run on a schedule
- AlertRules — the conditions worth being told about
- MediaCaptureRules — when to record clips
- Dashboard templates — the views you start with
Installing is idempotent per organization, applied in dependency order, and reversible. This is what keeps the platform vertical-neutral: the use case lives in the pack, never in the platform code.
The bridge to use cases
Because a pack is just data, adding a new vertical means writing a new manifest — not changing the platform. The use cases section is one page per pack. Real examples ship in the repository, including a distillery angels'-share pilot and a conveyor-belt monitor.
In the API
POST /api/v1/packs/install— install a manifest (YAML or JSON)GET /api/v1/packs— list installed packs for your organizationGET /api/v1/packs/{id}— inspect oneDELETE /api/v1/packs/{id}— uninstall
Uninstalling removes the analytics, alerts, capture rules, and dashboards a pack installed, but deliberately leaves profiles and annotation classes in place — they may already be referenced by your data.