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:

  1. POST /parse your existing .pplx
  2. Run analysis (clearance, sag, framing) against the resulting pole model
  3. Apply approved HITL fix proposals
  4. POST /generate to get a new O-Calc payload with the corrected geometry

Coverage notes

  • 61/61 corpus .pplx files 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