Skip to main content
GET
Get attribution data-health findings
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

Get attribution data-health findings Stage 2 of the unallocated-revenue spec. Validation findings from the tenant’s latest COMMITTED attribution run (same-lane overlap conflicts, coverage gaps, ambiguous foreign keys, …) — the same warnings the engine used to only log() — so admins can see WHY revenue is sitting unallocated. error-severity findings sort first. Two synthetic warnings (RUN_DEGRADED, RUN_STALE, ids prefixed synthetic: so they can never collide with a real AttributionWarningLog id) are prepended when the run itself is degraded or stale — a client that only renders the warnings list still surfaces them; one that reads the degraded/stale flags can render a dedicated banner instead. Returns the raw result as the response body — no { status, data } envelope, unlike every other /accounting/* endpoint. A tenant with no committed attribution run gets an empty result (runId: null, warnings: []) rather than an error — the engine is per-tenant opt-in. Authorization:
  • Required role: admin or higher

Code Examples

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Response

Data-health findings fetched (or empty, when no committed run exists).

runId
string<uuid> | null
runAt
string<date-time> | null
warnings
object[]
degraded
boolean
degradedReason
string | null
stale
boolean
staleReason
string | null