Skip to content

Catalogue health rollup

GET
/v1/catalogue/health
curl --request GET \
--url https://api.aerandil.com/v1/catalogue/health \
--header 'Authorization: Bearer <token>'

Per-tenant read-side aggregations over signals other proposals already write (proposal 0028 §6): consent posture (count of objects with a consent_scope.revoked_at tombstone, grouped by type — 0026), duplicate pressure (open person_merge_candidate count — 0027), and projection staleness (per _computed_at projection: live-row count and oldest refresh timestamp). Not a quality-rules engine; a rollup view.

The per-tenant catalogue health rollup.

Media typeapplication/json
object
consent_posture
required
object
revoked_by_type
required
Array<object>
object
total_revoked
required
integer
duplicate_pressure
required
object
open_person_merge_candidates
required
integer
staleness
required
Array<object>
object
object_type
required
string
oldest_computed_at
string | null format: date-time
projection
required
string
rows
required
integer
Examplegenerated
{
"consent_posture": {
"revoked_by_type": [
{}
],
"total_revoked": 1
},
"duplicate_pressure": {
"open_person_merge_candidates": 1
},
"staleness": [
{
"object_type": "example",
"oldest_computed_at": "2026-04-15T12:00:00Z",
"projection": "example",
"rows": 1
}
]
}