The O-Calc service parses .pplx files into the Universal Pole Model. Generation is handled by the sibling Format Bridge API, which is a catalog-free direct UPM → PPLX writer (every element carries its own dimensions, weights, and material constants inline — no in-process catalog needed) so it runs on any host without machine-specific paths.
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 /parse
Parse an O-Calc .pplx payload into the Universal Pole Model.
curl https://$VERTICAL_AI_BASE_URL/parse \
-H "Authorization: Bearer $VERTICAL_AI_KEY" \
-H "Content-Type: application/json" \
-d '{
"pplx": "<base64 .pplx body>"
}'
Returns one Universal Pole Model.
POST /generate
Generate an O-Calc-compatible .pplx payload from a Universal Pole Model. Routed through the format-bridge service (format-bridge-api) which round-trips 61/61 corpus files cleanly.
curl https://$VERTICAL_AI_BASE_URL/upm-to-ocalc \
-H "Authorization: Bearer $VERTICAL_AI_KEY" \
-H "Content-Type: application/json" \
-d '{ "pole_model": { ... } }'
Round-trip workflow
Same shape as the SPIDA and PLS flows:
POST /parseyour existing.pplx- Run analysis (clearance, sag, framing) against the resulting pole model
- Apply approved HITL fix proposals
POST /generateto get a new O-Calc payload with the corrected geometry
Coverage notes
- 61/61 corpus
.pplxfiles round-trip cleanly through the format-bridge writer - Geometry, framing levels, and conductor endpoints round-trip with full fidelity
- O-Calc-specific configuration (loading scenarios, plot setup) is preserved end-to-end
- The pure data → text transformation has no catalog at write time, so generation runs identically on any host
If you hit a gap that blocks your workflow, please email hello@epcstudio.io.
See also
- Universal Pole Model → — the shape
/parsereturns and/generateconsumes - SPIDA API → — the most mature parser today
- PLS API → — sister parser for PLS-POLE
.pol - Overhead gateway →