Organizations and Blobs
A Blob is the central primitive in BlobHub. It represents a typed, versioned unit of data that users store, evolve, and interact with. Blobs are grouped into Organizations. An Organization is both a container and an access boundary — it owns a collection of Blobs and defines who can see or modify them. Every Blob has a stable identifier, an owning Organization, a Blob Type, and a sequence of Revisions that record how the Blob has evolved over time.Blob Types
The Blob Type chosen at creation time determines a Blob’s internal data structure, its storage semantics, and the set of operations available on it. BlobHub currently offers three primary Blob Types:- Workflow Blobs describe and execute component-based backend workflows, with sessions, executions, and real-time execution events.
- Scheduler Blobs hold collections of time-based schedules that trigger workflow executions — either once or on a recurring cron cadence.
- ONNX Blobs host Open Neural Network Exchange machine learning models, with secure multipart upload and presigned downloads.
Revisions and the Revision Lifecycle
A Revision is a point-in-time checkpoint of a Blob. A Blob has exactly one default Revision at any time — the worddefault names it wherever a Blob is named — and at most one draft, which is always the
default. A draft is the only Revision that runs; a committed Revision is frozen, both its content and its
runtime.
Every Revision carries two independent axes: phase, where it sits in its life, and status, whether it
is healthy right now. Operations move them separately.
draft— open for edits, and the only phase that runs. Most write operations target the draft.commit— sealed: content and runtime alike are frozen.Reopenmoves a blob’s own default commit back to draft; nothing else does.managed— a Scheduler Blob’s single Revision, created once and never moved throughcommitordraftat all.
draft / ready and committed again — there is no direct retry for a failed commit; a failed delete or
discard can be reset and re-issued. Nothing about this locks the Blob itself: the lock is the Revision’s own
status, so one Revision’s failure never strands the others.
Choosing a Revision other than the default is a client-side preference, not a permanent move — see
Delete Revision and
Create Revision for exactly what New, Commit, Reopen, Discard, Delete and
Reset each require and change.
Metadata
Both Blobs and Revisions can carry Metadata — arbitrary key/value records attached to the object. Metadata is a first-class concept with its own operations (create, resolve, get, update, delete) and is useful for tagging, categorization, and storing integration-specific state alongside a Blob or Revision.Access Control
BlobHub offers flexible privacy controls layered on top of Organizations and Blobs.- Private Blobs are visible only to designated members and API key holders.
- Public Blobs are visible to all BlobHub users.
- Members grant individual users access to an Organization or a specific Blob.
- API Keys grant programmatic read/write access — scoped to an Organization, an individual Blob, or a User.
- Service Accounts are users with no human behind them, so a key scoped to one authenticates as a first-class identity instead of borrowing a person’s. See Service Accounts.
- Credentials are stored secrets that Blobs (for example, Workflow components) can reference when calling external systems.
Workflow Primitives
Workflow Blobs introduce a small set of additional primitives that describe how workflows are defined and executed.- Definition — the JSON blueprint describing the components of a workflow and the connections between them. Stored as the content of a Workflow Blob’s Revision.
- Session — a stateful context in which a Definition runs. Sessions hold shared state, uploaded objects, and a history of executions.
- Execution — a single invocation of a Definition inside a Session.
- Execution Events — the real-time stream of events emitted while an Execution runs. Events can also be observed at the Session level via Session Events.
Scheduler Primitives
Scheduler Blobs hold collections of Schedules that trigger workflow Executions on a time-based cadence.- Schedules are either one-time (fire once at a specific instant) or recurring cron (fire repeatedly based on a cron expression).
- Every Schedule carries an IANA timezone and optional start/end date windows.
- Each Schedule retains a history of past firings and their outcomes.

