Skip to content

View Tools

Views are saved filter presets that let you quickly access a curated subset of thogits. Each view has a name, icon, filter, and optional settings.

Create a new saved view. The filter uses the same format as get_thogits search. Tag names in filters are automatically resolved to IDs on save.

NameTypeRequiredDescription
namestringYesView name
iconstringNoEmoji icon. Default: clipboard
filterobjectYesThogit filter (same format as get_thogits search)
view_typestringNoView type. Default: "list"
settingsobjectNoAdditional view settings
// Request — create a view for high-priority open tasks
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_view",
"arguments": {
"name": "High Priority Tasks",
"icon": "🔥",
"filter": {
"and": [
{ "has_tag": "Task" },
{ "Task.priority": { "gte": 7 } },
{ "not": { "Task.status": { "match": "done" } } }
]
}
}
}
}
// Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"id\": \"01JEXAMPLE000000000000VIEW\",\n \"name\": \"High Priority Tasks\",\n \"icon\": \"🔥\",\n \"filter\": { ... },\n \"view_type\": \"list\",\n \"settings\": {},\n \"created_at\": \"2025-01-15T10:00:00Z\",\n \"updated_at\": \"2025-01-15T10:00:00Z\"\n}"
}
]
}
}

Get a saved view by its ID.

NameTypeRequiredDescription
view_idstringYesView ULID
// Request
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_view",
"arguments": {
"view_id": "01JEXAMPLE000000000000VIEW"
}
}
}
// Response
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"id\": \"01JEXAMPLE000000000000VIEW\",\n \"name\": \"High Priority Tasks\",\n \"icon\": \"🔥\",\n \"filter\": { ... },\n \"view_type\": \"list\",\n \"settings\": {}\n}"
}
]
}
}

List all saved views. No parameters required.

None.

// Request
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "list_views",
"arguments": {}
}
}
// Response
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "[\n {\n \"id\": \"01JEXAMPLE000000000000VIEW\",\n \"name\": \"High Priority Tasks\",\n \"icon\": \"🔥\",\n ...\n },\n {\n \"id\": \"01JEXAMPLE00000000000VIEW2\",\n \"name\": \"All Bugs\",\n \"icon\": \"🐛\",\n ...\n }\n]"
}
]
}
}

Update a saved view’s name, icon, and filter. All fields are required when updating.

NameTypeRequiredDescription
view_idstringYesView ULID
namestringYesNew name
iconstringYesNew emoji icon
filterobjectYesNew filter
settingsobjectNoUpdated settings
// Request — update the view to also include medium priority
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "update_view",
"arguments": {
"view_id": "01JEXAMPLE000000000000VIEW",
"name": "Priority Tasks",
"icon": "",
"filter": {
"and": [
{ "has_tag": "Task" },
{ "Task.priority": { "gte": 5 } },
{ "not": { "Task.status": { "match": "done" } } }
]
}
}
}
}
// Response
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"ok\": true\n}"
}
]
}
}

Delete a saved view by ID.

NameTypeRequiredDescription
view_idstringYesView ULID
// Request
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "delete_view",
"arguments": {
"view_id": "01JEXAMPLE000000000000VIEW"
}
}
}
// Response
{
"jsonrpc": "2.0",
"id": 5,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"ok\": true\n}"
}
]
}
}