Update a Saved Query
curl --request PUT \
--url https://prod-api.raisedonors.com/api/Query/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"queryId": 123,
"name": "<string>",
"groups": [
{
"conditions": [
{
"parameter": "<string>",
"value": "<string>",
"secondaryValue": "<string>",
"values": [
"<string>"
]
}
]
}
],
"selectedColumns": [
"<string>"
]
}
'const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queryId: 123,
name: '<string>',
groups: [
{
conditions: [
{
parameter: '<string>',
value: '<string>',
secondaryValue: '<string>',
values: ['<string>']
}
]
}
],
selectedColumns: ['<string>']
})
};
fetch('https://prod-api.raisedonors.com/api/Query/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Query/{id}"
payload = {
"queryId": 123,
"name": "<string>",
"groups": [{ "conditions": [
{
"parameter": "<string>",
"value": "<string>",
"secondaryValue": "<string>",
"values": ["<string>"]
}
] }],
"selectedColumns": ["<string>"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Query/{id}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
request.AddJsonBody("{\n \"queryId\": 123,\n \"name\": \"<string>\",\n \"groups\": [\n {\n \"conditions\": [\n {\n \"parameter\": \"<string>\",\n \"value\": \"<string>\",\n \"secondaryValue\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"selectedColumns\": [\n \"<string>\"\n ]\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Query/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'queryId' => 123,
'name' => '<string>',
'groups' => [
[
'conditions' => [
[
'parameter' => '<string>',
'value' => '<string>',
'secondaryValue' => '<string>',
'values' => [
'<string>'
]
]
]
]
],
'selectedColumns' => [
'<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.put("https://prod-api.raisedonors.com/api/Query/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"queryId\": 123,\n \"name\": \"<string>\",\n \"groups\": [\n {\n \"conditions\": [\n {\n \"parameter\": \"<string>\",\n \"value\": \"<string>\",\n \"secondaryValue\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"selectedColumns\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Query/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"queryId\": 123,\n \"name\": \"<string>\",\n \"groups\": [\n {\n \"conditions\": [\n {\n \"parameter\": \"<string>\",\n \"value\": \"<string>\",\n \"secondaryValue\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"selectedColumns\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Query/{id}';
const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queryId: 123,
name: '<string>',
groups: [
{
conditions: [
{
parameter: '<string>',
value: '<string>',
secondaryValue: '<string>',
values: ['<string>']
}
]
}
],
selectedColumns: ['<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/Query/{id}"
}Query
Update a Saved Query
Updates a saved query’s name, conditions, or selectedColumns.
PUT
https://prod-api.raisedonors.com
/
api
/
Query
/
{id}
Update a Saved Query
curl --request PUT \
--url https://prod-api.raisedonors.com/api/Query/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"queryId": 123,
"name": "<string>",
"groups": [
{
"conditions": [
{
"parameter": "<string>",
"value": "<string>",
"secondaryValue": "<string>",
"values": [
"<string>"
]
}
]
}
],
"selectedColumns": [
"<string>"
]
}
'const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queryId: 123,
name: '<string>',
groups: [
{
conditions: [
{
parameter: '<string>',
value: '<string>',
secondaryValue: '<string>',
values: ['<string>']
}
]
}
],
selectedColumns: ['<string>']
})
};
fetch('https://prod-api.raisedonors.com/api/Query/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Query/{id}"
payload = {
"queryId": 123,
"name": "<string>",
"groups": [{ "conditions": [
{
"parameter": "<string>",
"value": "<string>",
"secondaryValue": "<string>",
"values": ["<string>"]
}
] }],
"selectedColumns": ["<string>"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Query/{id}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
request.AddJsonBody("{\n \"queryId\": 123,\n \"name\": \"<string>\",\n \"groups\": [\n {\n \"conditions\": [\n {\n \"parameter\": \"<string>\",\n \"value\": \"<string>\",\n \"secondaryValue\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"selectedColumns\": [\n \"<string>\"\n ]\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Query/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'queryId' => 123,
'name' => '<string>',
'groups' => [
[
'conditions' => [
[
'parameter' => '<string>',
'value' => '<string>',
'secondaryValue' => '<string>',
'values' => [
'<string>'
]
]
]
]
],
'selectedColumns' => [
'<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.put("https://prod-api.raisedonors.com/api/Query/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"queryId\": 123,\n \"name\": \"<string>\",\n \"groups\": [\n {\n \"conditions\": [\n {\n \"parameter\": \"<string>\",\n \"value\": \"<string>\",\n \"secondaryValue\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"selectedColumns\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Query/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"queryId\": 123,\n \"name\": \"<string>\",\n \"groups\": [\n {\n \"conditions\": [\n {\n \"parameter\": \"<string>\",\n \"value\": \"<string>\",\n \"secondaryValue\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"selectedColumns\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Query/{id}';
const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queryId: 123,
name: '<string>',
groups: [
{
conditions: [
{
parameter: '<string>',
value: '<string>',
secondaryValue: '<string>',
values: ['<string>']
}
]
}
],
selectedColumns: ['<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/Query/{id}"
}Send the query’s full representation, since the request replaces the stored definition.
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}"
Path Parameters
The ID of the query to update.
Body
application/jsontext/jsonapplication/*+json
The updated query details.
The unique identifier of the saved query.
The name of the saved query.
The type of record the query returns, such as Donor or Gift.
Available options:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 The groups of conditions that make up the query. Groups are combined by each group's conjunct.
Show child attributes
Show child attributes
The result columns the query returns.
Response
OK
Last modified on July 28, 2026
Was this page helpful?
⌘I