The standards service turns a utility’s construction-standards corpus into a queryable rules library. Upload the PDFs once; query, validate, and route to it from analysis tools forever after.

It powers two things on the platform:

  • Per-utility rule overlays that ride on top of NESC / GO-95 (e.g., “this utility requires 10 ft of separation between primary and comm where the code allows 6 ft”).
  • Citation-backed answers in the conversational agent (“what does PG&E require for guying at angles greater than 30°?”) with page-level references back to the source PDF.

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 /corpus/ingest

Ingest a directory or list of PDFs into a named corpus.

curl https://$VERTICAL_AI_BASE_URL/corpus/ingest \
  -H "Authorization: Bearer $VERTICAL_AI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "corpus_name": "acme-electric-2025",
    "files": [
      { "filename": "ACME-OH-Standards-2025.pdf", "gcs_uri": "gs://..." },
      ...
    ]
  }'

Returns a job ID. Ingestion runs asynchronously — poll /corpus/{name}/status for progress.

GET /corpus/{corpus_name}/status

Job status, page count processed, rule count extracted, cost-to-date.

POST /query

Natural-language query against a corpus. Returns answer text plus citations.

{
  "answer": "ACME requires 10 ft of vertical separation between primary supply and communication conductors at the pole.",
  "citations": [
    { "filename": "ACME-OH-Standards-2025.pdf", "page": 47, "snippet": "..." }
  ]
}

POST /validate

Validate a Universal Pole Model against the rules extracted from a corpus. Returns findings in the same envelope as the clearance API, tagged with the utility-specific citation that triggered each finding.

This is how per-utility overlays show up downstream: clearance returns a NESC pass plus a utility-rule fail, both as findings on the same pole.

POST /capability-discovery

Run the corpus against the platform’s capability surface and return a list of “things this corpus mentions that we don’t yet check.” Used during onboarding to flag gaps the customer should know about before they go to production.

What we extract

Standards PDFs vary wildly in structure, so the service is conservative about what it commits to a rule. Extracted rules carry:

  • A natural-language statement
  • A structured form (where derivable) — affected attachment types, voltages, distances, conditions
  • A page-level citation
  • A confidence band

Low-confidence extractions are surfaced for human approval rather than auto-loaded.

Pricing

Standards ingestion is billed per ingested page, not per query. A 450-page utility standards PDF runs in the low single-digit dollars; a full multi-utility corpus is typically $30–$40 of one-time ingest cost. Email hello@epcstudio.io for a corpus-specific quote.

See also