Skip to main content
GET
Read the caller's org mu ledger entries

Authorizations

Authorization
string
header
required

Supabase JWT token in Authorization: Bearer header

Query Parameters

org_id
string

Target org id. Defaults to the caller's primary org. A caller who is not a member of this org is denied 403.

cursor
string

Opaque sequence cursor from a previous page's nextCursor.

from
string<date-time>

Inclusive lower bound on entry creation time (ISO-8601).

to
string<date-time>

Inclusive upper bound on entry creation time (ISO-8601).

limit
integer

Page size. Upstream clamps to 1..500 (default 100).

Required range: 1 <= x <= 500
product
enum<string>

Optional product scope (sub-projects, contract C5). Omitted → today's response, unchanged. research|design|develop|operate|canon|unattributed narrows the page's entries to that product and adds a product_scope summary; all returns { total, by_product: [{ product, entry_count, net_mmu, unparsed_mmu_count }], product_scope } computed in one pass. An entry belongs to a product only when its ref.product is exactly a known slug — every other entry (incl. all historical rows) is unattributed; attribution is never inferred. The rollup basis is the returned page (product_scope.basis = "page"); follow next_cursor to cover a range. Applied AFTER org/RBAC checks, so it can only narrow. Any other value → 400 invalid_product.

Available options:
research,
design,
develop,
operate,
canon,
unattributed,
all

Response

A page of ledger entries plus nextCursor (mnemom-mu response, passed through verbatim unless product is supplied).

The response is of type object.