Publish a draft as a deal
curl --request POST \
--url https://api.investorlift.com/marketplace/v1/sell/drafts/{draft_id}/publish \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"notify_buyers": true,
"disposition_manager_id": "<string>"
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({notify_buyers: true, disposition_manager_id: '<string>'})
};
fetch('https://api.investorlift.com/marketplace/v1/sell/drafts/{draft_id}/publish', 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/{draft_id}/publish"
payload = {
"notify_buyers": True,
"disposition_manager_id": "<string>"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"deal_id": "<string>",
"fee": 0,
"status": "available"
},
"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#insufficient_balance",
"title": "Balance too low",
"status": 402,
"code": "insufficient_balance",
"detail": "<string>",
"recovery": "Add credits to the organization on Investorlift, then publish the draft again.",
"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#not_found",
"title": "Not found",
"status": 404,
"code": "not_found",
"detail": "<string>",
"recovery": "Check the id, and check that the account you call with owns the resource.",
"request_id": "<string>"
}{
"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#deal_incomplete",
"title": "Draft incomplete",
"status": 422,
"code": "deal_incomplete",
"detail": "<string>",
"recovery": "Add each field the detail names to the draft, then publish it again.",
"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
Publish a draft as a deal
Checks the draft, checks the credit balance, locks the address and creates the deal as available. The publish spends credits and needs the acquisition contract, as the app does. The API charges no card.
POST
/
sell
/
drafts
/
{draft_id}
/
publish
Publish a draft as a deal
curl --request POST \
--url https://api.investorlift.com/marketplace/v1/sell/drafts/{draft_id}/publish \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"notify_buyers": true,
"disposition_manager_id": "<string>"
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({notify_buyers: true, disposition_manager_id: '<string>'})
};
fetch('https://api.investorlift.com/marketplace/v1/sell/drafts/{draft_id}/publish', 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/{draft_id}/publish"
payload = {
"notify_buyers": True,
"disposition_manager_id": "<string>"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"deal_id": "<string>",
"fee": 0,
"status": "available"
},
"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#insufficient_balance",
"title": "Balance too low",
"status": 402,
"code": "insufficient_balance",
"detail": "<string>",
"recovery": "Add credits to the organization on Investorlift, then publish the draft again.",
"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#not_found",
"title": "Not found",
"status": 404,
"code": "not_found",
"detail": "<string>",
"recovery": "Check the id, and check that the account you call with owns the resource.",
"request_id": "<string>"
}{
"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#deal_incomplete",
"title": "Draft incomplete",
"status": 422,
"code": "deal_incomplete",
"detail": "<string>",
"recovery": "Add each field the detail names to the draft, then publish it again.",
"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 - 255Path Parameters
The public id in the path, for example draft_id as mdl_a1b2c3d4e5f6.
Body
application/json
Was this page helpful?