Capture a Lead
curl --request POST \
--url https://prod-api.raisedonors.com/api/Raise/lead \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"isTestMode": true,
"donor": {
"firstName": "<string>",
"lastName": "<string>",
"id": 123,
"title": "<string>",
"middleName": "<string>",
"suffix": "<string>",
"email": "jsmith@example.com",
"noEmailAddress": true,
"phone": "<string>",
"phoneOptIn": true,
"phoneCountryCode": "<string>",
"notes": "<string>",
"isOrganization": true,
"organizationName": "<string>",
"crmKey": "<string>",
"crmKeys": {},
"billingAddress": {
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postal": "<string>",
"countryString": "<string>"
},
"shippingAddress": {
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postal": "<string>",
"countryString": "<string>"
},
"emailLists": [
"<string>"
]
},
"emailLists": [
"<string>"
],
"customFields": [
{
"customFieldId": 123,
"value": "<string>"
}
],
"customCollections": [
{
"customCollectionId": 123,
"customFieldResponses": [
{
"customFieldId": 123,
"value": "<string>"
}
]
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
isTestMode: true,
donor: {
firstName: '<string>',
lastName: '<string>',
id: 123,
title: '<string>',
middleName: '<string>',
suffix: '<string>',
email: 'jsmith@example.com',
noEmailAddress: true,
phone: '<string>',
phoneOptIn: true,
phoneCountryCode: '<string>',
notes: '<string>',
isOrganization: true,
organizationName: '<string>',
crmKey: '<string>',
crmKeys: {},
billingAddress: {
address1: '<string>',
address2: '<string>',
city: '<string>',
state: '<string>',
postal: '<string>',
countryString: '<string>'
},
shippingAddress: {
address1: '<string>',
address2: '<string>',
city: '<string>',
state: '<string>',
postal: '<string>',
countryString: '<string>'
},
emailLists: ['<string>']
},
emailLists: ['<string>'],
customFields: [{customFieldId: 123, value: '<string>'}],
customCollections: [
{
customCollectionId: 123,
customFieldResponses: [{customFieldId: 123, value: '<string>'}]
}
]
})
};
fetch('https://prod-api.raisedonors.com/api/Raise/lead', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Raise/lead"
payload = {
"isTestMode": True,
"donor": {
"firstName": "<string>",
"lastName": "<string>",
"id": 123,
"title": "<string>",
"middleName": "<string>",
"suffix": "<string>",
"email": "jsmith@example.com",
"noEmailAddress": True,
"phone": "<string>",
"phoneOptIn": True,
"phoneCountryCode": "<string>",
"notes": "<string>",
"isOrganization": True,
"organizationName": "<string>",
"crmKey": "<string>",
"crmKeys": {},
"billingAddress": {
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postal": "<string>",
"countryString": "<string>"
},
"shippingAddress": {
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postal": "<string>",
"countryString": "<string>"
},
"emailLists": ["<string>"]
},
"emailLists": ["<string>"],
"customFields": [
{
"customFieldId": 123,
"value": "<string>"
}
],
"customCollections": [
{
"customCollectionId": 123,
"customFieldResponses": [
{
"customFieldId": 123,
"value": "<string>"
}
]
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Raise/lead");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
request.AddJsonBody("{\n \"isTestMode\": true,\n \"donor\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"id\": 123,\n \"title\": \"<string>\",\n \"middleName\": \"<string>\",\n \"suffix\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"noEmailAddress\": true,\n \"phone\": \"<string>\",\n \"phoneOptIn\": true,\n \"phoneCountryCode\": \"<string>\",\n \"notes\": \"<string>\",\n \"isOrganization\": true,\n \"organizationName\": \"<string>\",\n \"crmKey\": \"<string>\",\n \"crmKeys\": {},\n \"billingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"shippingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"emailLists\": [\n \"<string>\"\n ]\n },\n \"emailLists\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ],\n \"customCollections\": [\n {\n \"customCollectionId\": 123,\n \"customFieldResponses\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ]\n }\n ]\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Raise/lead",
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([
'isTestMode' => true,
'donor' => [
'firstName' => '<string>',
'lastName' => '<string>',
'id' => 123,
'title' => '<string>',
'middleName' => '<string>',
'suffix' => '<string>',
'email' => 'jsmith@example.com',
'noEmailAddress' => true,
'phone' => '<string>',
'phoneOptIn' => true,
'phoneCountryCode' => '<string>',
'notes' => '<string>',
'isOrganization' => true,
'organizationName' => '<string>',
'crmKey' => '<string>',
'crmKeys' => [
],
'billingAddress' => [
'address1' => '<string>',
'address2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postal' => '<string>',
'countryString' => '<string>'
],
'shippingAddress' => [
'address1' => '<string>',
'address2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postal' => '<string>',
'countryString' => '<string>'
],
'emailLists' => [
'<string>'
]
],
'emailLists' => [
'<string>'
],
'customFields' => [
[
'customFieldId' => 123,
'value' => '<string>'
]
],
'customCollections' => [
[
'customCollectionId' => 123,
'customFieldResponses' => [
[
'customFieldId' => 123,
'value' => '<string>'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://prod-api.raisedonors.com/api/Raise/lead")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"isTestMode\": true,\n \"donor\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"id\": 123,\n \"title\": \"<string>\",\n \"middleName\": \"<string>\",\n \"suffix\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"noEmailAddress\": true,\n \"phone\": \"<string>\",\n \"phoneOptIn\": true,\n \"phoneCountryCode\": \"<string>\",\n \"notes\": \"<string>\",\n \"isOrganization\": true,\n \"organizationName\": \"<string>\",\n \"crmKey\": \"<string>\",\n \"crmKeys\": {},\n \"billingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"shippingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"emailLists\": [\n \"<string>\"\n ]\n },\n \"emailLists\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ],\n \"customCollections\": [\n {\n \"customCollectionId\": 123,\n \"customFieldResponses\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Raise/lead")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"isTestMode\": true,\n \"donor\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"id\": 123,\n \"title\": \"<string>\",\n \"middleName\": \"<string>\",\n \"suffix\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"noEmailAddress\": true,\n \"phone\": \"<string>\",\n \"phoneOptIn\": true,\n \"phoneCountryCode\": \"<string>\",\n \"notes\": \"<string>\",\n \"isOrganization\": true,\n \"organizationName\": \"<string>\",\n \"crmKey\": \"<string>\",\n \"crmKeys\": {},\n \"billingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"shippingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"emailLists\": [\n \"<string>\"\n ]\n },\n \"emailLists\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ],\n \"customCollections\": [\n {\n \"customCollectionId\": 123,\n \"customFieldResponses\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Raise/lead';
const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
isTestMode: true,
donor: {
firstName: '<string>',
lastName: '<string>',
id: 123,
title: '<string>',
middleName: '<string>',
suffix: '<string>',
email: 'jsmith@example.com',
noEmailAddress: true,
phone: '<string>',
phoneOptIn: true,
phoneCountryCode: '<string>',
notes: '<string>',
isOrganization: true,
organizationName: '<string>',
crmKey: '<string>',
crmKeys: {},
billingAddress: {
address1: '<string>',
address2: '<string>',
city: '<string>',
state: '<string>',
postal: '<string>',
countryString: '<string>'
},
shippingAddress: {
address1: '<string>',
address2: '<string>',
city: '<string>',
state: '<string>',
postal: '<string>',
countryString: '<string>'
},
emailLists: ['<string>']
},
emailLists: ['<string>'],
customFields: [{customFieldId: 123, value: '<string>'}],
customCollections: [
{
customCollectionId: 123,
customFieldResponses: [{customFieldId: 123, value: '<string>'}]
}
]
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "The Authorization header is missing, malformed, or carries a token that is expired or revoked.",
"instance": "/api/Raise/lead"
}Raise
Capture a Lead
Records a donor who submitted a page without making a payment, such as a newsletter or interest signup.
POST
https://prod-api.raisedonors.com
/
api
/
Raise
/
lead
Capture a Lead
curl --request POST \
--url https://prod-api.raisedonors.com/api/Raise/lead \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"isTestMode": true,
"donor": {
"firstName": "<string>",
"lastName": "<string>",
"id": 123,
"title": "<string>",
"middleName": "<string>",
"suffix": "<string>",
"email": "jsmith@example.com",
"noEmailAddress": true,
"phone": "<string>",
"phoneOptIn": true,
"phoneCountryCode": "<string>",
"notes": "<string>",
"isOrganization": true,
"organizationName": "<string>",
"crmKey": "<string>",
"crmKeys": {},
"billingAddress": {
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postal": "<string>",
"countryString": "<string>"
},
"shippingAddress": {
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postal": "<string>",
"countryString": "<string>"
},
"emailLists": [
"<string>"
]
},
"emailLists": [
"<string>"
],
"customFields": [
{
"customFieldId": 123,
"value": "<string>"
}
],
"customCollections": [
{
"customCollectionId": 123,
"customFieldResponses": [
{
"customFieldId": 123,
"value": "<string>"
}
]
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
isTestMode: true,
donor: {
firstName: '<string>',
lastName: '<string>',
id: 123,
title: '<string>',
middleName: '<string>',
suffix: '<string>',
email: 'jsmith@example.com',
noEmailAddress: true,
phone: '<string>',
phoneOptIn: true,
phoneCountryCode: '<string>',
notes: '<string>',
isOrganization: true,
organizationName: '<string>',
crmKey: '<string>',
crmKeys: {},
billingAddress: {
address1: '<string>',
address2: '<string>',
city: '<string>',
state: '<string>',
postal: '<string>',
countryString: '<string>'
},
shippingAddress: {
address1: '<string>',
address2: '<string>',
city: '<string>',
state: '<string>',
postal: '<string>',
countryString: '<string>'
},
emailLists: ['<string>']
},
emailLists: ['<string>'],
customFields: [{customFieldId: 123, value: '<string>'}],
customCollections: [
{
customCollectionId: 123,
customFieldResponses: [{customFieldId: 123, value: '<string>'}]
}
]
})
};
fetch('https://prod-api.raisedonors.com/api/Raise/lead', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Raise/lead"
payload = {
"isTestMode": True,
"donor": {
"firstName": "<string>",
"lastName": "<string>",
"id": 123,
"title": "<string>",
"middleName": "<string>",
"suffix": "<string>",
"email": "jsmith@example.com",
"noEmailAddress": True,
"phone": "<string>",
"phoneOptIn": True,
"phoneCountryCode": "<string>",
"notes": "<string>",
"isOrganization": True,
"organizationName": "<string>",
"crmKey": "<string>",
"crmKeys": {},
"billingAddress": {
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postal": "<string>",
"countryString": "<string>"
},
"shippingAddress": {
"address1": "<string>",
"address2": "<string>",
"city": "<string>",
"state": "<string>",
"postal": "<string>",
"countryString": "<string>"
},
"emailLists": ["<string>"]
},
"emailLists": ["<string>"],
"customFields": [
{
"customFieldId": 123,
"value": "<string>"
}
],
"customCollections": [
{
"customCollectionId": 123,
"customFieldResponses": [
{
"customFieldId": 123,
"value": "<string>"
}
]
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Raise/lead");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
request.AddJsonBody("{\n \"isTestMode\": true,\n \"donor\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"id\": 123,\n \"title\": \"<string>\",\n \"middleName\": \"<string>\",\n \"suffix\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"noEmailAddress\": true,\n \"phone\": \"<string>\",\n \"phoneOptIn\": true,\n \"phoneCountryCode\": \"<string>\",\n \"notes\": \"<string>\",\n \"isOrganization\": true,\n \"organizationName\": \"<string>\",\n \"crmKey\": \"<string>\",\n \"crmKeys\": {},\n \"billingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"shippingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"emailLists\": [\n \"<string>\"\n ]\n },\n \"emailLists\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ],\n \"customCollections\": [\n {\n \"customCollectionId\": 123,\n \"customFieldResponses\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ]\n }\n ]\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Raise/lead",
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([
'isTestMode' => true,
'donor' => [
'firstName' => '<string>',
'lastName' => '<string>',
'id' => 123,
'title' => '<string>',
'middleName' => '<string>',
'suffix' => '<string>',
'email' => 'jsmith@example.com',
'noEmailAddress' => true,
'phone' => '<string>',
'phoneOptIn' => true,
'phoneCountryCode' => '<string>',
'notes' => '<string>',
'isOrganization' => true,
'organizationName' => '<string>',
'crmKey' => '<string>',
'crmKeys' => [
],
'billingAddress' => [
'address1' => '<string>',
'address2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postal' => '<string>',
'countryString' => '<string>'
],
'shippingAddress' => [
'address1' => '<string>',
'address2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postal' => '<string>',
'countryString' => '<string>'
],
'emailLists' => [
'<string>'
]
],
'emailLists' => [
'<string>'
],
'customFields' => [
[
'customFieldId' => 123,
'value' => '<string>'
]
],
'customCollections' => [
[
'customCollectionId' => 123,
'customFieldResponses' => [
[
'customFieldId' => 123,
'value' => '<string>'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://prod-api.raisedonors.com/api/Raise/lead")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"isTestMode\": true,\n \"donor\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"id\": 123,\n \"title\": \"<string>\",\n \"middleName\": \"<string>\",\n \"suffix\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"noEmailAddress\": true,\n \"phone\": \"<string>\",\n \"phoneOptIn\": true,\n \"phoneCountryCode\": \"<string>\",\n \"notes\": \"<string>\",\n \"isOrganization\": true,\n \"organizationName\": \"<string>\",\n \"crmKey\": \"<string>\",\n \"crmKeys\": {},\n \"billingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"shippingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"emailLists\": [\n \"<string>\"\n ]\n },\n \"emailLists\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ],\n \"customCollections\": [\n {\n \"customCollectionId\": 123,\n \"customFieldResponses\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Raise/lead")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"isTestMode\": true,\n \"donor\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"id\": 123,\n \"title\": \"<string>\",\n \"middleName\": \"<string>\",\n \"suffix\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"noEmailAddress\": true,\n \"phone\": \"<string>\",\n \"phoneOptIn\": true,\n \"phoneCountryCode\": \"<string>\",\n \"notes\": \"<string>\",\n \"isOrganization\": true,\n \"organizationName\": \"<string>\",\n \"crmKey\": \"<string>\",\n \"crmKeys\": {},\n \"billingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"shippingAddress\": {\n \"address1\": \"<string>\",\n \"address2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postal\": \"<string>\",\n \"countryString\": \"<string>\"\n },\n \"emailLists\": [\n \"<string>\"\n ]\n },\n \"emailLists\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ],\n \"customCollections\": [\n {\n \"customCollectionId\": 123,\n \"customFieldResponses\": [\n {\n \"customFieldId\": 123,\n \"value\": \"<string>\"\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Raise/lead';
const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
isTestMode: true,
donor: {
firstName: '<string>',
lastName: '<string>',
id: 123,
title: '<string>',
middleName: '<string>',
suffix: '<string>',
email: 'jsmith@example.com',
noEmailAddress: true,
phone: '<string>',
phoneOptIn: true,
phoneCountryCode: '<string>',
notes: '<string>',
isOrganization: true,
organizationName: '<string>',
crmKey: '<string>',
crmKeys: {},
billingAddress: {
address1: '<string>',
address2: '<string>',
city: '<string>',
state: '<string>',
postal: '<string>',
countryString: '<string>'
},
shippingAddress: {
address1: '<string>',
address2: '<string>',
city: '<string>',
state: '<string>',
postal: '<string>',
countryString: '<string>'
},
emailLists: ['<string>']
},
emailLists: ['<string>'],
customFields: [{customFieldId: 123, value: '<string>'}],
customCollections: [
{
customCollectionId: 123,
customFieldResponses: [{customFieldId: 123, value: '<string>'}]
}
]
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "The Authorization header is missing, malformed, or carries a token that is expired or revoked.",
"instance": "/api/Raise/lead"
}Send the
donor details, the emailLists to subscribe them to, and any customFields or customCollections the page collected.
Send
isTestMode=true to try the call without recording a live donor.The spec does not document error responses for this endpoint beyond
401, so the causes aren’t listed with the responses here. Errors still arrive in the ProblemDetails envelope the rest of the Raise API uses — handle a rejected request (400), and a path ID that doesn’t resolve (404), as you would on any other endpoint.Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Body
application/jsontext/jsonapplication/*+json
The lead to record, including the donor details and the emailLists, customFields, and customCollections the page collected.
When true, validates the call without recording a live donor.
The donor who submitted the page.
Show child attributes
Show child attributes
The names of the email lists to subscribe the donor to.
The custom field responses collected on the page.
Show child attributes
Show child attributes
The custom collection responses collected on the page.
Show child attributes
Show child attributes
Response
OK
Last modified on July 28, 2026
Was this page helpful?
⌘I