The replacement-planning service operates at the portfolio level — it consumes the costed proposals from many poles at once and produces a phased plan that groups adjacent work, respects budget envelopes, and surfaces the highest-priority fixes first.

Direct REST access requires Tier B onboarding. URLs and bearer-token credentials are issued during embedder onboarding — until then, route equivalent calls through the Overhead gateway →. Email hello@epcstudio.io to start.

Endpoints

POST /plan

Generate a phased replacement plan from a collection of analyzed poles.

curl https://$VERTICAL_AI_BASE_URL/plan \
  -H "Authorization: Bearer $VERTICAL_AI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "poles": [ ... UPM documents ... ],
    "constraints": {
      "annual_budget_usd": 2500000,
      "phase_count": 3,
      "group_radius_ft": 1500
    },
    "priorities": ["code_violation", "near_term_failure", "joint_use_request"]
  }'

Returns a plan with:

  • Projects — adjacent poles grouped by group_radius_ft so a crew can hit them in one mobilization.
  • Phases — projects bucketed by priority and budget so the customer can fit the plan into an annual capital plan.
  • Sequence rationale — why each project sits where it sits (which finding drove it, which constraint pulled it forward or pushed it back).

POST /enrich

Enrich a UPM with the planning-relevant fields the service derives: replacement-priority score, projected replacement year, dependency on neighbor poles (e.g., a span guy that requires the upstream pole to be fixed first).

Inputs that matter

Planning quality scales with input completeness:

  • Findings on every pole. Run clearance, loading, and classification first so the planner has something to prioritize.
  • Cost estimates. If you’ve already run replacement-cost, the planner uses those numbers; otherwise it falls back to per-action defaults.
  • Asset age and condition. If your capture pipeline tagged install year or inspection condition into the UPM metadata bucket, the planner reads it. Otherwise it relies on findings alone.

See also