DNSP APIs
AIO Compliance
Section titled “AIO Compliance”GET /api/dnsp/aio/status
Section titled “GET /api/dnsp/aio/status”AIO filing status for a DNSP and year.
GET /api/dnsp/aio/status?dnsp=ausgrid&year=2025
# Response{ "dnsp": "ausgrid", "year": 2025, "total_obligations": 42, "complete": 35, "in_progress": 5, "not_started": 2, "overdue": 0, "obligations": [ { "id": "AIO-2025-REL-001", "name": "SAIDI/SAIFI Annual Report", "due_date": "2025-10-31", "status": "complete", "section": "reliability_performance" } ]}POST /api/dnsp/aio/generate-draft
Section titled “POST /api/dnsp/aio/generate-draft”Generate a Claude AI draft for an AIO section.
POST /api/dnsp/aio/generate-draftContent-Type: application/json
{ "dnsp": "ausgrid", "section": "reliability_performance", "year": 2025, "data": { "saidi_actual": 112.4, "saidi_target": 120.0, "saifi_actual": 1.142, "saifi_target": 1.250, "worst_feeder": "CAMPBELLTOWN_11KV_F07" }}
# Response (streaming or complete){ "draft_text": "Ausgrid achieved a SAIDI of 112.4 minutes per customer...", "word_count": 487, "generation_time_ms": 8420, "model": "databricks-claude-sonnet-4-5"}Asset Intelligence
Section titled “Asset Intelligence”GET /api/dnsp/assets/summary
Section titled “GET /api/dnsp/assets/summary”Asset health summary by DNSP.
GET /api/dnsp/assets/summary?dnsp=ausgrid
# Response{ "dnsp": "ausgrid", "total_assets": 48234, "by_risk_class": { "Critical": 124, "Very High": 892, "High": 3241, "Medium": 12840, "Low": 31137 }, "average_health_index": 68.4, "assets_due_for_inspection": 2341}GET /api/dnsp/assets/high-risk
Section titled “GET /api/dnsp/assets/high-risk”Assets above a failure probability threshold.
GET /api/dnsp/assets/high-risk?dnsp=ergon&threshold=0.3&horizon_months=12
# Returns array of assets with failure_probability > 0.3GET /api/dnsp/assets/{asset_id}
Section titled “GET /api/dnsp/assets/{asset_id}”Individual asset details with health score and failure prediction.
GET /api/dnsp/assets/TXF-NW-0847
# Response includes:# - asset attributes (age, type, substation)# - health_index, risk_class# - failure_probability_12m# - top_risk_factors (SHAP-derived)# - maintenance history# - feeder connectivityVegetation Risk
Section titled “Vegetation Risk”GET /api/dnsp/vegetation/high-risk
Section titled “GET /api/dnsp/vegetation/high-risk”High-risk network spans.
GET /api/dnsp/vegetation/high-risk?dnsp=ausgrid&min_score=0.7
# Returns array of spans with risk_score > 0.7GET /api/dnsp/vegetation/new-alerts
Section titled “GET /api/dnsp/vegetation/new-alerts”Spans newly flagged as high-risk since last model run.
GET /api/dnsp/vegetation/new-alerts?dnsp=sa_power_networks
# Response{ "model_run_date": "2025-03-17", "newly_flagged": [ { "span_id": "SA-NW-00847-A", "suburb": "Gawler East", "previous_risk_class": "Medium", "current_risk_class": "High", "risk_score": 0.74, "primary_driver": "inspection_age_days", "bmo_zone": true } ]}Workforce Analytics
Section titled “Workforce Analytics”GET /api/dnsp/workforce/forecast
Section titled “GET /api/dnsp/workforce/forecast”18-month workforce demand forecast.
GET /api/dnsp/workforce/forecast?dnsp=ausgrid&horizon=18m&include_intervals=true
# Response includes monthly forecast by skill category# with P10/P50/P90 prediction intervalsGET /api/dnsp/workforce/skills-gap
Section titled “GET /api/dnsp/workforce/skills-gap”Skills gap analysis comparing forecast demand vs current capacity.
GET /api/dnsp/workforce/skills-gap?dnsp=ergon&horizon=12m
# Response{ "skill_gaps": [ { "skill": "hv_linesperson", "current_headcount": 85, "forecast_peak_demand_fte": 92, "gap": -7, "gap_type": "shortage", "peak_month": "2025-12" } ]}RAB Modelling
Section titled “RAB Modelling”GET /api/dnsp/rab/projection
Section titled “GET /api/dnsp/rab/projection”5-year RAB roll-forward projection.
GET /api/dnsp/rab/projection?dnsp=ausgrid&years=5&scenario=base
# Response{ "opening_rab_aud": 8420000000, "projection": [ { "year": 2025, "cpi_uplift": 0.034, "capex_additions_aud": 620000000, "depreciation_aud": -380000000, "disposals_aud": -15000000, "closing_rab_aud": 8860000000 } ]}GET /api/dnsp/rab/wacc-sensitivity
Section titled “GET /api/dnsp/rab/wacc-sensitivity”WACC sensitivity analysis for RAB return.
GET /api/dnsp/rab/wacc-sensitivity?dnsp=sa_power_networks&wacc_range=0.05,0.09
# Returns revenue impact at each WACC point (1bps increments)Benchmarking
Section titled “Benchmarking”GET /api/dnsp/benchmarking/peer-comparison
Section titled “GET /api/dnsp/benchmarking/peer-comparison”Full peer group comparison.
GET /api/dnsp/benchmarking/peer-comparison?year=2024
# Returns opex/capex metrics for all 6 DNSPs with rankingsHosting Capacity
Section titled “Hosting Capacity”GET /api/dnsp/hosting/capacity
Section titled “GET /api/dnsp/hosting/capacity”Hosting capacity by zone.
GET /api/dnsp/hosting/capacity?dnsp=ausgrid&voltage=LV
# Returns zones with available_mw and utilisation_pctDAPR Assembly
Section titled “DAPR Assembly”GET /api/dnsp/dapr/status
Section titled “GET /api/dnsp/dapr/status”DAPR completion status.
GET /api/dnsp/dapr/status?dnsp=ausgrid&year=2025
# Returns section-level completion status and compliance checklistPOST /api/dnsp/dapr/export
Section titled “POST /api/dnsp/dapr/export”Export compiled DAPR document.
POST /api/dnsp/dapr/export{ "dnsp": "ausgrid", "year": 2025, "format": "docx"}
# Returns download URL for compiled document