API reference / Admin

get/v1/rules/freshness

Which eligibility answers are past their re-verification cadence

Operation
getRuleFreshness
Authentication
API key

Every rule carries a citation and the date we read the source. This reports which of those readings have expired.

**It changes no answer.** A stale rule is not wrong — it is *unverified*, which for an eligibility engine is materially different and is the version that gets someone turned away at a desk.

Cadence is per tier: `secondary` 30 days (an aggregation drifts without anyone announcing it), `official` 90 (portals change quietly), `statutory` 180 (amendments are dated, but only findable by looking). Kenya’s own schedule was amended within the last year, so the statutory window is not generous.

Requires `projects:write`. Not partner-facing.

Request

Parameters

as_ofquerystring

Responses

200Summary, and the overdue rules as a work queue.
summaryFreshnessSummaryrequired
dueRuleFreshness[]required

Only the overdue rules. The full set is in `/v1/rules/export`.

400The request body or query failed validation.
errorobjectrequired
401No key, an unknown key, a revoked key, or a key whose tenant is not active. All four return an identical body on purpose: distinguishing them would let a caller discover which partners we have.
errorobjectrequired
403`projects:write` is required. No partner key is ever issued this scope.
errorobjectrequired
404Not found, or not yours. A resource belonging to another tenant answers 404 rather than 403, because 403 would confirm the record exists.
errorobjectrequired

Example

curl
curl -X GET https://api.haavisa.com/v1/rules/freshness \
  -H "Authorization: Bearer $HAAVISA_API_KEY"

More in Admin

Something unclear? The eligibility guide explains the model behind the answers; the errors guide covers the envelope.