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

# Feedbacks

> Reporta un resultado de API incorrecto, incompleto o fallido. No cuesta créditos.

A través del endpoint de Olostep `/v1/feedbacks` puedes reportar cuando la API cometió un error. Llámalo desde un agente o desde tu propio código cuando un resultado sea incorrecto, incompleto, lento, fallido o no coincida con la documentación.

* Envía el `id` del objeto sobre el cual es el feedback para que podamos rastrearlo hasta la solicitud exacta
* Etiqueta el informe con una categoría y códigos de síntomas opcionales
* Enviar feedback es gratuito y funciona incluso cuando los créditos de tu equipo están agotados

Para detalles de la API, consulta la [Referencia de la API para Enviar Feedback](https://docs.olostep.com/api-reference/feedbacks/create.md).

## Enviar feedback

`category` y `note` son obligatorios. Incluye `related_object_id` cuando lo tengas: un id de recurso `scrape_…`, `batch_…`, o similar, o el id `error_…` cuando la llamada falló.

```python Python theme={null}
import requests
import json

API_KEY = "<YOUR_API_KEY>"

payload = {
    "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"
}

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

response = requests.post(
    "https://api.olostep.com/v1/feedbacks",
    headers=headers,
    json=payload
)
print(json.dumps(response.json(), indent=2))
```

```js Node theme={null}
const res = await fetch('https://api.olostep.com/v1/feedbacks', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <YOUR_API_KEY>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    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'
  })
})
console.log(await res.json())
```

```bash cURL theme={null}
curl -X POST https://api.olostep.com/v1/feedbacks \
  -H "Authorization: Bearer $OLOSTEP_API_KEY" \
  -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"
  }'
```

### Respuesta

La respuesta es el objeto `feedback` almacenado. No hay un endpoint para listar o obtener; el feedback se lee de nuestro lado.

```json theme={null}
{
  "object": "feedback",
  "id": "feedback_019e70f9-214a-74fc-a1ae-26fd3318be3e",
  "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",
  "created_at": "2026-10-23T00:00:00.000Z"
}
```

## Campos

| 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`. Los códigos documentados se enumeran a continuación; se acepta cualquier otro código con el mismo formato |
| `affected_endpoint` | no | `METHOD /path` con la ruta plural canónica, por ejemplo `POST /v1/scrapes` |
| `related_object_id` | no | El `id` del scrape, batch, crawl, answer, u otro objeto, o el id `error_…` cuando la llamada falló |
| `url` | no | La página sobre la que es el feedback, como la URL que fue scrapeada |

### Códigos de problemas

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


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