curl --request PATCH \
--url https://api.tryfuse.ai/api/v1/business/saved-searches/{savedSearchId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"filters": {}
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/saved-searches/{savedSearchId}"
payload = {
"title": "<string>",
"filters": {}
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({title: '<string>', filters: {}})
};
fetch('https://api.tryfuse.ai/api/v1/business/saved-searches/{savedSearchId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"savedSearch": {
"id": "6a8de3161ea5e58766c32c88",
"title": "CoStar Group CXOs (US + UK)",
"createdAt": "2026-08-25T18:46:46.159Z",
"updatedAt": "2026-08-25T18:47:08.908Z",
"filters": {
"job_title_levels": [
{
"status": "include",
"value": "cxo"
}
],
"location_country": [
{
"status": "include",
"value": "united states"
},
{
"status": "include",
"value": "united kingdom"
}
],
"job_company_name": [
{
"status": "include",
"value": "costar group"
}
]
},
"ignoredFilterKeys": [],
"searchType": "people"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Rename a saved search or replace its filters
Rename a saved search, replace its filters, or both — at least one of title and filters is required. A search’s type is immutable, so filters must speak the stored search’s own language: the keys POST /prospects/search takes for a people search, the keys POST /companies/search takes for a company one. The replacement is wholesale, not a merge.
filters is validated against the stored type after the row is loaded, so a rejected body answers 422 VALIDATION_FAILED with param naming the offending key — never SAVED_SEARCH_INVALID, which is reserved for a stored search that has itself gone stale. Keys that do not exist in the stored search’s vocabulary are ignored rather than named, so filters sent in the wrong vocabulary are reported as “filters must contain at least one non-empty value”; check searchType first. The only two people filter fields that cannot round-trip through the product’s filter rail are first_name and last_name; either one answers 422 SAVED_SEARCH_FILTERS_UNSUPPORTED naming the field.
Errors:
404SAVED_SEARCH_NOT_FOUND— No saved search of yours has that id.422VALIDATION_FAILED— The request failed the declared schema;paramnames the offending key andmessagequotes the rule it broke.422SAVED_SEARCH_FILTERS_UNSUPPORTED—filtersnamesfirst_nameorlast_name— the only two people filter fields with no saved-search equivalent;paramnames the field.429RATE_LIMITED— Per-token rate limit for this bucket exhausted; retry after the window in the RateLimit-Reset header.500UNEXPECTED_ERROR— The request failed inside the service; nothing was billed and the request_id identifies the failure.
Requires one of the following token scopes: search.
curl --request PATCH \
--url https://api.tryfuse.ai/api/v1/business/saved-searches/{savedSearchId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"filters": {}
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/saved-searches/{savedSearchId}"
payload = {
"title": "<string>",
"filters": {}
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({title: '<string>', filters: {}})
};
fetch('https://api.tryfuse.ai/api/v1/business/saved-searches/{savedSearchId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"savedSearch": {
"id": "6a8de3161ea5e58766c32c88",
"title": "CoStar Group CXOs (US + UK)",
"createdAt": "2026-08-25T18:46:46.159Z",
"updatedAt": "2026-08-25T18:47:08.908Z",
"filters": {
"job_title_levels": [
{
"status": "include",
"value": "cxo"
}
],
"location_country": [
{
"status": "include",
"value": "united states"
},
{
"status": "include",
"value": "united kingdom"
}
],
"job_company_name": [
{
"status": "include",
"value": "costar group"
}
]
},
"ignoredFilterKeys": [],
"searchType": "people"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Your API token (af_…) as the Basic-auth username, with an empty password.
Path Parameters
Id of the saved search (24-character hex ObjectId), as returned by GET /saved-searches.
Body
At least one of title or filters; a search's type cannot change.
New display name (1-255 chars).
1 - 255Replacement filters in the stored search's own vocabulary — people searches take the keys of POST /prospects/search, company searches the keys of POST /companies/search — validated against the stored type after loading; at least one non-empty value and only accepted enum values (422 VALIDATION_FAILED otherwise, naming the offending key).
Response
Success
Show child attributes
Show child attributes