Create an RFP
curl --request POST \
--globoff \
--url 'https://api.proposales.com/v1/inbox/[token]' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"company_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"message": "<string>",
"language": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"is_test": "<string>",
"silent_confirmation": "<string>"
}
'import requests
url = "https://api.proposales.com/v1/inbox/[token]"
payload = {
"email": "<string>",
"company_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"message": "<string>",
"language": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"is_test": "<string>",
"silent_confirmation": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
company_name: '<string>',
first_name: '<string>',
last_name: '<string>',
phone_number: '<string>',
message: '<string>',
language: '<string>',
start_date: '<string>',
end_date: '<string>',
is_test: '<string>',
silent_confirmation: '<string>'
})
};
fetch('https://api.proposales.com/v1/inbox/[token]', 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://api.proposales.com/v1/inbox/[token]",
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([
'email' => '<string>',
'company_name' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'phone_number' => '<string>',
'message' => '<string>',
'language' => '<string>',
'start_date' => '<string>',
'end_date' => '<string>',
'is_test' => '<string>',
'silent_confirmation' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.proposales.com/v1/inbox/[token]"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"company_name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"message\": \"<string>\",\n \"language\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"is_test\": \"<string>\",\n \"silent_confirmation\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.proposales.com/v1/inbox/[token]")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"company_name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"message\": \"<string>\",\n \"language\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"is_test\": \"<string>\",\n \"silent_confirmation\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.proposales.com/v1/inbox/[token]")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"company_name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"message\": \"<string>\",\n \"language\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"is_test\": \"<string>\",\n \"silent_confirmation\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123
}Proposals
Create an RFP
Creates a request for a proposal.
POST
/
v1
/
inbox
/
[token]
Create an RFP
curl --request POST \
--globoff \
--url 'https://api.proposales.com/v1/inbox/[token]' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"company_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"message": "<string>",
"language": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"is_test": "<string>",
"silent_confirmation": "<string>"
}
'import requests
url = "https://api.proposales.com/v1/inbox/[token]"
payload = {
"email": "<string>",
"company_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"message": "<string>",
"language": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"is_test": "<string>",
"silent_confirmation": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
company_name: '<string>',
first_name: '<string>',
last_name: '<string>',
phone_number: '<string>',
message: '<string>',
language: '<string>',
start_date: '<string>',
end_date: '<string>',
is_test: '<string>',
silent_confirmation: '<string>'
})
};
fetch('https://api.proposales.com/v1/inbox/[token]', 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://api.proposales.com/v1/inbox/[token]",
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([
'email' => '<string>',
'company_name' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'phone_number' => '<string>',
'message' => '<string>',
'language' => '<string>',
'start_date' => '<string>',
'end_date' => '<string>',
'is_test' => '<string>',
'silent_confirmation' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.proposales.com/v1/inbox/[token]"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"company_name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"message\": \"<string>\",\n \"language\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"is_test\": \"<string>\",\n \"silent_confirmation\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.proposales.com/v1/inbox/[token]")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"company_name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"message\": \"<string>\",\n \"language\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"is_test\": \"<string>\",\n \"silent_confirmation\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.proposales.com/v1/inbox/[token]")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"company_name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"message\": \"<string>\",\n \"language\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"is_test\": \"<string>\",\n \"silent_confirmation\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123
}This is a public endpoint and does not require an API token. Do not send the Settings → Profile API key as the path token, and do not expect the
Authorization header to select a company. Data can be sent as application/json, application/x-www-form-urlencoded or multipart/form-data. The parameters listed below are treated specially, but arbitrary form data can be passed and will be associated with the proposal as metadata.
Path
string
required
The company inbox token. Read
inbox_token from
GET /v3/companies. That call uses
Authorization: Bearer <api_key>.If inbox_token is null, the company has no inbox. Create RFP cannot be
used until inbox is enabled. An unknown token, or a company with no inbox,
returns 404.Body
string
required
A confirmation email will be sent to this address.
string
string
string
string
string
Displayed in the request excerpt.
string
Determines the language of the confirmation email. Falls back to using the
accept-language header of the request. In ISO 639 Set 1 format.string
Start date of the event, in ISO 8601 format.
string
End date of the event, in ISO 8601 format.
string
If any data is passed via this parameter, the RFP is considered a test.
string
If any data is passed via this parameter, the confirmation email will not be sent to the user.
Response
number
The ID of the RFP.