> ## 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.

# Enviar Comentarios

> Cuéntanos cuando la API haya cometido un error. No cuesta créditos.

Usa este endpoint cuando un resultado sea incorrecto, incompleto, lento, haya fallado o no coincida con la documentación. Está diseñado para ser llamado tanto por agentes como por personas: cuando tu pipeline detecte un mal resultado, repórtalo con el `id` del objeto del que proviene y podremos rastrearlo hasta la solicitud exacta.

Enviar comentarios es gratuito y funciona incluso cuando los créditos de tu equipo están agotados.

## Qué enviar

| Campo | Obligatorio | Notas |
| - | - | - |
| `category` | sí | Uno de `output_quality`, `reliability`, `performance`, `documentation`, `api_usability`, `feature_gap`, `other` |
| `note` | sí | Qué salió mal y qué esperabas en su lugar, hasta 4,000 caracteres |
| `issues` | no | Hasta 20 códigos de síntomas en `snake_case`, como `missing_content` o `timeout`. Los códigos documentados están listados en el esquema; se acepta cualquier otro código con el mismo formato |
| `affected_endpoint` | no | `METHOD /path`, por ejemplo `POST /v1/scrapes` |
| `related_object_id` | no | El `id` del scrape, batch, crawl, answer, u otro objeto sobre el que trata el comentario, o el `error_…` id cuando la llamada falló |
| `url` | no | La página sobre la que trata el comentario, como la URL que fue scrapeada |

## Ejemplo

```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": "El markdown omite la tabla de comparación de precios; se esperaban las 4 filas.",
    "affected_endpoint": "POST /v1/scrapes",
    "related_object_id": "scrape_abc1234567",
    "url": "https://example.com/pricing"
  }'
```

La respuesta es el objeto `feedback` almacenado con su `id` y `created_at`. Aún no hay un endpoint para listar o obtener; los comentarios se leen de nuestro lado.


## OpenAPI

````yaml es/openapi/feedbacks.json POST /v1/feedbacks
openapi: 3.0.3
info:
  title: API de Feedbacks
  version: 1.0.0
  description: >-
    Reporta un problema con la API de Olostep: salida incorrecta o incompleta,
    un fallo, una discrepancia en la documentación, o una capacidad faltante. No
    cuesta créditos.
servers:
  - url: https://api.olostep.com
security:
  - Authorization: []
paths:
  /v1/feedbacks:
    post:
      summary: Enviar feedback
      description: >-
        Reporta un problema con la API. Incluye el id del objeto sobre el que
        trata el feedback cuando lo tengas. No cuesta créditos.
      operationId: createFeedback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedbackCreateRequest'
      responses:
        '200':
          description: El feedback almacenado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feedback'
        '400':
          description: El cuerpo es inválido.
        '401':
          description: La clave de API falta o es inválida.
components:
  schemas:
    FeedbackCreateRequest:
      type: object
      required:
        - category
        - note
      properties:
        category:
          type: string
          enum:
            - output_quality
            - reliability
            - performance
            - documentation
            - api_usability
            - feature_gap
            - other
          description: La razón general para el feedback.
        note:
          type: string
          minLength: 1
          maxLength: 4000
          description: Qué salió mal y qué esperabas en su lugar.
          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: >-
            Síntomas específicos, como códigos en snake_case en minúsculas.
            Códigos documentados: 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. Se acepta cualquier otro código con la misma
            forma.
          example:
            - missing_content
            - broken_formatting
        affected_endpoint:
          type: string
          minLength: 1
          maxLength: 200
          description: >-
            El endpoint sobre el que trata el feedback, como `METHOD /path` con
            el camino plural canónico.
          example: POST /v1/scrapes
        related_object_id:
          type: string
          minLength: 1
          maxLength: 128
          description: >-
            El id del objeto que la API devolvió sobre el que trata el feedback:
            un scrape_…, batch_… o un id de recurso similar, o el id del objeto
            de error (error_…) cuando la llamada falló.
          example: scrape_abc1234567
        url:
          type: string
          format: uri
          maxLength: 2048
          description: >-
            La página sobre la que trata el feedback, como la URL que fue
            scrapeada.
          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: >-
        Encabezado de autenticación Bearer de la forma Bearer <token>, donde
        <token> es tu token de autenticación.

````

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