Api Documentation

WizzBanger Value API – Developer Guide

WizzBanger Value API

Integrate AI-powered boat identification, condition assessment, and valuation directly into your product with simple REST endpoints. Send boat details + image URLs; receive a structured valuation JSON and a downloadable PDF report.

What you get:
• Vessel details (normalized)
• Condition scoring per area
• Estimated value + range + pricing recs
• Market analysis & comparables
• Instant PDF report link
What you send:
• Make, model, year (required)
• Publicly accessible image URLs (required)
• Optional: length, location, engine_hours
• Auth header (token)

Base URL

BASE https://api.wizzvalue.com/api/v2

All endpoints documented below are relative to this base.

Authentication

Pass a bearer token in the Authorization header.

Authorization: Bearer <YOUR_API_TOKEN>

Endpoints

1) Complete Valuation

POST /boat/valuation_complete

Processes boat details and image URLs to produce the comprehensive valuation JSON shown below.

Request Body

FieldTypeRequiredDescription
makestringyesManufacturer (e.g., “Sea Ray”)
modelstringyesModel (e.g., “Sundancer 320”)
yearintegeryesYear of manufacture
lengthnumbernoLength of vessel
locationstringnoGeneral location
engine_hoursintegernoReported engine hours
imagesstring[]yesArray of publicly accessible image URLs

Response (200)

{
  "report_date": "2025-10-01",
  "document_id": "1981542",
  "vessel": {
    "year": 2018,
    "make": "Monterey",
    "model": "238SS Surf",
    "type": "Bowrider",
    "length_ft": 23,
    "beam_ft": 8.5,
    "draft_ft": null,
    "engine": "Volvo Penta 300 V8 (I/O)",
    "horsepower": 300,
    "fuel_type": "Gasoline",
    "primary_use": "Recreational"
  },
  "condition": {
    "overall_score": 9.7,
    "exterior_score": 9.8,
    "interior_score": 9.7,
    "systems_score": 9.8,
    "features_score": 9.7,
    "confidence": "very high"
  },
  "estimated_value_usd": 59760,
  "value_range_usd": { "low": 52000, "high": 60000 },
  "pricing_recommendations_usd": {
    "quick_sale": 52000,
    "optimal_listing": 59760,
    "minimum_acceptable": 46800
  },
  "improvement_potential_usd": { "low": 0, "high": 250 },
  "location_environment": {
    "region_guess": "Southeastern USA, likely freshwater lake",
    "environment_type": "Freshwater",
    "climate_conditions": ["Warm","Humid","High UV exposure","Minimal freeze risk"],
    "environmental_stressors": ["UV degradation","Organic staining","Humidity-related mildew","General freshwater wear"],
    "observed_wear": ["Minor dust","Light soiling on deck and seating"]
  },
  "notable_features": [
    "Wake tower","Integrated swim platform (surf-specific)","Premium audio system","Digital helm display","Adjustable captain's chair with bolster"
  ],
  "trailer_included": true,
  "critical_unknowns": [
    "Minor dust/light soiling present","No safety gear visible for assessment"
  ],
  "market_analysis": {
    "listings_analyzed": 4,
    "median_price_usd": 56249,
    "price_range_usd": { "low": 48995, "high": 66700 },
    "top_region": "California"
  },
  "comparables": [
    { "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 59999, "location": "Graford, TX, USA", "condition": "Excellent" },
    { "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 52499, "location": "Milledgeville, GA, USA", "condition": "Excellent" },
    { "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 48995, "location": "Land O Lakes, FL, USA", "condition": "Excellent" },
    { "year": 2017, "make": "Monterey", "model": "238SS Surf", "price_usd": 66700, "location": "Las Vegas, NV, USA", "condition": "Excellent" }
  ],
  "disclaimers": [
    "Image-derived details may be inaccurate.",
    "Estimated value is informational only.",
    "Not a replacement for a full survey.",
    "Default condition scores may apply if photos are insufficient."
  ]
}
Possible 4xx/5xx errors
{
  "error": {
    "code": 400,
    "message": "Missing required field: make",
    "details": [{"field":"make","issue":"required"}],
    "request_id": "vw_2f8ab5e9"
  }
}

2) Valuation Report (PDF)

POST /boat/pdf_report

Takes the full JSON returned by /boat/valuation_complete and returns a temporary CDN URL for the PDF.

Request Body

FieldTypeRequiredDescription
valuationobjectyesFull JSON returned by /boat/valuation_complete

Response (200)

{
  "report_url": "https://cdn.wizzvalue.com/reports/12345abcd.pdf",
  "expires_at": "2025-10-01T21:04:00Z",
  "request_id": "vw_9c1b2a0f"
}

Quick Start Examples

cURL

curl -X POST "https://api.wizzvalue.com/api/v2/boat/valuation_complete" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "make": "Sea Ray",
    "model": "Sundancer 320",
    "year": 2021,
    "images": [
      "https://example.com/img/1.jpg",
      "https://example.com/img/2.jpg"
    ],
    "location":"Tampa, FL",
    "engine_hours": 220
  }'
curl -X POST "https://api.wizzvalue.com/api/v2/boat/pdf_report" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "valuation": <PASTE_JSON_FROM_VALUATION_COMPLETE> }'

