Delete a saved filter view
Permanently deletes a saved filter view and all its values by its ID.
Deletes the view and its values. The route takes only the view's integer ID (no page). Deleting the default view does not promote another view to default. A second delete of the same ID, or any unknown ID, fails with 500.
Not for:
- Clearing a view's selections but keeping it —
PUT /v2/filter-view/{pageIdentifier}with an empty FilterValues list
Behaviour:
- Not idempotent.
- The first call answers 204; a repeat answers 500 Code 100 (captured).
- Safe to retry only under a condition. After a lost response, a 500 Code 100 on retry most likely means the first call succeeded; confirm with GET.
- Duplicates: n/a
- Side effect: Deletes all values of the view, then the view.
- On failure: Not transactional: values are deleted before the view row; if the view delete fails, the view remains without values.
- Changes are visible to the next read immediately.
Call first: GET /v2/filter-view/{pageIdentifier}
See also: PUT /v2/filter-view/{pageIdentifier}
curl -X DELETE "https://app3.timelog.com/your-account/api/v2/filter-view/123" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://app3.timelog.com/your-account/api/v2/filter-view/123"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.delete(url, headers=headers)
print(response.json())
const response = await fetch("https://app3.timelog.com/your-account/api/v2/filter-view/123", {
method: "DELETE",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("DELETE", "https://app3.timelog.com/your-account/api/v2/filter-view/123", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://app3.timelog.com/your-account/api/v2/filter-view/123')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"Code": 100,
"Details": [],
"Message": "Unknown error occur in system, please contact system administrator.",
"Parameters": "id: 99999999",
"Url": "https://app{server-number}.timelog.com/{account}/api/v2/filter-view/99999999"
}
/v2/filter-view/{id}Target server for requests. Edit to use your own host.
OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
> Not yet documented: how to obtain a token.
> Not yet documented: token lifetime.
Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
> Not yet documented: how to obtain a token.
> Not yet documented: token lifetime.The view's FilterViewId. No route constraint: a non-integer reaches model binding and gives 400 (captured), not 404.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
Not yet documented: how to obtain a token.
Not yet documented: token lifetime.
Path Parameters
The view's FilterViewId. No route constraint: a non-integer reaches model binding and gives 400 (captured), not 404.