Update Saved Search
curl --request PUT \
--url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id} \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"folderId": "<string>",
"filter": {},
"sort": [
{}
]
}
'import requests
url = "https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}"
payload = {
"name": "<string>",
"description": "<string>",
"folderId": "<string>",
"filter": {},
"sort": [{}]
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
folderId: '<string>',
filter: {},
sort: [{}]
})
};
fetch('https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}', 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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{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([
'name' => '<string>',
'description' => '<string>',
'folderId' => '<string>',
'filter' => [
],
'sort' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"folderId\": \"<string>\",\n \"filter\": {},\n \"sort\": [\n {}\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"folderId\": \"<string>\",\n \"filter\": {},\n \"sort\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"folderId\": \"<string>\",\n \"filter\": {},\n \"sort\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_bodySaved Searches
Update Saved Search
Update an existing saved search
PUT
/
app
/
v1
/
organizations
/
{organizationId}
/
projects
/
{projectId}
/
saved-searches
/
{id}
Update Saved Search
curl --request PUT \
--url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id} \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"folderId": "<string>",
"filter": {},
"sort": [
{}
]
}
'import requests
url = "https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}"
payload = {
"name": "<string>",
"description": "<string>",
"folderId": "<string>",
"filter": {},
"sort": [{}]
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
folderId: '<string>',
filter: {},
sort: [{}]
})
};
fetch('https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}', 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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{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([
'name' => '<string>',
'description' => '<string>',
'folderId' => '<string>',
'filter' => [
],
'sort' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"folderId\": \"<string>\",\n \"filter\": {},\n \"sort\": [\n {}\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"folderId\": \"<string>\",\n \"filter\": {},\n \"sort\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/saved-searches/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"folderId\": \"<string>\",\n \"filter\": {},\n \"sort\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_bodyPath Parameters
string
required
Organization ID
string
required
Project ID
string
required
Saved search ID
Request Body
string
Updated display name
string
Updated description
string
New parent folder ID (null for root level)
object
Updated search filter criteria
object[]
Updated sort criteria
The saved search
type cannot be changed after creation. To change the type, delete the saved search and create a new one.Example Request
{
"name": "Updated Name",
"filter": {
"type": {
"in": ["image/jpeg", "image/png", "image/gif"]
}
}
}
Response
Returns the updated SavedSearch object.{
"id": "ss123",
"name": "Updated Name",
"description": "Recently uploaded image assets",
"type": "asset",
"folderId": null,
"filter": {
"type": {
"in": ["image/jpeg", "image/png", "image/gif"]
},
"createdAt": {
"gte": "2024-03-01T00:00:00Z"
}
},
"sort": [
{ "field": "createdAt", "order": "desc" }
],
"favorites": ["user123"],
"metadata": {
"lastUsed": "2024-03-21T15:30:00Z",
"useCount": 15
},
"createdAt": "2024-03-20T10:00:00Z",
"updatedAt": "2024-03-22T14:00:00Z"
}
Error Responses
Saved Search Not Found
{
"error": {
"code": "NOT_FOUND",
"message": "Saved search ss123 not found"
}
}
Code Examples
curl -X PUT "https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/saved-searches/ss123" \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Name",
"filter": {
"type": { "in": ["image/jpeg", "image/png", "image/gif"] }
}
}'
const response = await fetch(
'https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/saved-searches/ss123',
{
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_JWT',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Updated Name',
filter: {
type: { in: ['image/jpeg', 'image/png', 'image/gif'] }
}
})
}
);
const savedSearch = await response.json();
console.log(`Updated saved search: ${savedSearch.name}`);
var request = URLRequest(url: URL(string: "https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/saved-searches/ss123")!)
request.httpMethod = "PUT"
request.setValue("Bearer YOUR_JWT", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let body = ["name": "Updated Name"]
request.httpBody = try JSONEncoder().encode(body)
let (data, _) = try await URLSession.shared.data(for: request)
val response = client.put("https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/saved-searches/ss123") {
header("Authorization", "Bearer YOUR_JWT")
contentType(ContentType.Application.Json)
setBody(mapOf("name" to "Updated Name"))
}