Documentation

Balance

GET /api/v1/balance: available credit, the prices this account pays for each product, and how many of each product the balance covers right now.

API reference

Base URL: https://api.roofquery.com. Authenticate with Authorization: Bearer <your key> — except the file routes (report and storm report files), which take no key.

Copies this whole page as Markdown, so you can paste it into an assistant and have it write the integration. Nothing secret goes on the clipboard — your keys aren't included.

GET /api/v1/balance

One balance funds every RoofQuery product, which is why this sits outside /reports. Read live from Stripe, so credit added by hand in the Stripe dashboard shows up immediately. Spend that hasn't finished settling is already subtracted — available is what you can order against right now.

Also reachable at /api/v1/reports/balance, with an identical response, for integrations that found it there first.

Request
curl -H "Authorization: Bearer rq_live_sk_..." \
  "https://api.roofquery.com/api/v1/balance"
Response
{
  "available": 247,
  "currency": "usd",
  "setupRequired": false,
  "prices": {
    "reports": { "residential": 10, "commercial": 30, "storm": 5 },
    "addons": { "esx": 5 }
  },
  "remaining": { "residential": 24, "commercial": 8, "storm": 49 },
  "residentialReportsRemaining": 24
}

remaining is how many of each product the balance covers right now, counted at the report price without the ESX. prices.addons.esx is what the Xactimate ESX adds to one roof report on this account. residentialReportsRemaining is the same as remaining.residential, kept for integrations written before remaining existed. setupRequired: true means no card and no balance yet — see BILLING_SETUP_REQUIRED under Errors.