The joint-use service handles the workflows that sit between pole owners, attachers, and the FCC pole-attachment process: form generation, OTMR (One-Touch Make-Ready) timelines, attachment rates, and make-ready scopes of work.

It reads attachments from a Universal Pole Model and produces documents, schedules, and rate breakdowns suitable for filing or for downstream BEAD-program workflows.

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.

Form generation

POST /forms/jp-form-2

Render the NCJPA JP Form 2 (Pole Attachment Application) as a PDF. Supports single-pole and replacement-pair (existing + proposed) layouts.

curl https://$VERTICAL_AI_BASE_URL/forms/jp-form-2 \
  -H "Authorization: Bearer $VERTICAL_AI_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "pole_model": { ... }, "variant": "single | replacement-pair" }'

Returns { "pdf_base64": "...", "filename": "..." }.

FCC §1.1411 — OTMR timeline

POST /timeline/otmr

Compute the day-by-day FCC §1.1411 One-Touch Make-Ready timeline from an application date through completion, including the day-count caps for complex vs simple make-ready, the 15-day survey window, and the response windows for the pole owner.

The response is a list of milestones with absolute dates, the cap each milestone is subject to, and the worst-case slack to the next deadline.

FCC §224 — attachment rates

POST /rates/cable

POST /rates/telecom

Compute the FCC §224 Cable and Telecom pole-attachment formulas from a list of attachers, pole owner data, and the standard FCC inputs (carrying charges, useable space, occupied space). Returns the rate, the inputs in the order the formula uses them, and the cost-causation split per attacher.

Make-ready scope

POST /scope/make-ready

Generate a scope-of-work bundle for the make-ready work required on a pole. Reads the clearance and classification findings already on the UPM document, groups them into discrete work items (raise attachment, swap insulator, add guy, replace pole), and returns a structured document suitable for export to a work order system or attachment to a permit package.

Optionally produces a per-payer cost split (pole owner vs new attacher) per the cost-causation rules.

Portfolio summary

POST /portfolio/summary

Roll a collection of joint-use poles up to a portfolio-level view: total attachments, attachers, replacement count, cost split, and projected timeline. Used by the BEAD product to summarize an applicant’s full make-ready footprint in one document.

See also