API reference
Outcome analytics
Read rights-gated authority analytics with verified coverage, complete outcome splits, sample sizes and field-quality measures.
/public/analytics-snapshotReturns the public release state and, only after an authority passes the backend gate, its aggregate analytics.
| Parameter | Type | Required | Description |
|---|---|---|---|
authority | string | No | Released authority ID or name. Defaults to the first released authority. |
period | enum | No | 1, 3, 5, 10 or all years. Defaults to 5. |
scale | string | No | Exact released application scale/category value. |
category | string | No | One or more comma-separated proposal subtype values. |
route | string | No | Exact released application route/type value. |
Awaiting-rights response
{
"schemaVersion": 2,
"releaseState": "awaiting_rights_clearance",
"authority": null,
"availableAuthorities": [],
"summary": {
"eligibleAuthorities": 0,
"eligibleApplications": 0,
"minimumDeterminedSample": 30
}
}Released authority shape
A released response includes verified continuous coverage, source-check and analytics-refresh timestamps, total and determined applications, the full outcome split, decision-time distributions, monthly and yearly trends, proposal groups and field-level quality rates. Every percentage carries its numerator and denominator.
{
"releaseState": "authority_available",
"authority": {
"coverage": {
"verifiedStart": "1990-01-01",
"verifiedEnd": null,
"earlierIsolatedRecords": 1
},
"outcomes": {
"approved": 0,
"refused": 0,
"withdrawn": 0,
"other": 0,
"undetermined": 0
},
"rates": {
"approval": { "numerator": 0, "denominator": 0, "percent": null }
},
"timing": {
"decidedOnTime": { "numerator": 0, "denominator": 0, "percent": null }
}
}
}/analytics/outcomesReturns historical outcome patterns and confidence-scored related-submission signals from API-cleared records.
| Parameter | Type | Required | Description |
|---|---|---|---|
council | string | No | Authority name, code or slug. |
postcode | string | No | A full UK postcode. |
postcode_sector | string | No | A postcode sector such as YO1 7. |
date_from | date | No | Application-date lower bound in YYYY-MM-DD format. |
date_to | date | No | Application-date upper bound in YYYY-MM-DD format. |
group_by | enum | No | proposal_subtype, application_type or category; defaults to proposal_subtype. |
min_sample | integer | No | Determined cases required before showing a rate; defaults to 30, minimum 3. |
limit | integer | No | Pattern groups returned; defaults to 20 and cannot exceed 100. |
Historical proposal patterns for one authority
GET /analytics/outcomes?council=city-of-york-council&group_by=proposal_subtype&date_from=2022-01-01&min_sample=30Illustrative pattern response shape
{
"data": [{
"key": "rear_extension",
"label": "Rear extension",
"sample": {
"total": 146,
"determined": 132,
"approved": 103,
"refused": 29,
"withdrawn": 6,
"invalid": 2,
"pending": 6,
"other": 0
},
"approvalRatePercent": 78,
"approvalRateConfidence95": {
"lowerPercent": 70.2,
"upperPercent": 84.2
},
"medianDecisionDays": 58,
"historicalPattern": "more_often_approved",
"evidenceStrength": "strong"
}],
"relatedSubmissionSignals": {
"likelyCount": 4,
"possibleCount": 2,
"matches": [],
"caveat": "These are related-submission signals, not confirmed legal resubmissions."
}
}How related submissions are detected
Records at the same normalised address are compared within a four-year window. Proposal subtype, application type and wording similarity contribute to a confidence score. HomeRadar reports likely or possible related submissions, never a confirmed resubmission unless a future source explicitly publishes that relationship.