Homeward Offer Requests API
Create, read, and update partner offer requests
Create, read, and update partner offer requests
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/homeward-offer-requests-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Homeward Offer Estimate Buybox Offer Requests API
version: 1.0.0
description: 'The Homeward Offer Estimate API is for Homeward cash-offer digital partners. A partner posts a seller lead (property + customer + agent details) and Homeward responds with a Homeward Offer Estimate — an offer amount, an opinion-of-value range, a link to the Offer Estimate PDF, and a finalization link. Additional endpoints return the full offer breakdown, check whether a property is within Homeward''s "buybox," update the agent on a request, and finalize a lead. Access is by invitation: contact api@homeward.com for testing and production tokens.'
contact:
name: Homeward API
email: api@homeward.com
url: https://api-docs.homeward.com/
x-apisjson-source: postman/homeward-offer-estimate-postman.json
x-generated: '2026-07-19'
x-method: derived
servers:
- url: https://api.homeward.com
description: Production API host (BASE_URL)
tags:
- name: Offer Requests
description: Create, read, and update partner offer requests
paths:
/api/1.0.0/partner/offer-request/:
post:
operationId: createOfferRequest
tags:
- Offer Requests
summary: Create an offer request
description: An Offer Request is a request from a partner to receive a Homeward Offer Estimate. Posted from partner to Homeward. On success Homeward returns the offer estimate details; if the property is denied, reason_for_denial is populated and the offer fields are null.
security:
- tokenAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OfferRequest'
responses:
'201':
description: Offer request created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/OfferEstimate'
'400':
description: Homeward request is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
'401':
description: Missing or invalid authentication token
/api/1.0.0/estimate/sell/{preliminary_offer_id}/:
get:
operationId: getOfferEstimate
tags:
- Offer Requests
summary: Offer Estimate Information
description: Returns the full offer breakdown for a preliminary offer so partners can display and explain the Homeward Offer (opinion of value, milestones, net proceeds, fees, program details).
security:
- tokenAuth: []
parameters:
- name: preliminary_offer_id
in: path
required: true
schema:
type: string
format: uuid
- name: fmt
in: query
required: false
schema:
type: string
enum:
- json
responses:
'200':
description: Preliminary Offer Information
content:
application/json:
schema:
$ref: '#/components/schemas/OfferBreakdown'
'401':
description: Missing or invalid authentication token
/api/1.0.0/partner/offer-request/{offer_request_id}/agent/:
patch:
operationId: updateOfferRequestAgent
tags:
- Offer Requests
summary: Update offer request agent
description: Update the real estate agent details for a partner offer request. The offer_request_id may be the partner_offer_request_id supplied at creation or the homeward_offer_id returned at creation. All fields are optional but the entire agent resource is replaced with what is provided.
security:
- tokenAuth: []
parameters:
- name: offer_request_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Agent'
responses:
'200':
description: Offer request agent updated
content:
application/json:
schema:
$ref: '#/components/schemas/OfferEstimateWithAgent'
'400':
description: The request is invalid
'401':
description: Missing or invalid authentication token
components:
schemas:
OfferRequest:
type: object
required:
- partner_offer_request_id
- street_one
- city
- state
- postal_code
- customer_first_name
- customer_last_name
- customer_email
properties:
partner_offer_request_id:
type: string
description: Unique ID configured by the partner
street_one:
type: string
description: Street address
street_two:
type: string
description: Unit information
city:
type: string
state:
type: string
description: Standard 2-letter state abbreviation
postal_code:
type: string
description: Postal code only
no +4 identifier: null
customer_first_name:
type: string
customer_last_name:
type: string
customer_email:
type: string
format: email
description: Must be a unique email
customer_phone:
type: string
agent_first_name:
type: string
agent_last_name:
type: string
agent_email:
type: string
format: email
agent_phone:
type: string
bedrooms:
type: integer
bathrooms:
type: string
home_size_sq_ft:
type: integer
outstanding_loan_amount:
type: integer
agent_opinion_of_value:
type: integer
home_listing_status:
type: string
description: If already listed on MLS
enum:
- Coming Soon
- Listed
- Expired
- Withdrawn
- Cancelled
- Under Contract
- Sold
home_stories:
type: integer
master_on_main:
type: boolean
additions_made:
type: boolean
addition_sqft:
type: integer
has_basement:
type: boolean
basement_sqft:
type: integer
kitchen_countertop_type:
type: string
enum:
- corian
- formica
- granite
- granite tile
- other tile
- Quartz
garage_spaces_count:
type: integer
hvac_age:
type: integer
description: Age of the HVAC system in years
repair_or_update_detail:
type: string
photos:
type: array
items:
type: string
property_type:
type: string
enum:
- Single Family
- Unknown
- Multi-Family
- Luxury
- Condo
- Lot
- Other
- Commercial
- Mobile Home
- Townhouse
- Timeshare
has_solar_panels:
type: boolean
year_built:
type: integer
lot_size_acres:
type: integer
Agent:
type: object
properties:
first_name:
type: string
last_name:
type: string
email:
type: string
format: email
phone:
type: string
description: 10-digit phone with area code; accepts 999-888-7777, (999) 888-7777, 999.888.7777, 9998887777
OfferEstimate:
type: object
properties:
partner_offer_request_id:
type: string
homeward_offer_id:
type: string
format: uuid
offer_amount:
type:
- integer
- 'null'
opinion_of_value_min:
type:
- integer
- 'null'
opinion_of_value_max:
type:
- integer
- 'null'
expiration_date:
type:
- string
- 'null'
format: date
preliminary_offer_pdf:
type:
- string
- 'null'
format: uri
offer_finalization_link:
type:
- string
- 'null'
format: uri
reason_for_denial:
type:
- string
- 'null'
preliminary_offer_id:
type:
- string
- 'null'
format: uuid
ErrorEnvelope:
type: object
properties:
status:
type: integer
data:
type: string
description: Human-readable error detail
OfferBreakdown:
type: object
properties:
opinion_of_value:
type: integer
opinion_of_value_min:
type: integer
opinion_of_value_max:
type: integer
address:
$ref: '#/components/schemas/EstimateAddress'
milestone_one:
type: integer
milestone_two:
type: integer
milestone_three:
type: integer
milestone_four:
type: integer
milestone_five:
type: integer
net_offer_price:
type: integer
net_offer_price_min:
type: integer
net_offer_price_max:
type: integer
homeward_partial_program_fee:
type: integer
homeward_program_fee_adjustment:
type: integer
incremental_sale_proceeds:
type: integer
listing_cost_adjustment:
type: integer
listing_cost_credit:
type: integer
net_proceeds_from_homeward_purchase:
type: integer
net_proceeds_from_homeward_sale:
type: integer
offer_price_percentage:
type: integer
program_fee:
type: number
program_fee_base:
type: integer
sale_price_estimate:
type: integer
seller_expenses:
type: integer
seller_upside_percentage:
type: integer
standard_closing_costs:
type: integer
total_program_proceeds:
type: integer
total_program_proceeds_min:
type: integer
total_program_proceeds_max:
type: integer
total_commission_percentage:
type: string
id:
type: string
lead_id:
type: string
EstimateAddress:
type: object
properties:
street:
type: string
unit:
type: string
city:
type: string
state:
type: string
zip:
type: string
OfferEstimateWithAgent:
allOf:
- $ref: '#/components/schemas/OfferEstimate'
- type: object
properties:
agent:
$ref: '#/components/schemas/Agent'
securitySchemes:
tokenAuth:
type: apiKey
in: header
name: Authentication
description: Token authentication. Provide the testing or production token issued by Homeward in the Authentication header. Contact api@homeward.com to obtain tokens.