Read Stock level as of a watermark
const url = 'https://api.aerandil.com/v1/object-types/hospitality.stock_level/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/as-of?at=example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.aerandil.com/v1/object-types/hospitality.stock_level/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/as-of?at=example' \ --header 'Authorization: Bearer <token>'Time-travel read: the instance as it stood at the at watermark, reconstructed by folding its structural events. Property values that were marking-redacted or truncated in the event log surface as sentinel objects, not values.
How much of one material one store holds — one row per material × store, linked stock_level_for_material and stock_level_in_store (the ids ride on the row too, so a store’s board filters without a walk). on_hand is a cache with one writer: every movement verb records its stock_movement and moves this figure in the same transaction, under the level’s lock; the movements are the truth and recount_stock_level folds them to check it. Never below zero unless the store allows it. Carries the reorder_point (OPERA’s par) and when it was last counted. Minted by the first movement (or reorder point) for the pair.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Object id (UUID v7, server-generated at create time).
Query Parameters
Section titled “Query Parameters”The watermark: an event seq (integer, canonical — the /v1/events cursor namespace) or an RFC3339 timestamp (resolved to the latest seq at or before it in the tenant’s stream).
Responses
Section titled “Responses”The reconstructed as-of state.
object
Log-shaped folded bag: each entry is a typed {kind, value} object, a {redacted: [markings]} sentinel, or a {truncated_bytes: n} sentinel.
object
Example
{ "object_type": "hospitality.stock_level"}Object did not exist at the watermark (not yet created, or already deleted).
Malformed at, or the object’s history predates structural event images and cannot back a faithful reconstruction.