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
Organization ID
Project ID
Saved search ID
Request Body
Updated display name
Updated description
New parent folder ID (null for root level)
Updated search filter criteria
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"))
}
⌘I