Create a draft deal
curl --request POST \
--url https://api.investorlift.com/marketplace/v1/sell/drafts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"address": {
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"county": "<string>",
"place_id": "<string>",
"formatted_address": "<string>",
"latitude": 0,
"longitude": 0
}
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
address: {
street: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>',
county: '<string>',
place_id: '<string>',
formatted_address: '<string>',
latitude: 0,
longitude: 0
}
})
};
fetch('https://api.investorlift.com/marketplace/v1/sell/drafts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/marketplace/v1/sell/drafts"
payload = { "address": {
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"county": "<string>",
"place_id": "<string>",
"formatted_address": "<string>",
"latitude": 0,
"longitude": 0
} }
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "<string>",
"status": "draft",
"asset_type": "<string>",
"address": {
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"county": "<string>",
"place_id": "<string>",
"formatted_address": "<string>",
"latitude": 0,
"longitude": 0
},
"basics": {
"property_type": "single_family",
"beds": 50,
"baths": 50,
"half_baths": 50,
"sq_footage": 4503599627370495,
"year_built": 1900,
"parking_type": "attached_garage",
"lot_size": 1,
"lot_size_unit": "sqft"
},
"price": {
"asking_price": 4503599627370496,
"entry_fee": 4503599627370496,
"purchase_price": 4503599627370496,
"min_emd": 4503599627370495
},
"value": {
"arv_estimate": 4503599627370495,
"arv_is_override": true,
"condition": "FULL_GUT",
"repair_estimate_min": 4503599627370495,
"repair_estimate_max": 4503599627370495,
"repairs_stated_by_seller": true,
"repair_scope_description": "<string>",
"repair_scope_public": true
},
"description": "<string>",
"media": [
{
"id": "<string>",
"kind": "image",
"url": "<string>",
"filename": "<string>",
"size_bytes": 0,
"content_type": "<string>",
"order": 0,
"is_default": true
}
],
"documents": [
{
"id": "<string>",
"type": "<string>",
"filename": "<string>",
"size_bytes": 0,
"content_type": "<string>"
}
],
"contract": {
"filename": "<string>",
"content_type": "<string>",
"size_bytes": 0,
"uploaded_at": "2023-11-07T05:31:56Z",
"extraction_confidence": "<string>",
"property_address": "<string>",
"purchase_price": 0
},
"disposition_manager_id": "<string>",
"ready_to_publish": true,
"incomplete_reason": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"meta": {
"request_id": "<string>",
"api_version": "<string>"
}
}{
"type": "https://developers.investorlift.com/marketplace/errors#invalid_body",
"title": "Body unusable",
"status": 400,
"code": "invalid_body",
"detail": "<string>",
"recovery": "Send a JSON body with the content type application/json.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#unauthorized",
"title": "Not authenticated",
"status": 401,
"code": "unauthorized",
"detail": "<string>",
"recovery": "Send a current access token for this API, and start a new authorization when the token is expired.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#designation_required",
"title": "Designation missing",
"status": 403,
"code": "designation_required",
"detail": "<string>",
"recovery": "Finish the onboarding of the side you call, then repeat the call.",
"request_id": "<string>",
"designation": "seller"
}{
"type": "https://developers.investorlift.com/marketplace/errors#method_not_allowed",
"title": "Method not allowed",
"status": 405,
"code": "method_not_allowed",
"detail": "<string>",
"recovery": "Use one of the methods the documentation lists for this path.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#address_unavailable",
"title": "Address taken",
"status": 409,
"code": "address_unavailable",
"detail": "<string>",
"recovery": "Wait for the other deal on this address to close, or publish a different property.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#validation_failed",
"title": "Body failed validation",
"status": 422,
"code": "validation_failed",
"detail": "<string>",
"recovery": "Correct each field the detail names, then repeat the call.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#cap_reached",
"title": "Cap reached",
"status": 429,
"code": "cap_reached",
"detail": "<string>",
"recovery": "Wait for the time in Retry-After, or raise your trust tier with the step in GET /me.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#origin_error",
"title": "Service unavailable",
"status": 503,
"code": "origin_error",
"detail": "<string>",
"recovery": "Repeat the call in a minute, and tell Investorlift support when the answer stays the same.",
"request_id": "<string>"
}sell
Create a draft deal
Creates a draft deal at one address and fills the sections the body carries. The address check is advisory: a draft holds no slot, and the lock applies at publish. An address another organization holds answers 409 and names no owner.
POST
/
sell
/
drafts
Create a draft deal
curl --request POST \
--url https://api.investorlift.com/marketplace/v1/sell/drafts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"address": {
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"county": "<string>",
"place_id": "<string>",
"formatted_address": "<string>",
"latitude": 0,
"longitude": 0
}
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
address: {
street: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>',
county: '<string>',
place_id: '<string>',
formatted_address: '<string>',
latitude: 0,
longitude: 0
}
})
};
fetch('https://api.investorlift.com/marketplace/v1/sell/drafts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/marketplace/v1/sell/drafts"
payload = { "address": {
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"county": "<string>",
"place_id": "<string>",
"formatted_address": "<string>",
"latitude": 0,
"longitude": 0
} }
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "<string>",
"status": "draft",
"asset_type": "<string>",
"address": {
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"county": "<string>",
"place_id": "<string>",
"formatted_address": "<string>",
"latitude": 0,
"longitude": 0
},
"basics": {
"property_type": "single_family",
"beds": 50,
"baths": 50,
"half_baths": 50,
"sq_footage": 4503599627370495,
"year_built": 1900,
"parking_type": "attached_garage",
"lot_size": 1,
"lot_size_unit": "sqft"
},
"price": {
"asking_price": 4503599627370496,
"entry_fee": 4503599627370496,
"purchase_price": 4503599627370496,
"min_emd": 4503599627370495
},
"value": {
"arv_estimate": 4503599627370495,
"arv_is_override": true,
"condition": "FULL_GUT",
"repair_estimate_min": 4503599627370495,
"repair_estimate_max": 4503599627370495,
"repairs_stated_by_seller": true,
"repair_scope_description": "<string>",
"repair_scope_public": true
},
"description": "<string>",
"media": [
{
"id": "<string>",
"kind": "image",
"url": "<string>",
"filename": "<string>",
"size_bytes": 0,
"content_type": "<string>",
"order": 0,
"is_default": true
}
],
"documents": [
{
"id": "<string>",
"type": "<string>",
"filename": "<string>",
"size_bytes": 0,
"content_type": "<string>"
}
],
"contract": {
"filename": "<string>",
"content_type": "<string>",
"size_bytes": 0,
"uploaded_at": "2023-11-07T05:31:56Z",
"extraction_confidence": "<string>",
"property_address": "<string>",
"purchase_price": 0
},
"disposition_manager_id": "<string>",
"ready_to_publish": true,
"incomplete_reason": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"meta": {
"request_id": "<string>",
"api_version": "<string>"
}
}{
"type": "https://developers.investorlift.com/marketplace/errors#invalid_body",
"title": "Body unusable",
"status": 400,
"code": "invalid_body",
"detail": "<string>",
"recovery": "Send a JSON body with the content type application/json.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#unauthorized",
"title": "Not authenticated",
"status": 401,
"code": "unauthorized",
"detail": "<string>",
"recovery": "Send a current access token for this API, and start a new authorization when the token is expired.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#designation_required",
"title": "Designation missing",
"status": 403,
"code": "designation_required",
"detail": "<string>",
"recovery": "Finish the onboarding of the side you call, then repeat the call.",
"request_id": "<string>",
"designation": "seller"
}{
"type": "https://developers.investorlift.com/marketplace/errors#method_not_allowed",
"title": "Method not allowed",
"status": 405,
"code": "method_not_allowed",
"detail": "<string>",
"recovery": "Use one of the methods the documentation lists for this path.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#address_unavailable",
"title": "Address taken",
"status": 409,
"code": "address_unavailable",
"detail": "<string>",
"recovery": "Wait for the other deal on this address to close, or publish a different property.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#validation_failed",
"title": "Body failed validation",
"status": 422,
"code": "validation_failed",
"detail": "<string>",
"recovery": "Correct each field the detail names, then repeat the call.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#cap_reached",
"title": "Cap reached",
"status": 429,
"code": "cap_reached",
"detail": "<string>",
"recovery": "Wait for the time in Retry-After, or raise your trust tier with the step in GET /me.",
"request_id": "<string>"
}{
"type": "https://developers.investorlift.com/marketplace/errors#origin_error",
"title": "Service unavailable",
"status": 503,
"code": "origin_error",
"detail": "<string>",
"recovery": "Repeat the call in a minute, and tell Investorlift support when the answer stays the same.",
"request_id": "<string>"
}Authorizations
Authorization code with PKCE. The person grants the scopes on the Investorlift consent page and accepts the Marketplace API Terms there.
Headers
A key of your own that names this attempt. The same key with the same body replays the stored answer.
Required string length:
1 - 255Body
application/json
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Required string length:
8 - 300000A member of the organization, as mbr_. The caller by default.
Minimum string length:
1Was this page helpful?