> ## Documentation Index
> Fetch the complete documentation index at: https://docs.armin.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Filtern & gespeicherte Ansichten

> Tickets mit view_id und gespeicherten Posteingang-Ansichten filtern — keine Ad-hoc-Query-Parameter in v1.

In Public API v1 ist **`view_id` der einzige Weg, Ticket-Listen zu filtern**. Status, Kanal, Priorität, Zuständigkeit, Tags und Datumsbereiche legst du in einer [gespeicherten Posteingang-Ansicht](/de/inbox/views-and-filters) an und führst sie per API aus.

## Standard-Workflow

<Steps>
  <Step title="Ansichten auflisten">
    `GET /public/v1/views` — liefert `id`, `name`, `count` und `filters` pro Ansicht.
  </Step>

  <Step title="Ansicht wählen">
    Finde die Ansicht zu deinem Use Case (z. B. „Offen — letzte 7 Tage“ oder „Retouren“).
  </Step>

  <Step title="Tickets listen">
    `GET /public/v1/tickets?view_id=<uuid>` — Tickets gemäß Ansichtsfilter.
  </Step>
</Steps>

Beispiel:

```bash theme={null}
# 1. Ansichten entdecken
curl -sS -H "cx-api-key: $KEY" \
  "https://api.armin.cx/public/v1/views"

# 2. Tickets in einer Ansicht
curl -sS -H "cx-api-key: $KEY" \
  "https://api.armin.cx/public/v1/tickets?view_id=019b0e3d-e88a-715c-b540-ea11ac058052&limit=40"
```

## Felder in der View-Antwort

| Feld      | Nutzen                                                                |
| --------- | --------------------------------------------------------------------- |
| `id`      | Als `view_id` bei `GET /tickets`                                      |
| `name`    | Lesbares Label für Agent-Tool-Auswahl                                 |
| `count`   | Aktuelle Ticket-Anzahl — für „Wie viele?“ ohne alle Tickets zu listen |
| `filters` | Filterdefinitionen für die richtige Ansichtswahl                      |
| `shared`  | Ob die Ansicht im Team geteilt ist                                    |

## Ungefilterte Liste

Ohne `view_id` alle Organisations-Tickets (mit Pagination):

```
GET /public/v1/tickets?limit=40
```

Bei großen Workspaces sparsam nutzen — gespeicherte Ansichten begrenzen die Ergebnismenge.

## Sortierung

Ticket-Listen sind sortiert nach **`created_at` absteigend**, dann Ticket-`id` absteigend. Das unterscheidet sich vom Posteingang-UI-Default (letzte Aktivität). Beim Vergleich mit der UI berücksichtigen.

## In v1 nicht unterstützt

| Nicht unterstützt                 | Alternative                                         |
| --------------------------------- | --------------------------------------------------- |
| `status=open` als Query-Parameter | Ansicht mit Offen-Filter                            |
| `channel=email`                   | Kanal-gefilterte Ansicht                            |
| `date_from` / `date_to`           | Ansicht mit Datumsfiltern                           |
| Volltext-/Betreffsuche            | Ansicht mit Suchfiltern im Posteingang              |
| `message_body`-Filter             | In v1 über Public API nicht verfügbar               |
| `view_id` plus Extra-Filter       | Nur `view_id`, `limit`, `cursor`, `include` erlaubt |

Unbekannte Query-Parameter → **`400 VALIDATION_ERROR`**.

## Ansichtszugriff

* **Agent-verknüpfte Schlüssel** — nur sichtbare Posteingang-Ansichten.
* **Service-Schlüssel** (ohne Agent) — alle Organisations-Ansichten.

Unzugängliche `view_id` → **`404 VIEW_NOT_FOUND`** (nicht 403), auch bei Cross-Org-IDs oder für den Agenten verborgenen Ansichten.

## Optionale Erweiterung

`include=ticket_fields` bei `GET /tickets` oder `GET /tickets/:ticketNumber` für benutzerdefinierte Ticketfelder.

## Verwandt

* [Agent-Tool-Beispiele](/de/api/agent-tool-examples)
* [Posteingang-Ansichten und Filter](/de/inbox/views-and-filters)
