Check if Project Code Exists
curl --request GET \
--url https://prod-api.raisedonors.com/api/Project/code-exists \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/Project/code-exists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Project/code-exists"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Project/code-exists");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Project/code-exists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://prod-api.raisedonors.com/api/Project/code-exists")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Project/code-exists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Project/code-exists';
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"doesExist": true,
"hasErrors": false,
"existsIn": [
"Year-End 2025 — Holiday Meals"
],
"errorsIn": []
}{
"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/Project/code-exists"
}Project
Check if Project Code Exists
Checks whether a project code is already in use.
GET
https://prod-api.raisedonors.com
/
api
/
Project
/
code-exists
Check if Project Code Exists
curl --request GET \
--url https://prod-api.raisedonors.com/api/Project/code-exists \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/Project/code-exists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Project/code-exists"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Project/code-exists");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Project/code-exists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://prod-api.raisedonors.com/api/Project/code-exists")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Project/code-exists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Project/code-exists';
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"doesExist": true,
"hasErrors": false,
"existsIn": [
"Year-End 2025 — Holiday Meals"
],
"errorsIn": []
}{
"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/Project/code-exists"
}The response returns
doesExist along with existsIn, which names where the code was found.
Call it before Create a Project so codes stay unique across your integrations.
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}"
Query Parameters
The project code to verify.
Response
OK
Represents the response indicating whether a project code exists and the locations where it is found.
Indicates whether the project code exists in any context.
Indicates whether any errors occurred while checking for the project code.
The collection of strings representing the contexts where the item exists.
The collection of strings representing the contexts where there were errors checking for existence.
Last modified on July 28, 2026
Was this page helpful?