Skip to content

Lists the stored observation receipts that name one catalog entity, one item per distinct receipt in ascending receipt order, in pages of at most 25 (?limit 1..25, ?cursor from the previous page): each item carries the receipt id, the event type, the registration snapshot recorded at reception (historical, not the source's current registration or health), the source-declared occurrence instant when declared, first and last reception of the same retained facts, the equal-facts delivery count and whether a conflicting redelivery is retained; names, references, labels, raw facts, hashes and event ids are withheld, a missing catalog entry is 404, and an empty page does not prove no observation.

GET
/v1/m/inventory/entities/{kind}/{id}/observations
curl --request GET \
--url 'https://example.com/v1/m/inventory/entities/example/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/observations?limit=25' \
--header 'Authorization: Bearer <token>'

Lists the stored observation receipts that name one catalog entity, one item per distinct receipt in ascending receipt order, in pages of at most 25 (?limit 1..25, ?cursor from the previous page): each item carries the receipt id, the event type, the registration snapshot recorded at reception (historical, not the source’s current registration or health), the source-declared occurrence instant when declared, first and last reception of the same retained facts, the equal-facts delivery count and whether a conflicting redelivery is retained; names, references, labels, raw facts, hashes and event ids are withheld, a missing catalog entry is 404, and an empty page does not prove no observation.

kind
required
string

Path parameter kind.

id
required

Canonical lowercase nonzero UUID.

string format: uuid
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/

The catalog entity’s core id as a canonical lowercase nonzero UUID; any other spelling is 400 before a row is read. The exact (kind, id) pair must exist in the tenant’s catalog, or the answer is 404.

X-Olivares-Tenant
string format: uuid

Target tenant id; required when the principal can act in more than one tenant.

limit
integer
default: 25 >= 1 <= 25

Page size in distinct receipts, 1 through 25; 25 when absent. Canonical decimal only and at most once: a repeated, empty, non-decimal or out-of-range value is 400.

cursor

Canonical lowercase nonzero receipt id.

string format: uuid
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/

Exclusive keyset anchor, at most once: the cursor returned with the previous page, which is the receipt id of its last item; the page starts strictly after it in ascending receipt-id order. A canonical lowercase nonzero UUID; any other form, an empty value or a repeated cursor is 400.

One page of the entity’s observation history. Every receipt on the page was validated against the writer’s own encoding before any item was published: the page is whole, or it is refused with 500.

Media type application/json
object
cursor

The receipt id of the last item, present only when has_more is true; pass it as ?cursor to continue strictly after it.

string format: uuid
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
has_more
required

True when at least one more distinct matching receipt id exists past this page. It certifies nothing about that receipt’s integrity: the page that composes it decides, and a lookahead is not a certificate.

boolean
items
required

One item per distinct receipt that names the entity, ascending by receipt id. Empty when the tenant stores no receipt for the entity, which does not prove it was never observed.

Array<object>
<= 25 items
object
conflicting_redelivery
required

Whether at least one redelivery of this receipt carried DIFFERENT facts and was retained separately. A boolean by design: the conflicting facts, their count and their times are not published.

boolean
deliveries
required

Deliveries of the receipt with equal facts: the original plus exact replays. Not distinct activity, and conflicting variants are excluded.

integer format: int64
>= 1
event_type
required

The first-party observation type the receipt recorded.

string
Allowed values: edge.observed cost.sampled
first_received_at
required

This platform’s reception clock for the original delivery of the retained facts.

string format: date-time
last_received_at
required

This platform’s reception clock for the last delivery that carried facts equal to the retained ones. A conflicting redelivery has its own counters and is not folded in.

string format: date-time
receipt_id
required

The platform receipt id. One item per receipt: a receipt whose members name this entity twice is still one item.

string format: uuid
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
registration
required
One of:
object
environment_ref
required

The persistent local execution environment the snapshot recorded; not a host and not a workspace.

string
>= 1 characters
registration_state
required

The receipt recorded a complete registration snapshot when it was received.

string
Allowed value: registered_snapshot
source_id
required

Persistent id of the roster row the snapshot named. A historical identifier, not a grant to read that row.

string
>= 1 characters
source_revision
required

The roster revision the snapshot says was applied when the observation was produced; not the roster’s current revision.

integer format: int64
>= 1
source_occurred_at

The instant the SOURCE declared for the fact, taken from the validated member that names this entity; the same claim that feeds the catalog entry’s occurred_at. Omitted when the source declared none.

string format: date-time
Example
{
"items": [
{
"event_type": "edge.observed",
"registration": {
"registration_state": "registered_snapshot"
}
}
]
}

Bad request

Media type application/json
object
Example generated
{}

Unauthenticated

Media type application/json
object
Example generated
{}

Forbidden

Media type application/json
object
Example generated
{}

Not found

Media type application/json
object
Example generated
{}

Conflict / setup required

Media type application/json
object
Example generated
{}

Rate limited

Media type application/json
object
Example generated
{}

Stored observation evidence failed an integrity invariant, or the member repository cannot project distinct receipts; the body is the generic error and the reason goes to the operator log, never to the client

Media type application/json
object
Example generated
{}