Empezar gratis
Iterar
API

API reference

Iterar expone un endpoint HTTP público para enviar feedback. El SDK lo usa por debajo, pero podés llamarlo directamente si necesitás integrarlo con un backend.

POST /v1/widget/feedback

Crea un feedback crudo y lo encola para procesamiento por IA.

Headers requeridos

HeaderDescripción
X-Iterar-Project-KeyKey pública del proyecto (lpbk_pub_…).
X-Iterar-OriginDominio del sitio donde corre el widget.
Cf-Turnstile-TokenToken de Cloudflare Turnstile (excepto localhost).

Body

CampoTipoDescripción
contentstringTexto del feedback (máx 2.000 chars).
languagestring?ISO 639-1; si no se manda, se autodetecta.
category_hintstring?feature | bug | improvement | integration | question | other.
emailstring?Email opcional del usuario que envía.
metadataobject?JSON arbitrario (userId, plan, etc).
origin_urlstring?URL exacta donde se envió el feedback.

Ejemplo

request
http
POST https://api.iterar.io/v1/widget/feedback
Content-Type: application/json
X-Iterar-Project-Key: lpbk_pub_xxxxxxxxxx
X-Iterar-Origin: https://app.tu-saas.com
Cf-Turnstile-Token: 0.AbCDef...

{
  "content": "Estaría buenísimo poder exportar a PDF",
  "language": "es",
  "category_hint": "feature",
  "email": "user@example.com",
  "metadata": { "plan": "pro", "userId": "u_123" },
  "origin_url": "https://app.tu-saas.com/dashboard"
}

Respuesta

response
http
200 OK
{
  "ok": true,
  "feedback_id": "fb_01HBC...",
  "queued": true,
  "message": "Gracias, ya estamos viendo tu sugerencia."
}
Por qué queued: true
El feedback se acepta sincrónicamente pero el pipeline IA (embedding, dedup, clasificación) corre asíncrono. El widget muestra el thanks inmediato y la bandeja del founder se actualiza en segundos.

Códigos de error

CódigoSignificado
400Body inválido o content vacío.
401Project key inválida o revocada.
403Dominio no autorizado en allowed_origins.
422Turnstile token inválido o expirado.
429Rate limit excedido (10/IP/hora por proyecto).
500Error interno; reintentar con backoff.

Rate limiting

  • 10 submissions por IP, por hora y por proyecto.
  • Header de respuesta X-RateLimit-Remaining indica cuántas quedan.
  • Cuando se supera, devolvemos 429 con Retry-After.
API reference · Iterar