Node.js (fetch)

import fetch from "node-fetch";

const token = process.env.WIZZVALUE_TOKEN;

async function run() {
  const valuation = await fetch("https://api.wizzvalue.com/api/v2/boat/valuation_complete", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${token}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      make: "Sea Ray",
      model: "Sundancer 320",
      year: 2021,
      images: ["https://example.com/1.jpg","https://example.com/2.jpg"]
    })
  }).then(r => r.json());

  const pdf = await fetch("https://api.wizzvalue.com/api/v2/boat/pdf_report", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${token}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({ valuation })
  }).then(r => r.json());

  console.log(pdf.report_url);
}

run().catch(console.error);

Python (requests)

import os, requests

TOKEN = os.getenv("WIZZVALUE_TOKEN")
BASE = "https://api.wizzvalue.com/api/v2"

valuation = requests.post(
    f"{BASE}/boat/valuation_complete",
    headers={"Authorization": f"Bearer {TOKEN}"},
    json={
        "make":"Sea Ray", "model":"Sundancer 320", "year":2021,
        "images":["https://example.com/1.jpg","https://example.com/2.jpg"]
    }
).json()

pdf = requests.post(
    f"{BASE}/boat/pdf_report",
    headers={"Authorization": f"Bearer {TOKEN}"},
    json={"valuation": valuation}
).json()

print(pdf["report_url"])

Request & Response Schemas

Valuation Request

{
  "make": "string",           // required
  "model": "string",          // required
  "year": 2021,               // required
  "length": 32.0,             // optional
  "location": "Tampa, FL",    // optional
  "engine_hours": 220,        // optional
  "images": ["https://..."]   // required, public URLs
}

Valuation Response (fields returned)

{
  "report_date": "string (ISO date)",
  "document_id": "string",
  "vessel": {
    "year": 0,
    "make": "string",
    "model": "string",
    "type": "string",
    "length_ft": 0.0,
    "beam_ft": 0.0,
    "draft_ft": 0.0 | null,
    "engine": "string",
    "horsepower": 0.0 | null,
    "fuel_type": "string" | null,
    "primary_use": "string" | null
  },
  "condition": {
    "overall_score": 0.0,
    "exterior_score": 0.0 | null,
    "interior_score": 0.0 | null,
    "systems_score": 0.0 | null,
    "features_score": 0.0 | null,
    "confidence": "string" | null
  },
  "estimated_value_usd": 0.0,
  "value_range_usd": { "low": 0.0, "high": 0.0 },
  "pricing_recommendations_usd": {
    "quick_sale": 0.0,
    "optimal_listing": 0.0,
    "minimum_acceptable": 0.0
  },
  "improvement_potential_usd": { "low": 0.0, "high": 0.0 },
  "location_environment": {
    "region_guess": "string" | null,
    "environment_type": "string" | null,
    "climate_conditions": ["string"] | null,
    "environmental_stressors": ["string"] | null,
    "observed_wear": ["string"] | null
  },
  "notable_features": ["string"],
  "trailer_included": true | false | null,
  "critical_unknowns": ["string"] | null,
  "market_analysis": {
    "listings_analyzed": 0 | null,
    "median_price_usd": 0.0 | null,
    "price_range_usd": { "low": 0.0, "high": 0.0 } | null,
    "top_region": "string" | null
  },
  "comparables": [
    {
      "year": 0 | null,
      "make": "string" | null,
      "model": "string" | null,
      "price_usd": 0.0 | null,
      "location": "string" | null,
      "condition": "string" | null
    }
  ],
  "disclaimers": ["string"]
}

