Create a referral request
Create a single standalone referral request.
Sends an email and/or SMS notification to the customer requesting a referral.
Requires the enableStandaloneReferralBooster feature to be enabled.
curl --request POST \
--url https://www.renovationfind.com/rest-api-v1/referral-requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "John",
"lastName": "Doe",
"emailTo": "john@example.com",
"phone": "5551234567",
"sendGift": false,
"renewal": false
}
'import requests
url = "https://www.renovationfind.com/rest-api-v1/referral-requests"
payload = {
"firstName": "John",
"lastName": "Doe",
"emailTo": "john@example.com",
"phone": "5551234567",
"sendGift": False,
"renewal": False
}
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({
firstName: 'John',
lastName: 'Doe',
emailTo: 'john@example.com',
phone: '5551234567',
sendGift: false,
renewal: false
})
};
fetch('https://www.renovationfind.com/rest-api-v1/referral-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://www.renovationfind.com/rest-api-v1/referral-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([
'firstName' => 'John',
'lastName' => 'Doe',
'emailTo' => 'john@example.com',
'phone' => '5551234567',
'sendGift' => false,
'renewal' => false
]),
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://www.renovationfind.com/rest-api-v1/referral-requests"
payload := strings.NewReader("{\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"emailTo\": \"john@example.com\",\n \"phone\": \"5551234567\",\n \"sendGift\": false,\n \"renewal\": false\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://www.renovationfind.com/rest-api-v1/referral-requests")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"emailTo\": \"john@example.com\",\n \"phone\": \"5551234567\",\n \"sendGift\": false,\n \"renewal\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.renovationfind.com/rest-api-v1/referral-requests")
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 \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"emailTo\": \"john@example.com\",\n \"phone\": \"5551234567\",\n \"sendGift\": false,\n \"renewal\": false\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Duplicate request detected. Skipped."
}{
"success": true,
"message": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "Rate limit exceeded. Maximum 250 requests per 5 minutes. Please retry later."
}Authorizations
JWT token issued from the RenovationFind Manager Portal
Query Parameters
If true, silently skips when a duplicate email/phone already exists for this vendor.
Body
At least one of emailTo or phone must be provided.
Phone numbers are automatically normalized to xxx-xxx-xxxx format.
First name of the customer
"John"
Last name of the customer
"Doe"
Customer email address. At least one of emailTo or phone is required.
"john@example.com"
Customer phone number. At least one of emailTo or phone is required. Automatically normalized to xxx-xxx-xxxx.
"5551234567"
Whether to send a gift with the referral request
Whether this is a renewal referral request
curl --request POST \
--url https://www.renovationfind.com/rest-api-v1/referral-requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "John",
"lastName": "Doe",
"emailTo": "john@example.com",
"phone": "5551234567",
"sendGift": false,
"renewal": false
}
'import requests
url = "https://www.renovationfind.com/rest-api-v1/referral-requests"
payload = {
"firstName": "John",
"lastName": "Doe",
"emailTo": "john@example.com",
"phone": "5551234567",
"sendGift": False,
"renewal": False
}
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({
firstName: 'John',
lastName: 'Doe',
emailTo: 'john@example.com',
phone: '5551234567',
sendGift: false,
renewal: false
})
};
fetch('https://www.renovationfind.com/rest-api-v1/referral-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://www.renovationfind.com/rest-api-v1/referral-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([
'firstName' => 'John',
'lastName' => 'Doe',
'emailTo' => 'john@example.com',
'phone' => '5551234567',
'sendGift' => false,
'renewal' => false
]),
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://www.renovationfind.com/rest-api-v1/referral-requests"
payload := strings.NewReader("{\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"emailTo\": \"john@example.com\",\n \"phone\": \"5551234567\",\n \"sendGift\": false,\n \"renewal\": false\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://www.renovationfind.com/rest-api-v1/referral-requests")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"emailTo\": \"john@example.com\",\n \"phone\": \"5551234567\",\n \"sendGift\": false,\n \"renewal\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.renovationfind.com/rest-api-v1/referral-requests")
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 \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"emailTo\": \"john@example.com\",\n \"phone\": \"5551234567\",\n \"sendGift\": false,\n \"renewal\": false\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Duplicate request detected. Skipped."
}{
"success": true,
"message": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "Rate limit exceeded. Maximum 250 requests per 5 minutes. Please retry later."
}
