Skip to content

OpendoorClient

Constructors

Constructor

new OpendoorClient(config): OpendoorClient

Parameters

config

OpendoorClientConfig

Returns

OpendoorClient

Properties

environment

readonly environment: OpendoorEnvironment

Methods

checkAddressUnit()

checkAddressUnit(address): Promise<AddressUnitCheckResponse>

Check whether an address requires a unit number.

Parameters

address

The address to check

city

string

postalCode

string

state

string

street1

string

street2?

string

Returns

Promise<AddressUnitCheckResponse>

Whether the address requires a unit number


createOffer()

createOffer(data): Promise<CreateOfferResponse>

Create an offer request for an address.

Parameters

data

CreateOfferRequest

Address and optional sales associate info

Returns

Promise<CreateOfferResponse>

Offer request ID, status, and denial info if denied


getAddressDetails()

getAddressDetails(params): Promise<GetAddressDetailsResponse>

Get product eligibility and value estimate for an address. Use this for lightweight pre-qualification before creating an offer.

Parameters

params

GetAddressDetailsRequest

Address and optional tracking ID

Returns

Promise<GetAddressDetailsResponse>

Eligibility, value estimate, and referral data


getAddressSuggestions()

getAddressSuggestions(query): Promise<AddressSuggestionsResponse>

Search for addresses matching a query string.

Parameters

query

string

Partial address string

Returns

Promise<AddressSuggestionsResponse>

Matching addresses


getAssessmentSlots()

getAssessmentSlots(params): Promise<GetAssessmentSlotsResponse>

Get available assessment time slots for an offer.

Parameters

params

GetAssessmentSlotsRequest

Contains the offerId

Returns

Promise<GetAssessmentSlotsResponse>

Available slots and scheduling metadata


getCustomerContact()

getCustomerContact(params): Promise<GetCustomerContactResponse>

Get the customer’s name, email, and phone for an offer request. Useful for prefilling downstream forms (e.g. the assessment-scheduling confirm step) when only the offer UUID is available client-side.

Calls the partner’s BFF route configured via endpoints.getCustomerContact (default /customerContact). The BFF should forward to the server SDK’s getCustomerContact(). Requires the offer to have reached OFFERED.

Parameters

params

GetCustomerContactRequest

Returns

Promise<GetCustomerContactResponse>


getHomebuilders()

getHomebuilders(): Promise<GetHomebuildersResponse>

Get a list of homebuilder partners for the questionnaire dropdown.

Returns

Promise<GetHomebuildersResponse>

List of homebuilder partners with identifier and display name


getHomeDetail()

getHomeDetail(params): Promise<GetHomeDetailResponse>

Get prefilled home detail answers for a property. Returns data for pre-populating questionnaire forms.

Parameters

params

GetHomeDetailRequest

Returns

Promise<GetHomeDetailResponse>


getOffer()

getOffer(offerId): Promise<GetOfferResponse>

Get the current status of an offer request.

Parameters

offerId

string

The opendoorOfferRequestId

Returns

Promise<GetOfferResponse>

Full offer status including pricing data when OFFERED


getOfferWithSellDirectPricing()

getOfferWithSellDirectPricing(offerId): Promise<GetOfferWithPricingResponse>

Get offer with net proceeds, mortgage balance, and seller info.

Parameters

offerId

string

The opendoorOfferRequestId

Returns

Promise<GetOfferWithPricingResponse>


scheduleAssessment()

scheduleAssessment(params): Promise<ScheduleAssessmentResponse>

Schedule a pre-underwriting home assessment for an offer.

Pairs with getAssessmentSlots — the customer picks a slot from that response and this method commits the selection. Returns the visitId of the scheduled visit.

Parameters

params

ScheduleAssessmentRequest

The offerId, selected slot, and optional reminder phone / notes

Returns

Promise<ScheduleAssessmentResponse>

The created visitId


updateOffer()

updateOffer(offerId, data): Promise<UpdateOfferResponse>

Update an offer request with seller info, home details, or eligibility.

Parameters

offerId

string

The opendoorOfferRequestId

data

UpdateOfferRequest

Fields to update

Returns

Promise<UpdateOfferResponse>

Updated offer status