curl --request POST \
--url https://api.investorlift.com/marketplace/v1/buy/deals/{deal_id}/inquiries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"message": "<string>"
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({message: '<string>'})
};
fetch('https://api.investorlift.com/marketplace/v1/buy/deals/{deal_id}/inquiries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/marketplace/v1/buy/deals/{deal_id}/inquiries"
payload = { "message": "<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": {
"id": "<string>",
"deal_id": "<string>",
"type": "inquiry",
"message": "<string>",
"address_state": "requested",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"address": "<string>",
"buyer": {
"buyer_id": "<string>",
"name": "<string>",
"entity_name": "<string>",
"email": "<string>",
"phone": "<string>",
"phone_type": "<string>"
}
},
"meta": {
"request_id": "<string>",
"api_version": "<string>"
}
}{
"data": {
"id": "<string>",
"deal_id": "<string>",
"type": "inquiry",
"message": "<string>",
"address_state": "requested",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"address": "<string>",
"buyer": {
"buyer_id": "<string>",
"name": "<string>",
"entity_name": "<string>",
"email": "<string>",
"phone": "<string>",
"phone_type": "<string>"
}
},
"meta": {
"request_id": "<string>",
"api_version": "<string>"
}
}{
"data": {
"status": "held",
"kind": "offer",
"hold_id": "<string>",
"held_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#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#agreement_required",
"title": "Agreement required",
"status": 409,
"code": "agreement_required",
"detail": "<string>",
"recovery": "<string>",
"request_id": "<string>",
"agreement": {
"id": "<string>",
"url": "<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>"
}Ask the seller a question or ask for the address
Sends one message to the seller of a deal. The API removes every phone number, email address and link from the message, and takes 500 characters. One inquiry and one address request per deal per 24 hours reach the seller. An address request needs a recorded Non-Circumvention Agreement for the organization of the buyer. Without one, the API answers 409 agreement_required with the agreement id and its URL. Show the agreement to the person, then send the id in accept_agreement. The API answers 201 for a new row, and 200 for a row that exists already. The hold queue can take this write, and the API then answers 202.
curl --request POST \
--url https://api.investorlift.com/marketplace/v1/buy/deals/{deal_id}/inquiries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"message": "<string>"
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({message: '<string>'})
};
fetch('https://api.investorlift.com/marketplace/v1/buy/deals/{deal_id}/inquiries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/marketplace/v1/buy/deals/{deal_id}/inquiries"
payload = { "message": "<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": {
"id": "<string>",
"deal_id": "<string>",
"type": "inquiry",
"message": "<string>",
"address_state": "requested",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"address": "<string>",
"buyer": {
"buyer_id": "<string>",
"name": "<string>",
"entity_name": "<string>",
"email": "<string>",
"phone": "<string>",
"phone_type": "<string>"
}
},
"meta": {
"request_id": "<string>",
"api_version": "<string>"
}
}{
"data": {
"id": "<string>",
"deal_id": "<string>",
"type": "inquiry",
"message": "<string>",
"address_state": "requested",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"address": "<string>",
"buyer": {
"buyer_id": "<string>",
"name": "<string>",
"entity_name": "<string>",
"email": "<string>",
"phone": "<string>",
"phone_type": "<string>"
}
},
"meta": {
"request_id": "<string>",
"api_version": "<string>"
}
}{
"data": {
"status": "held",
"kind": "offer",
"hold_id": "<string>",
"held_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#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#agreement_required",
"title": "Agreement required",
"status": 409,
"code": "agreement_required",
"detail": "<string>",
"recovery": "<string>",
"request_id": "<string>",
"agreement": {
"id": "<string>",
"url": "<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.
1 - 255Path Parameters
The public id in the path, for example deal_id as mdl_a1b2c3d4e5f6.
Body
An inquiry or an address request.
inquiry, address_request The message for the seller. The API removes every contact detail from it.
1 - 500Accept the Non-Circumvention Agreement with the address request.
Show child attributes
Show child attributes
Was this page helpful?