FORVUE

Partner API — Integration Guide
Version 2.0 · July 9, 2026 · Confidential

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.

Your Credentials

Fill these in before sending to your integration team:

API Key______________________________
Base URLhttps://platform.investwisecap.com/api/v1/
Webhook Secret (HMAC)______________________________
Daily Rate Limit1,000 requests/day
API Referencehttps://platform.investwisecap.com/api-reference.html

Step-by-Step Integration

1Authenticate

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." }
2Test in Sandbox Mode

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.

3Pull Risk Scores

The most common integration — pull risk scores for all components in a portfolio:

curl https://platform.investwisecap.com/api/v1/components \
  -H "X-Api-Key: YOUR_API_KEY"

Response (shape verified against live API, July 9, 2026):

{
  "components": [
    {
      "component_id": "C_17762...",
      "component_name": "wh_gas_anode",
      "appliance_type": "water_heater_gas",
      "appliance_brand": "Rheem",
      "unit": "U_...",
      "property_id": "P_...",
      "property_name": "Oakwood Apartments",
      "risk_score": 0.847,
      "risk_tier": "CRITICAL",
      "proactive_cost": 220,
      "reactive_cost": 1800,
      "last_scored": "2026-07-09T20:07:06.109Z"
    }
  ]
}

📌 Response-shape change effective July 9, 2026: NUMERIC, DECIMAL, BIGINT, and INT8 fields now return as JSON numbers, not strings. See the API Reference §13.4.1 changelog.

4Push Data Into ForVue

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 (bulk endpoint; send one or many)
curl -X POST https://platform.investwisecap.com/api/v1/service-events/bulk \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "events": [
      {
        "appliance_id": "A_...",
        "event_type": "Preventive Maintenance",
        "date": "2026-07-09",
        "technician": "ABC HVAC",
        "parts_cost": 45,
        "labor_cost": 150,
        "condition_after": "good",
        "notes": "Replaced capacitor, cleaned coils"
      }
    ]
  }'
5Get Bank/Insurance Reports

For lenders and insurance carriers — pull property condition scores and replacement cost values:

// Condition score (bank underwriting)
curl https://platform.investwisecap.com/api/v1/property/P_.../condition-score \
  -H "X-Api-Key: YOUR_API_KEY"

// Replacement cost value (insurance coverage)
curl https://platform.investwisecap.com/api/v1/property/P_.../rcv \
  -H "X-Api-Key: YOUR_API_KEY"

// Push insurance claims for Bayesian risk adjustment
curl -X POST https://platform.investwisecap.com/api/v1/property/P_.../claims \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "claim_type": "water_damage",
    "date_of_loss": "2026-03-15",
    "amount": 12500
  }'
6Set Up Webhooks (Optional)

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.


Complete Endpoint Reference

The authoritative endpoint catalog — 33 endpoints across read, write, OAuth, and public-utility operations — lives in the API Reference. Do not rely on this Integration Guide for a complete route list; the API Reference is generated in sync with the deployed platform and is the source of truth.

Where to find the full route table

API Reference (HTML)https://platform.investwisecap.com/api-reference.html
OpenAPI Spec (JSON)GET https://platform.investwisecap.com/api/v1/openapi.json
Auth Methods EndpointGET https://platform.investwisecap.com/api/v1/auth/methods — returns both authentication options in JSON

Categories covered in the full reference: properties, appliances, components, service events, alerts, events (change stream), portfolio rollup, property summary and full report, forecasts (30/60/90 day), condition scoring, NSPIRE alignment, replacement cost value, reserves, compliance, insurance claims (import and impact), data-plate photos, IoT meter events (three variants), and OAuth 2.0 token exchange. Every endpoint documents parameters, request bodies where applicable, response shapes, rate-limit behavior, and error codes.

Authentication options:


Rate Limits & Headers

Three independent limits are enforced. Your integration should handle all three.

Daily Limit (per partner)1,000 requests/day (adjustable per partner)
Per-IP Transport Limit120 requests/minute per source IP address
Per-User Transport Limit60 requests/minute per authenticated user or partner
Reset Time (daily)Midnight UTC
Response Headers (daily)X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
Over Daily LimitHTTP 429, body: {"error":"Daily rate limit exceeded (1000 calls/day). Resets at midnight UTC."}
Over Per-IP LimitHTTP 429, body: {"error":"Too many requests. Please slow down."}
Over Per-User LimitHTTP 429, body: {"error":"Rate limit exceeded. Maximum 60 requests per minute."}

Requests that trip a transport-layer limit do not count against your daily quota. See API Reference §3 for the complete rate-limiting reference.


Supported Appliance Types

type_idNameComponents
hvac_centralHVAC Central Split8
hvac_heat_pumpHeat Pump7
hvac_mini_splitMini-Split / Ductless6
water_heater_gasWater Heater (Gas)6
water_heater_electricWater Heater (Electric)7
water_heater_tanklessWater Heater (Tankless)6
refrigeratorRefrigerator8
washerClothes Washer6
dryer_electricDryer (Electric)6
dryer_gasDryer (Gas)7
dishwasherDishwasher6
range_gasRange/Oven (Gas)6
range_electricRange/Oven (Electric)6
electrical_panelElectrical Panel5
boilerBoiler6
roofRoof6
pool_equipmentPool/Spa Equipment6
elevatorElevator5
fire_suppressionFire Suppression5

29 types total, 164 components. Full list in API reference.


Support & Contact

Integration Supportwise@investwisecap.com
API StatusGET /health — no auth required
OpenAPI Spechttps://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.