cURL
curl --request POST \
--url https://v2.easystreetoffers.com/api/v2/offer-requests \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"request": {
"offer_request_asking": 3900000,
"test": true
},
"property": {
"UnparsedAddress": "123 Easy St, Easy, CA 12345",
"ListAgentEmail": "Agent@gmail.com",
"ListAgentFirstName": "First Name",
"ListAgentLastName": "Last Name",
"ListAgentDirectPhone": "+15551234567",
"PropertyCondition": "Needs Minor Aesthetic Repairs",
"MlsStatus": "Off-market",
"PropertySubType": "Single Family Residence",
"ConstructionMaterials": [
"Brick",
"Wood Siding"
],
"BedroomsTotal": 4,
"BathroomsFull": 2,
"BathroomsHalf": 1,
"LivingArea": 1890,
"LotSizeSquareFeet": 7400,
"YearBuilt": 1987,
"GarageYN": true,
"GarageSpaces": 2,
"CarportYN": false,
"CarportSpaces": 1,
"OpenParkingYN": true,
"OpenParkingSpaces": 2,
"AssociationYN": true,
"AssociationFee": 55,
"AssociationFeeFrequency": "Monthly",
"SeniorCommunityYN": false,
"PoolPrivateYN": false,
"SpaYN": false,
"WaterSource": [
"Public"
],
"Sewer": [
"Public Sewer"
],
"MortgagePayoff": 112500,
"OccupantType": "Owner",
"TotalActualRent": 2400,
"LeaseExpiration": "2026-12-31",
"OccupancyAtClosing": "Vacant",
"roof_age": 9,
"waterheater_age": 6,
"hvac_age": 7,
"rehab_type": "Light Rehab",
"Notes": "This is a note about the property.",
"EstimatedRenovation": 18000
},
"media": [
"https://picsum.photos/200"
]
}
'import requests
url = "https://v2.easystreetoffers.com/api/v2/offer-requests"
payload = {
"request": {
"offer_request_asking": 3900000,
"test": True
},
"property": {
"UnparsedAddress": "123 Easy St, Easy, CA 12345",
"ListAgentEmail": "Agent@gmail.com",
"ListAgentFirstName": "First Name",
"ListAgentLastName": "Last Name",
"ListAgentDirectPhone": "+15551234567",
"PropertyCondition": "Needs Minor Aesthetic Repairs",
"MlsStatus": "Off-market",
"PropertySubType": "Single Family Residence",
"ConstructionMaterials": ["Brick", "Wood Siding"],
"BedroomsTotal": 4,
"BathroomsFull": 2,
"BathroomsHalf": 1,
"LivingArea": 1890,
"LotSizeSquareFeet": 7400,
"YearBuilt": 1987,
"GarageYN": True,
"GarageSpaces": 2,
"CarportYN": False,
"CarportSpaces": 1,
"OpenParkingYN": True,
"OpenParkingSpaces": 2,
"AssociationYN": True,
"AssociationFee": 55,
"AssociationFeeFrequency": "Monthly",
"SeniorCommunityYN": False,
"PoolPrivateYN": False,
"SpaYN": False,
"WaterSource": ["Public"],
"Sewer": ["Public Sewer"],
"MortgagePayoff": 112500,
"OccupantType": "Owner",
"TotalActualRent": 2400,
"LeaseExpiration": "2026-12-31",
"OccupancyAtClosing": "Vacant",
"roof_age": 9,
"waterheater_age": 6,
"hvac_age": 7,
"rehab_type": "Light Rehab",
"Notes": "This is a note about the property.",
"EstimatedRenovation": 18000
},
"media": ["https://picsum.photos/200"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
request: {offer_request_asking: 3900000, test: true},
property: {
UnparsedAddress: '123 Easy St, Easy, CA 12345',
ListAgentEmail: 'Agent@gmail.com',
ListAgentFirstName: 'First Name',
ListAgentLastName: 'Last Name',
ListAgentDirectPhone: '+15551234567',
PropertyCondition: 'Needs Minor Aesthetic Repairs',
MlsStatus: 'Off-market',
PropertySubType: 'Single Family Residence',
ConstructionMaterials: ['Brick', 'Wood Siding'],
BedroomsTotal: 4,
BathroomsFull: 2,
BathroomsHalf: 1,
LivingArea: 1890,
LotSizeSquareFeet: 7400,
YearBuilt: 1987,
GarageYN: true,
GarageSpaces: 2,
CarportYN: false,
CarportSpaces: 1,
OpenParkingYN: true,
OpenParkingSpaces: 2,
AssociationYN: true,
AssociationFee: 55,
AssociationFeeFrequency: 'Monthly',
SeniorCommunityYN: false,
PoolPrivateYN: false,
SpaYN: false,
WaterSource: ['Public'],
Sewer: ['Public Sewer'],
MortgagePayoff: 112500,
OccupantType: 'Owner',
TotalActualRent: 2400,
LeaseExpiration: '2026-12-31',
OccupancyAtClosing: 'Vacant',
roof_age: 9,
waterheater_age: 6,
hvac_age: 7,
rehab_type: 'Light Rehab',
Notes: 'This is a note about the property.',
EstimatedRenovation: 18000
},
media: ['https://picsum.photos/200']
})
};
fetch('https://v2.easystreetoffers.com/api/v2/offer-requests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://v2.easystreetoffers.com/api/v2/offer-requests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'request' => [
'offer_request_asking' => 3900000,
'test' => true
],
'property' => [
'UnparsedAddress' => '123 Easy St, Easy, CA 12345',
'ListAgentEmail' => 'Agent@gmail.com',
'ListAgentFirstName' => 'First Name',
'ListAgentLastName' => 'Last Name',
'ListAgentDirectPhone' => '+15551234567',
'PropertyCondition' => 'Needs Minor Aesthetic Repairs',
'MlsStatus' => 'Off-market',
'PropertySubType' => 'Single Family Residence',
'ConstructionMaterials' => [
'Brick',
'Wood Siding'
],
'BedroomsTotal' => 4,
'BathroomsFull' => 2,
'BathroomsHalf' => 1,
'LivingArea' => 1890,
'LotSizeSquareFeet' => 7400,
'YearBuilt' => 1987,
'GarageYN' => true,
'GarageSpaces' => 2,
'CarportYN' => false,
'CarportSpaces' => 1,
'OpenParkingYN' => true,
'OpenParkingSpaces' => 2,
'AssociationYN' => true,
'AssociationFee' => 55,
'AssociationFeeFrequency' => 'Monthly',
'SeniorCommunityYN' => false,
'PoolPrivateYN' => false,
'SpaYN' => false,
'WaterSource' => [
'Public'
],
'Sewer' => [
'Public Sewer'
],
'MortgagePayoff' => 112500,
'OccupantType' => 'Owner',
'TotalActualRent' => 2400,
'LeaseExpiration' => '2026-12-31',
'OccupancyAtClosing' => 'Vacant',
'roof_age' => 9,
'waterheater_age' => 6,
'hvac_age' => 7,
'rehab_type' => 'Light Rehab',
'Notes' => 'This is a note about the property.',
'EstimatedRenovation' => 18000
],
'media' => [
'https://picsum.photos/200'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://v2.easystreetoffers.com/api/v2/offer-requests"
payload := strings.NewReader("{\n \"request\": {\n \"offer_request_asking\": 3900000,\n \"test\": true\n },\n \"property\": {\n \"UnparsedAddress\": \"123 Easy St, Easy, CA 12345\",\n \"ListAgentEmail\": \"Agent@gmail.com\",\n \"ListAgentFirstName\": \"First Name\",\n \"ListAgentLastName\": \"Last Name\",\n \"ListAgentDirectPhone\": \"+15551234567\",\n \"PropertyCondition\": \"Needs Minor Aesthetic Repairs\",\n \"MlsStatus\": \"Off-market\",\n \"PropertySubType\": \"Single Family Residence\",\n \"ConstructionMaterials\": [\n \"Brick\",\n \"Wood Siding\"\n ],\n \"BedroomsTotal\": 4,\n \"BathroomsFull\": 2,\n \"BathroomsHalf\": 1,\n \"LivingArea\": 1890,\n \"LotSizeSquareFeet\": 7400,\n \"YearBuilt\": 1987,\n \"GarageYN\": true,\n \"GarageSpaces\": 2,\n \"CarportYN\": false,\n \"CarportSpaces\": 1,\n \"OpenParkingYN\": true,\n \"OpenParkingSpaces\": 2,\n \"AssociationYN\": true,\n \"AssociationFee\": 55,\n \"AssociationFeeFrequency\": \"Monthly\",\n \"SeniorCommunityYN\": false,\n \"PoolPrivateYN\": false,\n \"SpaYN\": false,\n \"WaterSource\": [\n \"Public\"\n ],\n \"Sewer\": [\n \"Public Sewer\"\n ],\n \"MortgagePayoff\": 112500,\n \"OccupantType\": \"Owner\",\n \"TotalActualRent\": 2400,\n \"LeaseExpiration\": \"2026-12-31\",\n \"OccupancyAtClosing\": \"Vacant\",\n \"roof_age\": 9,\n \"waterheater_age\": 6,\n \"hvac_age\": 7,\n \"rehab_type\": \"Light Rehab\",\n \"Notes\": \"This is a note about the property.\",\n \"EstimatedRenovation\": 18000\n },\n \"media\": [\n \"https://picsum.photos/200\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://v2.easystreetoffers.com/api/v2/offer-requests")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"request\": {\n \"offer_request_asking\": 3900000,\n \"test\": true\n },\n \"property\": {\n \"UnparsedAddress\": \"123 Easy St, Easy, CA 12345\",\n \"ListAgentEmail\": \"Agent@gmail.com\",\n \"ListAgentFirstName\": \"First Name\",\n \"ListAgentLastName\": \"Last Name\",\n \"ListAgentDirectPhone\": \"+15551234567\",\n \"PropertyCondition\": \"Needs Minor Aesthetic Repairs\",\n \"MlsStatus\": \"Off-market\",\n \"PropertySubType\": \"Single Family Residence\",\n \"ConstructionMaterials\": [\n \"Brick\",\n \"Wood Siding\"\n ],\n \"BedroomsTotal\": 4,\n \"BathroomsFull\": 2,\n \"BathroomsHalf\": 1,\n \"LivingArea\": 1890,\n \"LotSizeSquareFeet\": 7400,\n \"YearBuilt\": 1987,\n \"GarageYN\": true,\n \"GarageSpaces\": 2,\n \"CarportYN\": false,\n \"CarportSpaces\": 1,\n \"OpenParkingYN\": true,\n \"OpenParkingSpaces\": 2,\n \"AssociationYN\": true,\n \"AssociationFee\": 55,\n \"AssociationFeeFrequency\": \"Monthly\",\n \"SeniorCommunityYN\": false,\n \"PoolPrivateYN\": false,\n \"SpaYN\": false,\n \"WaterSource\": [\n \"Public\"\n ],\n \"Sewer\": [\n \"Public Sewer\"\n ],\n \"MortgagePayoff\": 112500,\n \"OccupantType\": \"Owner\",\n \"TotalActualRent\": 2400,\n \"LeaseExpiration\": \"2026-12-31\",\n \"OccupancyAtClosing\": \"Vacant\",\n \"roof_age\": 9,\n \"waterheater_age\": 6,\n \"hvac_age\": 7,\n \"rehab_type\": \"Light Rehab\",\n \"Notes\": \"This is a note about the property.\",\n \"EstimatedRenovation\": 18000\n },\n \"media\": [\n \"https://picsum.photos/200\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://v2.easystreetoffers.com/api/v2/offer-requests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"request\": {\n \"offer_request_asking\": 3900000,\n \"test\": true\n },\n \"property\": {\n \"UnparsedAddress\": \"123 Easy St, Easy, CA 12345\",\n \"ListAgentEmail\": \"Agent@gmail.com\",\n \"ListAgentFirstName\": \"First Name\",\n \"ListAgentLastName\": \"Last Name\",\n \"ListAgentDirectPhone\": \"+15551234567\",\n \"PropertyCondition\": \"Needs Minor Aesthetic Repairs\",\n \"MlsStatus\": \"Off-market\",\n \"PropertySubType\": \"Single Family Residence\",\n \"ConstructionMaterials\": [\n \"Brick\",\n \"Wood Siding\"\n ],\n \"BedroomsTotal\": 4,\n \"BathroomsFull\": 2,\n \"BathroomsHalf\": 1,\n \"LivingArea\": 1890,\n \"LotSizeSquareFeet\": 7400,\n \"YearBuilt\": 1987,\n \"GarageYN\": true,\n \"GarageSpaces\": 2,\n \"CarportYN\": false,\n \"CarportSpaces\": 1,\n \"OpenParkingYN\": true,\n \"OpenParkingSpaces\": 2,\n \"AssociationYN\": true,\n \"AssociationFee\": 55,\n \"AssociationFeeFrequency\": \"Monthly\",\n \"SeniorCommunityYN\": false,\n \"PoolPrivateYN\": false,\n \"SpaYN\": false,\n \"WaterSource\": [\n \"Public\"\n ],\n \"Sewer\": [\n \"Public Sewer\"\n ],\n \"MortgagePayoff\": 112500,\n \"OccupantType\": \"Owner\",\n \"TotalActualRent\": 2400,\n \"LeaseExpiration\": \"2026-12-31\",\n \"OccupancyAtClosing\": \"Vacant\",\n \"roof_age\": 9,\n \"waterheater_age\": 6,\n \"hvac_age\": 7,\n \"rehab_type\": \"Light Rehab\",\n \"Notes\": \"This is a note about the property.\",\n \"EstimatedRenovation\": 18000\n },\n \"media\": [\n \"https://picsum.photos/200\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"offer_request_asking": 123,
"offer_request_status": "active",
"offer_requested_at": "now()",
"offer_requested_decided_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offer_request_is_mls": true,
"offer_request_deal_type": "<string>",
"offer_request_expires_at": "<string>",
"offer_request_is_approved": true,
"offer_request_decided_at": "<string>",
"offer_request_viewed_at": "<string>",
"offer_request_refreshed_at": "<string>",
"inventory_property_id": 123,
"test": true
}{
"error": 123,
"message": "<string>"
}Cash Offer Requests
Request Cash Offers
Creates an offer request.
POST
/
offer-requests
cURL
curl --request POST \
--url https://v2.easystreetoffers.com/api/v2/offer-requests \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"request": {
"offer_request_asking": 3900000,
"test": true
},
"property": {
"UnparsedAddress": "123 Easy St, Easy, CA 12345",
"ListAgentEmail": "Agent@gmail.com",
"ListAgentFirstName": "First Name",
"ListAgentLastName": "Last Name",
"ListAgentDirectPhone": "+15551234567",
"PropertyCondition": "Needs Minor Aesthetic Repairs",
"MlsStatus": "Off-market",
"PropertySubType": "Single Family Residence",
"ConstructionMaterials": [
"Brick",
"Wood Siding"
],
"BedroomsTotal": 4,
"BathroomsFull": 2,
"BathroomsHalf": 1,
"LivingArea": 1890,
"LotSizeSquareFeet": 7400,
"YearBuilt": 1987,
"GarageYN": true,
"GarageSpaces": 2,
"CarportYN": false,
"CarportSpaces": 1,
"OpenParkingYN": true,
"OpenParkingSpaces": 2,
"AssociationYN": true,
"AssociationFee": 55,
"AssociationFeeFrequency": "Monthly",
"SeniorCommunityYN": false,
"PoolPrivateYN": false,
"SpaYN": false,
"WaterSource": [
"Public"
],
"Sewer": [
"Public Sewer"
],
"MortgagePayoff": 112500,
"OccupantType": "Owner",
"TotalActualRent": 2400,
"LeaseExpiration": "2026-12-31",
"OccupancyAtClosing": "Vacant",
"roof_age": 9,
"waterheater_age": 6,
"hvac_age": 7,
"rehab_type": "Light Rehab",
"Notes": "This is a note about the property.",
"EstimatedRenovation": 18000
},
"media": [
"https://picsum.photos/200"
]
}
'import requests
url = "https://v2.easystreetoffers.com/api/v2/offer-requests"
payload = {
"request": {
"offer_request_asking": 3900000,
"test": True
},
"property": {
"UnparsedAddress": "123 Easy St, Easy, CA 12345",
"ListAgentEmail": "Agent@gmail.com",
"ListAgentFirstName": "First Name",
"ListAgentLastName": "Last Name",
"ListAgentDirectPhone": "+15551234567",
"PropertyCondition": "Needs Minor Aesthetic Repairs",
"MlsStatus": "Off-market",
"PropertySubType": "Single Family Residence",
"ConstructionMaterials": ["Brick", "Wood Siding"],
"BedroomsTotal": 4,
"BathroomsFull": 2,
"BathroomsHalf": 1,
"LivingArea": 1890,
"LotSizeSquareFeet": 7400,
"YearBuilt": 1987,
"GarageYN": True,
"GarageSpaces": 2,
"CarportYN": False,
"CarportSpaces": 1,
"OpenParkingYN": True,
"OpenParkingSpaces": 2,
"AssociationYN": True,
"AssociationFee": 55,
"AssociationFeeFrequency": "Monthly",
"SeniorCommunityYN": False,
"PoolPrivateYN": False,
"SpaYN": False,
"WaterSource": ["Public"],
"Sewer": ["Public Sewer"],
"MortgagePayoff": 112500,
"OccupantType": "Owner",
"TotalActualRent": 2400,
"LeaseExpiration": "2026-12-31",
"OccupancyAtClosing": "Vacant",
"roof_age": 9,
"waterheater_age": 6,
"hvac_age": 7,
"rehab_type": "Light Rehab",
"Notes": "This is a note about the property.",
"EstimatedRenovation": 18000
},
"media": ["https://picsum.photos/200"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
request: {offer_request_asking: 3900000, test: true},
property: {
UnparsedAddress: '123 Easy St, Easy, CA 12345',
ListAgentEmail: 'Agent@gmail.com',
ListAgentFirstName: 'First Name',
ListAgentLastName: 'Last Name',
ListAgentDirectPhone: '+15551234567',
PropertyCondition: 'Needs Minor Aesthetic Repairs',
MlsStatus: 'Off-market',
PropertySubType: 'Single Family Residence',
ConstructionMaterials: ['Brick', 'Wood Siding'],
BedroomsTotal: 4,
BathroomsFull: 2,
BathroomsHalf: 1,
LivingArea: 1890,
LotSizeSquareFeet: 7400,
YearBuilt: 1987,
GarageYN: true,
GarageSpaces: 2,
CarportYN: false,
CarportSpaces: 1,
OpenParkingYN: true,
OpenParkingSpaces: 2,
AssociationYN: true,
AssociationFee: 55,
AssociationFeeFrequency: 'Monthly',
SeniorCommunityYN: false,
PoolPrivateYN: false,
SpaYN: false,
WaterSource: ['Public'],
Sewer: ['Public Sewer'],
MortgagePayoff: 112500,
OccupantType: 'Owner',
TotalActualRent: 2400,
LeaseExpiration: '2026-12-31',
OccupancyAtClosing: 'Vacant',
roof_age: 9,
waterheater_age: 6,
hvac_age: 7,
rehab_type: 'Light Rehab',
Notes: 'This is a note about the property.',
EstimatedRenovation: 18000
},
media: ['https://picsum.photos/200']
})
};
fetch('https://v2.easystreetoffers.com/api/v2/offer-requests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://v2.easystreetoffers.com/api/v2/offer-requests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'request' => [
'offer_request_asking' => 3900000,
'test' => true
],
'property' => [
'UnparsedAddress' => '123 Easy St, Easy, CA 12345',
'ListAgentEmail' => 'Agent@gmail.com',
'ListAgentFirstName' => 'First Name',
'ListAgentLastName' => 'Last Name',
'ListAgentDirectPhone' => '+15551234567',
'PropertyCondition' => 'Needs Minor Aesthetic Repairs',
'MlsStatus' => 'Off-market',
'PropertySubType' => 'Single Family Residence',
'ConstructionMaterials' => [
'Brick',
'Wood Siding'
],
'BedroomsTotal' => 4,
'BathroomsFull' => 2,
'BathroomsHalf' => 1,
'LivingArea' => 1890,
'LotSizeSquareFeet' => 7400,
'YearBuilt' => 1987,
'GarageYN' => true,
'GarageSpaces' => 2,
'CarportYN' => false,
'CarportSpaces' => 1,
'OpenParkingYN' => true,
'OpenParkingSpaces' => 2,
'AssociationYN' => true,
'AssociationFee' => 55,
'AssociationFeeFrequency' => 'Monthly',
'SeniorCommunityYN' => false,
'PoolPrivateYN' => false,
'SpaYN' => false,
'WaterSource' => [
'Public'
],
'Sewer' => [
'Public Sewer'
],
'MortgagePayoff' => 112500,
'OccupantType' => 'Owner',
'TotalActualRent' => 2400,
'LeaseExpiration' => '2026-12-31',
'OccupancyAtClosing' => 'Vacant',
'roof_age' => 9,
'waterheater_age' => 6,
'hvac_age' => 7,
'rehab_type' => 'Light Rehab',
'Notes' => 'This is a note about the property.',
'EstimatedRenovation' => 18000
],
'media' => [
'https://picsum.photos/200'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://v2.easystreetoffers.com/api/v2/offer-requests"
payload := strings.NewReader("{\n \"request\": {\n \"offer_request_asking\": 3900000,\n \"test\": true\n },\n \"property\": {\n \"UnparsedAddress\": \"123 Easy St, Easy, CA 12345\",\n \"ListAgentEmail\": \"Agent@gmail.com\",\n \"ListAgentFirstName\": \"First Name\",\n \"ListAgentLastName\": \"Last Name\",\n \"ListAgentDirectPhone\": \"+15551234567\",\n \"PropertyCondition\": \"Needs Minor Aesthetic Repairs\",\n \"MlsStatus\": \"Off-market\",\n \"PropertySubType\": \"Single Family Residence\",\n \"ConstructionMaterials\": [\n \"Brick\",\n \"Wood Siding\"\n ],\n \"BedroomsTotal\": 4,\n \"BathroomsFull\": 2,\n \"BathroomsHalf\": 1,\n \"LivingArea\": 1890,\n \"LotSizeSquareFeet\": 7400,\n \"YearBuilt\": 1987,\n \"GarageYN\": true,\n \"GarageSpaces\": 2,\n \"CarportYN\": false,\n \"CarportSpaces\": 1,\n \"OpenParkingYN\": true,\n \"OpenParkingSpaces\": 2,\n \"AssociationYN\": true,\n \"AssociationFee\": 55,\n \"AssociationFeeFrequency\": \"Monthly\",\n \"SeniorCommunityYN\": false,\n \"PoolPrivateYN\": false,\n \"SpaYN\": false,\n \"WaterSource\": [\n \"Public\"\n ],\n \"Sewer\": [\n \"Public Sewer\"\n ],\n \"MortgagePayoff\": 112500,\n \"OccupantType\": \"Owner\",\n \"TotalActualRent\": 2400,\n \"LeaseExpiration\": \"2026-12-31\",\n \"OccupancyAtClosing\": \"Vacant\",\n \"roof_age\": 9,\n \"waterheater_age\": 6,\n \"hvac_age\": 7,\n \"rehab_type\": \"Light Rehab\",\n \"Notes\": \"This is a note about the property.\",\n \"EstimatedRenovation\": 18000\n },\n \"media\": [\n \"https://picsum.photos/200\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://v2.easystreetoffers.com/api/v2/offer-requests")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"request\": {\n \"offer_request_asking\": 3900000,\n \"test\": true\n },\n \"property\": {\n \"UnparsedAddress\": \"123 Easy St, Easy, CA 12345\",\n \"ListAgentEmail\": \"Agent@gmail.com\",\n \"ListAgentFirstName\": \"First Name\",\n \"ListAgentLastName\": \"Last Name\",\n \"ListAgentDirectPhone\": \"+15551234567\",\n \"PropertyCondition\": \"Needs Minor Aesthetic Repairs\",\n \"MlsStatus\": \"Off-market\",\n \"PropertySubType\": \"Single Family Residence\",\n \"ConstructionMaterials\": [\n \"Brick\",\n \"Wood Siding\"\n ],\n \"BedroomsTotal\": 4,\n \"BathroomsFull\": 2,\n \"BathroomsHalf\": 1,\n \"LivingArea\": 1890,\n \"LotSizeSquareFeet\": 7400,\n \"YearBuilt\": 1987,\n \"GarageYN\": true,\n \"GarageSpaces\": 2,\n \"CarportYN\": false,\n \"CarportSpaces\": 1,\n \"OpenParkingYN\": true,\n \"OpenParkingSpaces\": 2,\n \"AssociationYN\": true,\n \"AssociationFee\": 55,\n \"AssociationFeeFrequency\": \"Monthly\",\n \"SeniorCommunityYN\": false,\n \"PoolPrivateYN\": false,\n \"SpaYN\": false,\n \"WaterSource\": [\n \"Public\"\n ],\n \"Sewer\": [\n \"Public Sewer\"\n ],\n \"MortgagePayoff\": 112500,\n \"OccupantType\": \"Owner\",\n \"TotalActualRent\": 2400,\n \"LeaseExpiration\": \"2026-12-31\",\n \"OccupancyAtClosing\": \"Vacant\",\n \"roof_age\": 9,\n \"waterheater_age\": 6,\n \"hvac_age\": 7,\n \"rehab_type\": \"Light Rehab\",\n \"Notes\": \"This is a note about the property.\",\n \"EstimatedRenovation\": 18000\n },\n \"media\": [\n \"https://picsum.photos/200\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://v2.easystreetoffers.com/api/v2/offer-requests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"request\": {\n \"offer_request_asking\": 3900000,\n \"test\": true\n },\n \"property\": {\n \"UnparsedAddress\": \"123 Easy St, Easy, CA 12345\",\n \"ListAgentEmail\": \"Agent@gmail.com\",\n \"ListAgentFirstName\": \"First Name\",\n \"ListAgentLastName\": \"Last Name\",\n \"ListAgentDirectPhone\": \"+15551234567\",\n \"PropertyCondition\": \"Needs Minor Aesthetic Repairs\",\n \"MlsStatus\": \"Off-market\",\n \"PropertySubType\": \"Single Family Residence\",\n \"ConstructionMaterials\": [\n \"Brick\",\n \"Wood Siding\"\n ],\n \"BedroomsTotal\": 4,\n \"BathroomsFull\": 2,\n \"BathroomsHalf\": 1,\n \"LivingArea\": 1890,\n \"LotSizeSquareFeet\": 7400,\n \"YearBuilt\": 1987,\n \"GarageYN\": true,\n \"GarageSpaces\": 2,\n \"CarportYN\": false,\n \"CarportSpaces\": 1,\n \"OpenParkingYN\": true,\n \"OpenParkingSpaces\": 2,\n \"AssociationYN\": true,\n \"AssociationFee\": 55,\n \"AssociationFeeFrequency\": \"Monthly\",\n \"SeniorCommunityYN\": false,\n \"PoolPrivateYN\": false,\n \"SpaYN\": false,\n \"WaterSource\": [\n \"Public\"\n ],\n \"Sewer\": [\n \"Public Sewer\"\n ],\n \"MortgagePayoff\": 112500,\n \"OccupantType\": \"Owner\",\n \"TotalActualRent\": 2400,\n \"LeaseExpiration\": \"2026-12-31\",\n \"OccupancyAtClosing\": \"Vacant\",\n \"roof_age\": 9,\n \"waterheater_age\": 6,\n \"hvac_age\": 7,\n \"rehab_type\": \"Light Rehab\",\n \"Notes\": \"This is a note about the property.\",\n \"EstimatedRenovation\": 18000\n },\n \"media\": [\n \"https://picsum.photos/200\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"offer_request_asking": 123,
"offer_request_status": "active",
"offer_requested_at": "now()",
"offer_requested_decided_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offer_request_is_mls": true,
"offer_request_deal_type": "<string>",
"offer_request_expires_at": "<string>",
"offer_request_is_approved": true,
"offer_request_decided_at": "<string>",
"offer_request_viewed_at": "<string>",
"offer_request_refreshed_at": "<string>",
"inventory_property_id": 123,
"test": true
}{
"error": 123,
"message": "<string>"
}Authorizations
Body
application/json
New offer request
Show child attributes
Show child attributes
property fields named with Pascal Case convention follow the RESO 2.0 standard
Show child attributes
Show child attributes
Analyst assumptions. Only available to buyers
Show child attributes
Show child attributes
List of signed URLs. Note that the URLs will become invalid after 10 minutes.
Response
successful request
Asking price for the property
Offer request statuses:
in_submission- Offer request is incomplete.initial_offer- Offer request has complete property details, and has received an instant preview offer, but not yet submitted to the marketplace.active- Offer request is active in the marketplace and receiving cash offers.expired- Offer request has expired and is ready to be renewed.denied- Offer request does not meet our criteria, and has been denied.under_contract- Offer request is currently under contract with a buyer.closed- Offer request has successfully closed after previously being under_contract.processing- Offer request is currently retrieving property data or buyer filtering is occurring.
Available options:
in_submission, initial_offer, active, expired, denied, under_contract, closed, processing Example:
"active"
timestamp with time zone
Is the property for the offer request listed on MLS
timestamp with time zone
Field is true after we have approved the offer request to be sent to buyers.
timestamp with time zone
timestamp with time zone
timestamp with time zone
Used to uniquely identify the property in our system. Can safely ignore
set to true s