api.auditflowtech.com
One call.
Full audit.
POST a JSON payload. Get back a scored audit, PDF report, and client portal link. System Health or Metered Flow. Built for AI agents and automation pipelines.
Get a key
Settings → API Keys → Generate
POST audit data
Property, zones, findings or GPM data
Get everything back
Score, PDF, portal link, webhooks
System Health Audit
One request creates the property, zones, findings, scores the audit, generates the PDF, and creates the portal link.
POST/api/agent/audit
curl -X POST https://api.auditflowtech.com/api/agent/audit \
-H "Authorization: Bearer af_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"auditType": "SYSTEM_HEALTH",
"property": {
"name": "Riverside Office Park",
"clientName": "Riverside Mgmt LLC",
"address": "1200 River Rd",
"city": "San Antonio",
"state": "TX",
"zip": "78215",
"propertyType": "COMMERCIAL"
},
"zones": [
{ "number": 1, "name": "Front Rotors",
"headCount": 12, "controllerLabel": "Main" },
{ "number": 2, "name": "Side Drip",
"headCount": 8, "controllerLabel": "Main" }
],
"findings": [
{ "category": "BROKEN_HEAD", "zoneNumber": 1,
"quantity": 3,
"description": "Rain Bird 5004 heads sheared at riser" },
{ "category": "LATERAL_BREAK", "zoneNumber": 2,
"quantity": 1,
"description": "Visible leak at lateral tee" }
],
"options": {
"generateReport": true,
"createPortal": true,
"complete": true
}
}'200 OK
{
"auditId": "cm3x7k2a00001",
"status": "COMPLETED",
"type": "SYSTEM_HEALTH",
"score": 70,
"findingCount": 2,
"findings": [
{ "category": "BROKEN_HEAD",
"severity": "MODERATE", "quantity": 3 },
{ "category": "LATERAL_BREAK",
"severity": "CRITICAL", "quantity": 1 }
],
"reportUrl": "/api/reports/.../pdf",
"portalUrl": "/portal/eyJhbGc...",
"links": {
"self": "/api/agent/status/cm3x7k2a00001",
"pdf": "/api/reports/.../pdf",
"property": "/api/properties/..."
}
}Metered Flow Audit
Send zone-level GPM data. Get back per-zone flow validation, ghost flow flags, three watering scenarios, and budget tracking.
POST/api/agent/audit
curl -X POST https://api.auditflowtech.com/api/agent/audit \
-H "Authorization: Bearer af_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"auditType": "METERED_FLOW",
"property": { ... },
"zones": [
{ "number": 1, "name": "Front Rotors",
"headCount": 12, "controllerLabel": "Main" },
{ "number": 2, "name": "Side Sprays",
"headCount": 8, "controllerLabel": "Main" },
{ "number": 3, "name": "Drip Beds",
"headCount": 20, "controllerLabel": "Main" }
],
"meteredFlow": {
"waterBudgetGal": 50000,
"utilityRate": 0.0085,
"rateUnit": "GALLON",
"zoneFlowData": [
{ "zoneNumber": 1, "measuredGpm": 22.5,
"expectedGpm": 20.0,
"scheduleDays": ["MON","THU"],
"morningRunMins": 15 },
{ "zoneNumber": 2, "measuredGpm": 8.2,
"expectedGpm": 8.0,
"scheduleDays": ["TUE","FRI"],
"morningRunMins": 10 },
{ "zoneNumber": 3, "measuredGpm": 1.8,
"expectedGpm": 1.5,
"scheduleDays": ["MON","WED","FRI"],
"morningRunMins": 30 }
]
},
"options": { "generateReport": true, "complete": true }
}'200 OK
{
"auditId": "cm4y8m3b10001",
"status": "COMPLETED",
"type": "METERED_FLOW",
"totals": {
"weeklyGal": 1269.0,
"monthlyGal": 5439.0,
"annualGal": 65988.0,
"annualCost": 561.40,
"budgetUsedPct": 131.98
},
"zones": [
{ "zoneNumber": 1, "measuredGpm": 22.5,
"flagged": true,
"flagReason": "Flow 12.5% above expected" },
{ "zoneNumber": 2, "measuredGpm": 8.2,
"flagged": false },
{ "zoneNumber": 3, "measuredGpm": 1.8,
"flagged": true,
"flagReason": "Flow 20% above expected" }
],
"scenarios": [
{ "name": "Full", "annualCost": 561.40 },
{ "name": "Water Saver", "annualCost": 392.98 },
{ "name": "Survivability", "annualCost": 224.56 }
]
}What you get
One-Call Audits
Property, zones, findings, score, PDF, portal — all from one POST. What takes 50 clicks takes one API call.
Two Audit Types
System Health: findings + 100-point score. Metered Flow: GPM validation + scenarios + cost. Same endpoint.
Batch Operations
Up to 50 operations per request. Create audits, generate reports, spin up portal links in bulk.
Built for Agents
Auto-severity inference, find-or-create properties, zone upserts. Your agent just sends data.
Webhooks
HMAC-SHA256 signed events. audit.completed, finding.created, report.generated, and more.
Hypermedia Links
Every response includes links to related resources. Self-describing API for easy navigation.
Endpoints
All endpoints require Authorization: Bearer af_live_...
| Method | Path | Description |
|---|---|---|
| POST | /api/agent/audit | Create a complete audit |
| POST | /api/agent/batch | Batch up to 50 operations |
| GET | /api/agent/status/:id | Full audit status & data |
| GET | /api/webhooks | List webhook subscriptions |
| POST | /api/webhooks | Create webhook |
| POST | /api/webhooks/:id/test | Test webhook delivery |
POST
/api/agent/auditCreate a complete audit
POST
/api/agent/batchBatch up to 50 operations
GET
/api/agent/status/:idFull audit status & data
GET
/api/webhooksList webhook subscriptions
POST
/api/webhooksCreate webhook
POST
/api/webhooks/:id/testTest webhook delivery
Webhooks
HMAC-SHA256 signed. Verify the signature to confirm it came from AuditFlow.
Webhook delivery example
POST https://your-app.com/webhooks/auditflow
Headers:
X-AuditFlow-Event: audit.completed
X-AuditFlow-Signature: sha256=a1b2c3...
Body:
{
"event": "audit.completed",
"timestamp": "2026-03-25T14:30:00Z",
"data": {
"auditId": "cm3x7k2a00001",
"score": 70,
"findingCount": 2
}
}Events
audit.completedfinding.createdreport.generatedportal.createdproposal.respondedAPI pricing
Included in Team and Enterprise plans. No separate API billing.
Team
$99/mo
500 API calls/month
API access · Webhooks · All audit types · Up to 5 users
Start free trialEnterprise
Custom
Unlimited API calls
Everything in Team · Priority support · Custom integrations · SLA
Contact us