{"openapi":"3.1.0","info":{"title":"RebidPro agent API","version":"1.0.0","description":"Get real quotes from local US contractors for a property job, and check whether a contractor price is fair. Paid endpoints use x402: the first call answers 402 Payment Required with payment requirements; retry with a signed payment header. No account or API key. An MCP server with the same capabilities is at /mcp.","contact":{"name":"RebidPro","url":"https://rebidpro.com/agents","email":"quotes@rebidpro.com"},"x-guidance":"Use GET /agent/v1/price-check when a user asks whether a contractor price is fair or what a job costs in a US ZIP code. Use POST /agent/v1/quote-jobs when they want real quotes from local contractors; then poll GET /agent/v1/quote-jobs/{job_token} (free) every few hours. Get valid trade and job_type ids from GET /agent/v1/job-types (free) first."},"servers":[{"url":"https://rebidpro.com"}],"paths":{"/agent/v1/job-types":{"get":{"operationId":"listJobTypes","summary":"Trades and job types we can quote (free)","security":[],"responses":{"200":{"description":"Catalog"}}}},"/agent/v1/quote-jobs":{"post":{"operationId":"createQuoteJob","summary":"Start a quote job ($39)","description":"We find well-reviewed local contractors, email them the scope, follow up and return a ranked comparison, usually within 48 hours. Poll the returned status URL.","x-payment-info":{"protocols":[{"x402":{"network":"eip155:8453","asset":"USDC","status":"live"}}],"price":{"mode":"fixed","currency":"USD","amount":"39"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["trade","job_type","title","description","zip","city","state"],"properties":{"trade":{"type":"string","enum":["plumbing","hvac","electrical","roofing","unit_turn","appliance","landscaping","snow_removal","pest_control","janitorial","pool"]},"job_type":{"type":"string","description":"From /agent/v1/job-types"},"title":{"type":"string","maxLength":120,"example":"Replace 40-gal gas water heater"},"description":{"type":"string","minLength":15,"example":"Unit 4B, 2nd floor. Leaking at the base. Needs haul-away."},"zip":{"type":"string","pattern":"^\\d{5}$"},"city":{"type":"string"},"state":{"type":"string","pattern":"^[A-Za-z]{2}$"},"needed_by":{"type":"string","example":"this week"},"contact_email":{"type":"string","format":"email","description":"Where to send the finished comparison"},"incumbent_vendor":{"type":"string"},"incumbent_annual_usd":{"type":"number","description":"Required for contract re-bids"}}}}}},"responses":{"201":{"description":"Job created"},"400":{"description":"Invalid request"},"402":{"description":"Payment required (x402)"}}}},"/agent/v1/quote-jobs/{job_token}":{"get":{"operationId":"getQuoteJob","summary":"Status and ranked quotes for a job (free)","security":[],"parameters":[{"name":"job_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Job view"},"404":{"description":"Not found"}}}},"/agent/v1/price-check":{"get":{"operationId":"checkPrice","summary":"Is this contractor price fair? ($0.25)","description":"Low (25th percentile), typical (median) and high (75th percentile) of real quotes for the job type in the 3-digit ZIP region, with the sample size. Pass quoted_usd for a verdict.","x-payment-info":{"protocols":[{"x402":{"network":"eip155:8453","asset":"USDC","status":"live"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.25"}},"parameters":[{"name":"trade","in":"query","required":true,"schema":{"type":"string","enum":["plumbing","hvac","electrical","roofing","unit_turn","appliance","landscaping","snow_removal","pest_control","janitorial","pool"]}},{"name":"job_type","in":"query","required":true,"schema":{"type":"string"}},{"name":"zip","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{3,5}$"}},{"name":"quoted_usd","in":"query","required":false,"schema":{"type":"number"}}],"responses":{"200":{"description":"Price distribution and verdict"},"402":{"description":"Payment required (x402)"}}}}}}