Data & Holons API
Store, load, and search arbitrary structured data as Holons — the fundamental data unit of OASIS. Holons are provider-agnostic: the same API writes to Holochain, MongoDB, IPFS, or any other registered provider.
A Holon is a self-contained data object with an ID, type, metadata, and an arbitrary key-value property bag. See Holons & Data Model for the full conceptual overview.
Save Holon
Persists a holon. Creates a new record if no id is provided; updates the existing record if id is present.
Request body
| Field | Type | Description |
|---|---|---|
holonrequired | object | The Holon object to persist (see schema below) |
providerType | string | Override the default provider for this write |
setGlobally | boolean | If true, also sets as the global default provider |
Holon schema
{
"id": "3fa85f64-…", // omit to auto-generate
"name": "My Holon",
"description": "…",
"holonType": "Custom",
"metaData": { "key": "value" },
"createdByAvatarId": "…",
"parentHolonId": "…" // optional — nests inside a parent holon
}
Load Holon
Loads a single holon by its GUID. Optionally pass ?providerType=HoloOASIS to target a specific provider.
Load All Holons
Returns all holons across the default provider. For large datasets, use Search with filters instead.
Load Holons for Parent
Returns all child holons nested under the given parent holon ID.
Delete Holon
Soft-deletes the holon. Pass ?hardDelete=true to permanently remove (Admin only).
Save Multiple Holons
Batch-saves an array of holons in a single request. Body: { "holons": […], "providerType": "…" }. Returns an array of saved holons with their assigned IDs.
Store each OApp's game objects, levels, and player state as holons with a shared parentHolonId representing the OApp itself. This makes it trivial to load all data for a given OApp and to migrate it between providers via HyperDrive.