Welcome to the ForVue Partner Program
This guide contains everything you need to integrate with the ForVue predictive maintenance platform. Follow the steps in order — you'll be connected and testing within 30 minutes.
Fill these in before sending to your integration team:
| API Key | ______________________________ |
| Base URL | https://platform.investwisecap.com/api/v1/ |
| Webhook Secret (HMAC) | ______________________________ |
| Daily Rate Limit | 1,000 requests/day |
| API Reference | https://platform.investwisecap.com/api-reference.html |
Pass your API key in the X-Api-Key header on every request:
curl https://platform.investwisecap.com/api/v1/properties \ -H "X-Api-Key: YOUR_API_KEY"
If authentication fails, you'll receive:
{ "error": "Invalid or inactive API key." }
Add ?sandbox=true to any GET request to work with demo data only. No production data is exposed.
curl https://platform.investwisecap.com/api/v1/properties?sandbox=true \ -H "X-Api-Key: YOUR_API_KEY"
⚠ Remove ?sandbox=true when you are ready to go live.
The most common integration — pull risk scores for all components in a portfolio:
curl https://platform.investwisecap.com/api/v1/risk-scores \ -H "X-Api-Key: YOUR_API_KEY"
Response:
{
"scores": [
{
"component_id": "C_17762...",
"appliance_type": "water_heater_gas",
"component_name": "Anode Rod",
"risk_score": 0.847,
"risk_tier": "CRITICAL",
"projected_failure_year": 2027,
"proactive_cost": 220,
"reactive_cost": 1800,
"confidence": "HIGH"
}
],
"total": 115,
"generated_at": "2026-04-28T..."
}
Send properties, appliances, and service events to build a portfolio:
// Create a property curl -X POST https://platform.investwisecap.com/api/v1/properties \ -H "X-Api-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Oakwood Apartments", "address": "123 Main St", "city": "Dallas", "state": "TX", "zip": "75201", "unit_count": 24 }' // Add an appliance curl -X POST https://platform.investwisecap.com/api/v1/appliances \ -H "X-Api-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "property_id": "P_...", "type_id": "hvac_central", "brand": "Carrier", "model": "24ACC636", "install_year": 2018 }' // Log a service event curl -X POST https://platform.investwisecap.com/api/v1/service-events \ -H "X-Api-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "appliance_id": "A_...", "event_type": "Preventive Maintenance", "date": "2026-04-28", "technician": "ABC HVAC", "parts_cost": 45, "labor_cost": 150, "condition_after": "good", "notes": "Replaced capacitor, cleaned coils" }'
For lenders and insurance carriers — pull property condition scores and replacement cost values:
// Condition score (bank underwriting) curl https://platform.investwisecap.com/api/v1/condition-score/P_... \ -H "X-Api-Key: YOUR_API_KEY" // Replacement cost value (insurance coverage) curl https://platform.investwisecap.com/api/v1/rcv/P_... \ -H "X-Api-Key: YOUR_API_KEY" // Push insurance claims for Bayesian risk adjustment curl -X POST https://platform.investwisecap.com/api/v1/claims \ -H "X-Api-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "property_id": "P_...", "claim_type": "water_damage", "date_of_loss": "2026-03-15", "amount": 12500 }'
Receive real-time alerts when components cross CRITICAL or WARNING thresholds.
What ForVue sends to your webhook URL:
POST https://your-server.com/your-webhook-endpoint
Headers:
Content-Type: application/json
X-Webhook-Signature: HMAC-SHA256 signature
Body:
{
"event": "component.critical",
"timestamp": "2026-04-28T14:30:00Z",
"data": {
"component_id": "C_...",
"appliance_id": "A_...",
"property_id": "P_...",
"component_name": "Anode Rod",
"risk_score": 0.84,
"risk_tier": "CRITICAL",
"projected_failure_year": 2027,
"reactive_cost": 1800,
"proactive_cost": 220
}
}
How to verify the signature:
const crypto = require('crypto');
const signature = req.headers['x-webhook-signature'];
const expected = crypto
.createHmac('sha256', YOUR_WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest('hex');
if (signature !== expected) {
return res.status(401).send('Invalid signature');
}
// Signature valid — process the event
Return HTTP 200 to acknowledge. ForVue retries at 0s, 5s, and 30s if no 200 received.
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/properties | List all properties |
| POST | /v1/properties | Create a property |
| GET | /v1/properties/:id | Get property details |
| GET | /v1/appliances | List appliances |
| POST | /v1/appliances | Create appliance + auto-generate components |
| POST | /v1/appliances/bulk | Create multiple appliances at once |
| GET | /v1/components | List components with risk scores |
| GET | /v1/risk-scores | All risk scores with cost data |
| GET | /v1/alerts | CRITICAL and WARNING components |
| GET | /v1/forecast | Projected failures by timeframe |
| GET | /v1/reserves/:id | Reserve recommendations per property |
| GET | /v1/condition-score/:id | Property condition score (bank grade) |
| GET | /v1/rcv/:id | Replacement cost value (insurance grade) |
| GET | /v1/service-events | List service events |
| POST | /v1/service-events | Log a service event |
| POST | /v1/claims | Push insurance claims |
| POST | /v1/sensor-events | Push IoT sensor readings |
| POST | /v1/webhooks/register | Register a webhook URL |
| POST | /v1/webhooks/test | Send a test webhook event |
Full documentation with request/response schemas: https://platform.investwisecap.com/api-reference.html
| Daily Limit | 1,000 requests/day (adjustable per partner) |
| Reset Time | Midnight UTC |
| Response Headers | X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset |
| Over Limit | HTTP 429 with error message |
| type_id | Name | Components |
|---|---|---|
| hvac_central | HVAC Central Split | 8 |
| hvac_heat_pump | Heat Pump | 7 |
| hvac_mini_split | Mini-Split / Ductless | 6 |
| water_heater_gas | Water Heater (Gas) | 6 |
| water_heater_electric | Water Heater (Electric) | 7 |
| water_heater_tankless | Water Heater (Tankless) | 6 |
| refrigerator | Refrigerator | 8 |
| washer | Clothes Washer | 6 |
| dryer_electric | Dryer (Electric) | 6 |
| dryer_gas | Dryer (Gas) | 7 |
| dishwasher | Dishwasher | 6 |
| range_gas | Range/Oven (Gas) | 6 |
| range_electric | Range/Oven (Electric) | 6 |
| electrical_panel | Electrical Panel | 5 |
| boiler | Boiler | 6 |
| roof | Roof | 6 |
| pool_equipment | Pool/Spa Equipment | 6 |
| elevator | Elevator | 5 |
| fire_suppression | Fire Suppression | 5 |
29 types total, 164 components. Full list in API reference.
| Integration Support | wise@investwisecap.com |
| API Status | GET /health — no auth required |
| OpenAPI Spec | https://platform.investwisecap.com/api/v1/openapi.json |
| Response Time SLA | < 500ms for read endpoints |
Competitive Use Restriction
Per Section 12 of the ForVue Terms of Service, API partners agree to a 2-year competitive-use covenant. Data obtained through the API may not be used to build, train, or improve a competing predictive maintenance product. See Terms of Service v3.0 for full details.