Sample Valuation Response (Full Example)

A realistic example of the full JSON your integration will receive after a valid request.

{
  "report_date": "2025-10-01",
  "document_id": "1981542",
  "vessel": {
    "year": 2018,
    "make": "Monterey",
    "model": "238SS Surf",
    "type": "Bowrider",
    "length_ft": 23,
    "beam_ft": 8.5,
    "draft_ft": null,
    "engine": "Volvo Penta 300 V8 (I/O)",
    "horsepower": 300,
    "fuel_type": "Gasoline",
    "primary_use": "Recreational"
  },
  "condition": {
    "overall_score": 9.7,
    "exterior_score": 9.8,
    "interior_score": 9.7,
    "systems_score": 9.8,
    "features_score": 9.7,
    "confidence": "very high"
  },
  "estimated_value_usd": 59760,
  "value_range_usd": { "low": 52000, "high": 60000 },
  "pricing_recommendations_usd": {
    "quick_sale": 52000,
    "optimal_listing": 59760,
    "minimum_acceptable": 46800
  },
  "improvement_potential_usd": { "low": 0, "high": 250 },
  "location_environment": {
    "region_guess": "Southeastern USA, likely freshwater lake",
    "environment_type": "Freshwater",
    "climate_conditions": ["Warm","Humid","High UV exposure","Minimal freeze risk"],
    "environmental_stressors": ["UV degradation","Organic staining","Humidity-related mildew","General freshwater wear"],
    "observed_wear": ["Minor dust","Light soiling on deck and seating"]
  },
  "notable_features": [
    "Wake tower","Integrated swim platform (surf-specific)","Premium audio system","Digital helm display","Adjustable captain's chair with bolster"
  ],
  "trailer_included": true,
  "critical_unknowns": [
    "Minor dust/light soiling present","No safety gear visible for assessment"
  ],
  "market_analysis": {
    "listings_analyzed": 4,
    "median_price_usd": 56249,
    "price_range_usd": { "low": 48995, "high": 66700 },
    "top_region": "California"
  },
  "comparables": [
    { "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 59999, "location": "Graford, TX, USA", "condition": "Excellent" },
    { "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 52499, "location": "Milledgeville, GA, USA", "condition": "Excellent" },
    { "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 48995, "location": "Land O Lakes, FL, USA", "condition": "Excellent" },
    { "year": 2017, "make": "Monterey", "model": "238SS Surf", "price_usd": 66700, "location": "Las Vegas, NV, USA", "condition": "Excellent" }
  ],
  "disclaimers": [
    "Image-derived details may be inaccurate.",
    "Estimated value is informational only.",
    "Not a replacement for a full survey.",
    "Default condition scores may apply if photos are insufficient."
  ]
}

Errors

HTTP Status Codes

CodeMeaning
200Success
400Bad Request (e.g., missing required field)
401Unauthorized (invalid/missing token)
429Too Many Requests (rate limited)
500Server Error (processing failure)

Error Body

{
  "error": {
    "code": 400,
    "message": "Missing required field: make",
    "details": [{"field": "make", "issue": "required"}],
    "request_id": "vw_2f8ab5e9"
  }
}

Rate Limiting

Requests are limited per API key to ensure fair usage and service quality. If you exceed your allocation you will receive 429 Too Many Requests. Need higher throughput? Contact us.

PDF Reports

The report_url returned by /boat/pdf_report is time-limited (expires_at) and can be regenerated by re-posting the valuation JSON.

Security & Data Handling

  • Transport: HTTPS required for all endpoints.
  • Images: Provide images as public URLs; we read them transiently for processing.
  • Storage: Valuation artifacts and PDFs may be cached; PDFs are served via expiring URLs.
  • Auth: Bearer tokens per partner; rotate on compromise; least-privilege recommended.

Access, Keys & Support

To request credentials, staging access, or higher rate limits, email dev@wizzvalue.com.

Changelog

  • v2 (current): /boat/valuation_complete, /boat/pdf_report; response updated to match published field contract.
  • v1: Internal mobile-app endpoints only.
Scroll to Top