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

# Fehlerbehandlung

> Häufige Fehlermeldungen und Tipps zur Fehlerdiagnose für die Analytics-API, einschließlich Fehlern bei Authentifizierung, Abfragestruktur und Rate Limiting.

<div id="overview">
  ## Überblick
</div>

Die Analytics-API gibt detaillierte Fehlermeldungen zurück, um beim Debuggen ungültiger Abfragen zu helfen. Diese Seite beschreibt häufige Fehlerszenarien und wie man sie behebt.

<div id="error-response-format">
  ## Fehlerantwortformat
</div>

Wenn ein Fehler auftritt, gibt die API eine Fehlerantwort mit einer aussagekräftigen Fehlermeldung zurück:

```json theme={null}
{
  "error": "Fehlermeldung, die beschreibt, was schiefgelaufen ist"
}
```

<div id="common-errors">
  ## Häufige Fehler
</div>

<div id="authentication-errors">
  ### Authentifizierungsfehler
</div>

<AccordionGroup>
  <Accordion title="Ungültiger Service Key">
    **Fehler:** `Invalid service key`

    **Ursache:** Der angegebene Service Key ist ungültig oder wurde widerrufen.

    **Lösung:**

    * Überprüfen Sie, ob Ihr Service Key korrekt ist
    * Stellen Sie sicher, dass der Service Key nicht widerrufen wurde
    * Generieren Sie bei Bedarf einen neuen Service Key
  </Accordion>

  <Accordion title="Unzureichende Berechtigungen">
    **Fehler:** `Insufficient permissions`

    **Ursache:** Der Service Key verfügt nicht über die erforderlichen Berechtigungen für den Endpunkt, den Sie aufrufen.

    **Lösung:**

    * Aktualisieren Sie die Service-Key-Berechtigungen in den Team-Einstellungen
    * Weitere Informationen finden Sie in der [API-Einführung](/de/plugins/accounts/api-reference/api-introduction#required-permissions), in der die spezifischen Berechtigungen aufgeführt sind, die von jedem Endpunkt benötigt werden
  </Accordion>
</AccordionGroup>

<div id="query-structure-errors">
  ### Fehler in der Abfragestruktur
</div>

<AccordionGroup>
  <Accordion title="Fehlende selections">
    **Fehler:** `at least one field or aggregation is required`

    **Ursache:** Die Anfrage enthält keine selections oder aggregations.

    **Lösung:** Füge deiner Anfrage mindestens eine selection hinzu:

    ```json theme={null}
    "selections": [
      {
        "field": "num_acceptances",
        "aggregation_function": "QUERY_AGGREGATION_SUM"
      }
    ]
    ```
  </Accordion>

  <Accordion title="Ungültige Datenquelle">
    **Fehler:** `invalid query table: QUERY_DATA_SOURCE_UNSPECIFIED`

    **Ursache:** Wahrscheinlich gibt es einen Tippfehler im Feld `data_source`.

    **Lösung:** Überprüfe die Schreibweise deiner Datenquelle. Gültige Optionen:

    * `QUERY_DATA_SOURCE_USER_DATA`
    * `QUERY_DATA_SOURCE_CHAT_DATA`
    * `QUERY_DATA_SOURCE_COMMAND_DATA`
    * `QUERY_DATA_SOURCE_PCW_DATA`
  </Accordion>

  <Accordion title="Gemischte Aggregationsfunktionen">
    **Fehler:** `all selection fields should have an aggregation function, or none of them should`

    **Ursache:** Einige selections haben Aggregationsfunktionen, andere nicht.

    **Lösung:** Füge entweder allen selections Aggregationsfunktionen hinzu oder entferne sie bei allen:

    **Ungültig:**

    ```json theme={null}
    "selections": [
      {
        "field": "num_acceptances",
        "aggregation_function": "QUERY_AGGREGATION_SUM"
      },
      {
        "field": "num_lines_accepted",
        "aggregation_function": "QUERY_AGGREGATION_UNSPECIFIED"
      }
    ]
    ```

    **Gültig:**

    ```json theme={null}
    "selections": [
      {
        "field": "num_acceptances",
        "aggregation_function": "QUERY_AGGREGATION_SUM"
      },
      {
        "field": "num_lines_accepted",
        "aggregation_function": "QUERY_AGGREGATION_SUM"
      }
    ]
    ```
  </Accordion>
</AccordionGroup>

<div id="field-and-aggregation-errors">
  ### Feld- und Aggregationsfehler
</div>

<AccordionGroup>
  <Accordion title="Ungültige Aggregationsfunktion">
    **Fehler:** `invalid aggregation function for string type field ide: QUERY_AGGREGATION_SUM`

    **Ursache:** Die Aggregationsfunktion wird für den angegebenen Feldtyp nicht unterstützt.

    **Lösung:** Sehen Sie im Abschnitt [Available Fields](/de/plugins/accounts/api-reference/custom-analytics#available-fields) nach, welche Aggregationsfunktionen für die einzelnen Felder zulässig sind. String-Felder unterstützen in der Regel nur `COUNT` und `UNSPECIFIED`.
  </Accordion>

  <Accordion title="Aggregation auf distinct-Feld">
    **Fehler:** `tried to aggregate on a distinct field: distinct_developer_days. Consider aggregating on the non-distinct fields instead: [api_key date]`

    **Ursache:** Felder mit dem Muster "distinct\_\*" können nicht im Abschnitt aggregations verwendet werden.

    **Lösung:** Verwenden Sie die vorgeschlagenen alternativen Felder für die Aggregation:

    **Ungültig:**

    ```json theme={null}
    "aggregations": [
      {
        "field": "distinct_developer_days",
        "name": "distinct_developer_days"
      }
    ]
    ```

    **Gültig:**

    ```json theme={null}
    "aggregations": [
      {
        "field": "api_key",
        "name": "api_key"
      },
      {
        "field": "date",
        "name": "date"
      }
    ]
    ```
  </Accordion>

  <Accordion title="Doppelte Feldaliase">
    **Fehler:** `duplicate field alias for selection/aggregation: num_acceptances`

    **Ursache:** Mehrere selections oder aggregations haben denselben Namen.

    **Lösung:** Stellen Sie sicher, dass alle Feldaliase eindeutig sind. Beachten Sie, dass, wenn kein Name angegeben ist, standardmäßig `{aggregation_function}_{field_name}` verwendet wird.
  </Accordion>
</AccordionGroup>

<div id="data-filtering-errors">
  ### Fehler bei der Datenfilterung
</div>

<AccordionGroup>
  <Accordion title="Ungültiger Gruppenname">
    **Fehler:** `invalid group name: GroupName`

    **Ursache:** Der angegebene Gruppenname ist in Ihrer Organisation nicht vorhanden.

    **Lösung:**

    * Überprüfen Sie die Schreibweise des Gruppennamens
    * Prüfen Sie in den Team-Einstellungen, ob die Gruppe existiert
    * Nutzen Sie den exakten Gruppennamen, wie er im Team-Dashboard angezeigt wird
  </Accordion>

  <Accordion title="Ungültiges Zeitstempelformat">
    **Fehler:** `invalid timestamp format`

    **Ursache:** Der Zeitstempel entspricht nicht dem korrekten RFC 3339-Format.

    **Lösung:** Verwenden Sie das korrekte Zeitstempelformat:

    ```
    2023-01-01T00:00:00Z
    ```

    **Gültige Beispiele:**

    * `2024-01-01T00:00:00Z`
    * `2024-12-31T23:59:59Z`
    * `2024-06-15T12:30:45Z`
  </Accordion>

  <Accordion title="Widersprüchliche Filter">
    **Fehler:** `Cannot use both group_name and emails parameters`

    **Ursache:** Sowohl die Parameter `group_name` als auch `emails` wurden in einer Cascade Analytics-Anfrage übergeben.

    **Lösung:** Verwenden Sie entweder `group_name` ODER `emails`, aber nicht beide:

    **Ungültig:**

    ```json theme={null}
    {
      "group_name": "engineering",
      "emails": ["user@example.com"]
    }
    ```

    **Gültig:**

    ```json theme={null}
    {
      "group_name": "engineering"
    }
    ```

    **Oder:**

    ```json theme={null}
    {
      "emails": ["user@example.com", "user2@example.com"]
    }
    ```
  </Accordion>
</AccordionGroup>

<div id="rate-limiting">
  ## Rate Limiting
</div>

<AccordionGroup>
  <Accordion title="Rate Limit überschritten">
    **Fehler:** `429 Too Many Requests`

    **Ursache:** Sie haben das API-Rate Limit überschritten.

    **Lösung:**

    * Warten Sie, bevor Sie weitere Requests senden
    * Implementieren Sie exponentielles Backoff in Ihrem Client
    * Bündeln Sie nach Möglichkeit mehrere Queries zu einem einzelnen Request
    * Kontaktieren Sie den Support, wenn Sie höhere Rate Limits benötigen
  </Accordion>
</AccordionGroup>

<div id="debugging-tips">
  ## Tipps zum Debuggen
</div>

<div id="1-start-simple">
  ### 1. Einfach beginnen
</div>

Starten Sie mit einfachen Anfragen und steigern Sie nach und nach die Komplexität:

```json theme={null}
{
  "service_key": "your_key",
  "query_requests": [
    {
      "data_source": "QUERY_DATA_SOURCE_USER_DATA",
      "selections": [
        {
          "field": "num_acceptances",
          "aggregation_function": "QUERY_AGGREGATION_COUNT"
        }
      ]
    }
  ]
}
```

<div id="2-validate-field-names">
  ### 2. Feldnamen prüfen
</div>

Vergleichen Sie die Feldnamen mit der Dokumentation zu [Available Fields](/de/plugins/accounts/api-reference/custom-analytics#available-fields).

<div id="3-check-aggregation-compatibility">
  ### 3. Kompatibilität der Aggregation prüfen
</div>

Stellen Sie sicher, dass Ihre Aggregationsfunktionen mit den Typen der ausgewählten Felder kompatibel sind.

<div id="4-test-filters-separately">
  ### 4. Filter separat testen
</div>

Wenn Ihre Abfrage nicht die erwarteten Ergebnisse liefert, entfernen Sie die Filter nacheinander, um das Problem einzugrenzen.

<div id="5-use-proper-json-formatting">
  ### 5. Verwenden Sie korrektes JSON-Formatting
</div>

Stellen Sie sicher, dass Ihr JSON korrekt formatiert ist und alle Zeichenketten korrekt in Anführungszeichen gesetzt sind.

<div id="getting-help">
  ## Hilfe erhalten
</div>

Wenn das Problem weiterhin auftritt:

1. **Prüfen Sie die Fehlermeldung genau** – die meisten Fehler enthalten konkrete Hinweise zur Behebung
2. **Überprüfen Sie die Beispiele** – vergleichen Sie die Struktur Ihrer Anfrage mit den funktionierenden Beispielen in der Dokumentation
3. **Kontaktieren Sie den Support** – wenden Sie sich mit Ihrer konkreten Fehlermeldung und Anfrage an den [Windsurf Support](https://windsurf.com/support)

<div id="api-version-notes">
  ## Hinweise zur API-Version
</div>

Die Fehlerbehandlung und Validierung wurden ab API-Version 1.10.0 verbessert. Wenn Sie eine ältere Version verwenden, sollten Sie ein Update in Erwägung ziehen, um ausführlichere Fehlermeldungen zu erhalten.
