---
title: "Save a filter combination under a name"
method: POST
path: "/api/knowledge/views"
tags: ["Knowledge"]
---

# Save a filter combination under a name

`POST /api/knowledge/views`

## Request

- Base URL: `https://api.historis.app`
- URL: `https://api.historis.app/api/knowledge/views`
- Auth: HTTP bearer

## Request body

- KnowledgeSavedViewInput
  - `name` string
  - `filters` object: A strict object with arrays instead of CSV; an unknown key is rejected. Deliberately narrower than the GET /api/knowledge filter so a view is exactly replayable from the screen that saved it: no updatedSince/updatedUntil, and at most one time axis (carrying both a since/until and an eventSince/eventUntil range is rejected).
    - `query` string
    - `status` 'active' | 'archived' | 'all'
    - `tags` string[]
    - `personIds` string[]
    - `since` string, date-time
    - `until` string, date-time
    - `eventSince` string, date-time
    - `eventUntil` string, date-time

## Response `201`

Created saved view

- object

## Other responses

- `400`: Request failed schema validation
- `401`: Missing or invalid credentials
- `409`: Conflict (e.g. slug collision)
- `429`: Rate limit exceeded for the caller's identity/plan
- `500`: Internal server error

---

[API](https://skmtc.dev/historis/apis/historis-api.md) · [All operations](https://skmtc.dev/historis/apis/historis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/historis/apis/historis-api/revisions/fa382546b63e?raw)
