AugustaUtilities
API Catalog
API Catalog & Developer Docs
The demonstrable integration surface: read-only REST endpoints with API-key authentication, an import/export inventory, and honest capability statements for MultiSpeak and vendor adapters.
Authentication
All endpoints require an API key — the key is managed server-side and never exposed to browser code
Header: x-api-key: <project DEMO_API_KEY secret>
Keys are issued from Project Settings → Secrets and verified server-side with a constant-time comparison. The in-app “Try it” buttons below call through a server function so no key ever reaches the browser. Missing or invalid keys return 401.
curl -H "x-api-key: $DEMO_API_KEY" \ "https://<host>/api/public/v1/accounts?limit=25&accountNumber=5000"
REST endpoints (read-only, demonstrable today)
Synthetic dataset only — every response carries a disclosure field
/api/public/v1/accountsList synthetic accounts with customer and service-address context.
Params: limit (≤100), offset, accountNumber
Response schema: { data: [{ id, accountNumber, accountClass, status, currentBalance, autopay, ebill, openedAt, customerName, serviceAddress }], count, limit, offset, disclosure }
/api/public/v1/accounts/{id}Single account detail including services and parcel ID.
Params: path: account UUID
Response schema: { data: { id, accountNumber, accountClass, status, currentBalance, openedAt, customerName, serviceAddress, parcelId, services[] }, disclosure }
/api/public/v1/billsBills with period, status, and balance, filterable by account, status, and issue-date range.
Params: limit (≤100), accountNumber, status, from, to (YYYY-MM-DD)
Response schema: { data: [{ id, billNumber, accountNumber, periodStart, periodEnd, issueDate, dueDate, status, subtotal, lateFee, total, balanceDue }], count, disclosure }
/api/public/v1/paymentsPosted payments, filterable by posted-date range, amount range, and method.
Params: limit (≤100), from, to, min, max, method
Response schema: { data: [{ id, paymentNumber, accountNumber, paidAt, amount, method, channel, status }], count, disclosure }
/api/public/v1/stormwaterParcel-level stormwater attributes: impervious area, ERU, credit, and source status.
Params: limit (≤200), parcelId
Response schema: { data: [{ premiseId, premiseNumber, parcelId, serviceAddress, imperviousSqft, eruValue, creditPct, sourceSystem, sourceStatus }], count, disclosure }
Export catalog
Downloadable artifacts available in the app today
- Executive dashboard briefing (PDF)/ → Export dashboard PDF
- Meter reading route file (PDF route sheet or CSV)/metering → Build route file
- Account list (CSV)/accounts → Export CSV
- GL / revenue distribution (CSV)/payments → Search & ERP → GL export
Import catalog
Safe preview-first import workflows
- IAS-style impervious surface CSV (preview + audited apply)/stormwater → IAS import adapter
- Meter read CSV (route-file counterpart)Planned — route file export exists today at /metering
MultiSpeak capability statement
Compatibility adapter position — not a live protocol certification
Status: adapter design only. MultiSpeak is a SOAP/XML message standard. Connecting it requires the utility's (or vendor's) MultiSpeak endpoint URL, specification version (e.g. 3.0 / 4.1), service credentials, and a message-by-message field mapping workshop.
The platform's contribution would be a translation adapter between MultiSpeak SOAP messages and the JSON REST surface documented above. No MultiSpeak endpoint is connected in this prototype, and no certification is claimed.
Required to proceed
- Utility/vendor MultiSpeak endpoint + version
- Service account credentials
- Agreed message set (usage reads, account sync, service orders)
Illustrative payload shape (compatibility adapter demo)
<MultiSpeakMessage xmlns="http://www.multispeak.org/Version_4.1_Release">
<Body>
<GetUsageReadsRequest>
<accountNumber>50000001</accountNumber>
<serviceType>Water</serviceType>
</GetUsageReadsRequest>
</Body>
</MultiSpeakMessage>No external system is connected in this prototype. All third-party activity shown is simulated.
How integrations occur
RFP Q1/Q22 — the honest summary
Built today: read-only REST APIs (this page), CSV import adapters with safe preview, and PDF/CSV exports. Configuration needed: Cityworks, Esri, Tyler MUNIS, IAS World, Itron Temetra, and Microsoft Entra SSO each require vendor endpoints, credentials, and a mapping/validation engagement — see Integrations and Compatibility & Compliance.