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

# Feedback einreichen

> Teile uns mit, wenn die API etwas falsch gemacht hat. Kostet keine Credits.

Verwende diesen Endpunkt, wenn ein Ergebnis falsch, unvollständig, langsam, fehlgeschlagen oder nicht mit der Dokumentation übereinstimmend war. Er soll sowohl von Agenten als auch von Personen aufgerufen werden: Wenn deine Pipeline ein schlechtes Ergebnis erkennt, melde es mit der `id` des Objekts, von dem es stammt, und wir können es bis zur genauen Anfrage zurückverfolgen.

Das Einreichen von Feedback ist kostenlos und funktioniert auch dann, wenn die Credits deines Teams aufgebraucht sind.

## Was zu senden ist

| Feld | Erforderlich | Hinweise |
| - | - | - |
| `category` | ja | Eine von `output_quality`, `reliability`, `performance`, `documentation`, `api_usability`, `feature_gap`, `other` |
| `note` | ja | Was schiefgelaufen ist und was du stattdessen erwartet hast, bis zu 4.000 Zeichen |
| `issues` | nein | Bis zu 20 `snake_case` Symptomcodes, wie `missing_content` oder `timeout`. Die dokumentierten Codes sind im Schema aufgelistet; jeder andere Code derselben Form wird akzeptiert |
| `affected_endpoint` | nein | `METHOD /path`, zum Beispiel `POST /v1/scrapes` |
| `related_object_id` | nein | Die `id` des Scrapes, Batches, Crawls, der Antwort oder eines anderen Objekts, auf das sich das Feedback bezieht, oder die `error_…` id, wenn der Aufruf fehlgeschlagen ist |
| `url` | nein | Die Seite, auf die sich das Feedback bezieht, wie die URL, die gescraped wurde |

## Beispiel

```bash cURL theme={null}
curl -X POST https://api.olostep.com/v1/feedbacks \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "category": "output_quality",
    "issues": ["missing_content", "broken_formatting"],
    "note": "Die Markdown lässt die Preistabellen-Vergleichstabelle aus; erwartet wurden alle 4 Zeilen.",
    "affected_endpoint": "POST /v1/scrapes",
    "related_object_id": "scrape_abc1234567",
    "url": "https://example.com/pricing"
  }'
```

Die Antwort ist das gespeicherte `feedback` Objekt mit seiner `id` und `created_at`. Es gibt noch keinen Listen- oder Abruf-Endpunkt; Feedback wird auf unserer Seite gelesen.


## OpenAPI

````yaml de/openapi/feedbacks.json POST /v1/feedbacks
openapi: 3.0.3
info:
  title: Feedbacks API
  version: 1.0.0
  description: >-
    Melde ein Problem mit der Olostep API: falsche oder unvollständige Ausgabe,
    ein Fehler, eine Dokumentationsabweichung oder eine fehlende Funktion.
    Kostet keine Credits.
servers:
  - url: https://api.olostep.com
security:
  - Authorization: []
paths:
  /v1/feedbacks:
    post:
      summary: Feedback einreichen
      description: >-
        Melde ein Problem mit der API. Füge die ID des Objekts hinzu, auf das
        sich das Feedback bezieht, wenn du sie hast. Kostet keine Credits.
      operationId: createFeedback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedbackCreateRequest'
      responses:
        '200':
          description: Das gespeicherte Feedback.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feedback'
        '400':
          description: Der Body ist ungültig.
        '401':
          description: Der API-Schlüssel fehlt oder ist ungültig.
components:
  schemas:
    FeedbackCreateRequest:
      type: object
      required:
        - category
        - note
      properties:
        category:
          type: string
          enum:
            - output_quality
            - reliability
            - performance
            - documentation
            - api_usability
            - feature_gap
            - other
          description: Der allgemeine Grund für das Feedback.
        note:
          type: string
          minLength: 1
          maxLength: 4000
          description: Was schiefgelaufen ist und was du stattdessen erwartet hast.
          example: >-
            The markdown drops the pricing comparison table; expected all 4
            rows.
        issues:
          type: array
          maxItems: 20
          items:
            type: string
            pattern: ^[a-z0-9](?:[a-z0-9_]{0,78}[a-z0-9])?$
          description: >-
            Spezifische Symptome, als Kleinbuchstaben snake_case Codes.
            Dokumentierte Codes: missing_content, incorrect_content,
            incomplete_content, broken_formatting, irrelevant_results,
            duplicate_results, stale_content, request_failed, timeout,
            slow_response, inconsistent_result, docs_mismatch, broken_example,
            confusing_schema, confusing_error, unsupported_website,
            unsupported_format. Jeder andere Code in derselben Form wird
            akzeptiert.
          example:
            - missing_content
            - broken_formatting
        affected_endpoint:
          type: string
          minLength: 1
          maxLength: 200
          description: >-
            Der Endpoint, auf den sich das Feedback bezieht, als `METHOD /path`
            mit dem kanonischen Pluralpfad.
          example: POST /v1/scrapes
        related_object_id:
          type: string
          minLength: 1
          maxLength: 128
          description: >-
            Die ID des Objekts, das die API zurückgegeben hat und auf das sich
            das Feedback bezieht: eine scrape_…, batch_… oder ähnliche
            Ressourcen-ID, oder die ID des Fehlerobjekts (error_…), wenn der
            Aufruf fehlgeschlagen ist.
          example: scrape_abc1234567
        url:
          type: string
          format: uri
          maxLength: 2048
          description: >-
            Die Seite, auf die sich das Feedback bezieht, wie die URL, die
            gescrapt wurde.
          example: https://example.com/pricing
    Feedback:
      type: object
      required:
        - object
        - id
        - category
        - issues
        - note
        - created_at
      properties:
        object:
          type: string
          enum:
            - feedback
        id:
          type: string
          example: feedback_019e70f9-214a-74fc-a1ae-26fd3318be3e
        category:
          type: string
        issues:
          type: array
          items:
            type: string
        note:
          type: string
        affected_endpoint:
          type: string
        related_object_id:
          type: string
        url:
          type: string
        created_at:
          type: string
          format: date-time
          example: '2026-10-23T00:00:00.000Z'
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Bearer-Authentifizierungsheader in der Form Bearer <token>, wobei
        <token> dein Authentifizierungstoken ist.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.