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.

1
Get a key
Settings → API Keys → Generate
2
POST audit data
Property, zones, findings or GPM data
3
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_...

MethodPathDescription
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
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

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.responded

API 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 trial
Enterprise
Custom
Unlimited API calls
Everything in Team · Priority support · Custom integrations · SLA
Contact us

Ready to build?

Get your API key and start sending audits in minutes.

Create your account