API de notificaciones
Probara expone dos endpoints para la bandeja de notificaciones del usuario de
sesión: un listado paginado por cursor y una acción de marcar-leído. Ambos
requieren una sesión autenticada — inicia sesión en el navegador y envía la
cookie de sesión más X-Organization-Id al llamar desde scripts propios.
Ambos están limitados a la organización activa; no existe una superficie de
token de portador (API token) para notificaciones.
Listar notificaciones
Sección titulada «Listar notificaciones»/api/v1/notificationsDevuelve la bandeja del usuario de sesión para la organización activa, de más reciente a más antigua.
Parámetros de consulta
Sección titulada «Parámetros de consulta»| Parámetro | Tipo | Notas |
|---|---|---|
cursor | ULID | Cuando se envía, devuelve filas posteriores a este cursor (página más antigua) |
limit | integer | Tamaño de página. Por defecto 20. 0 es un valor explícito válido. Valores mayores a 100 son rechazados con 422 validation_failed |
unreadOnly | boolean | true devuelve solo las filas no leídas |
Forma de la respuesta
Sección titulada «Forma de la respuesta»{ "items": [ { "ulid": "01J…", "kind": "defect.assigned", "entityType": "defect", "entityUlid": "01J…", "actorLabel": "María López", "eventCount": 1, "createdAt": 1700000000000, "readAt": null, "payload": { "entity": { "title": "Login regression", "url": "/x" } } } ], "nextCursor": "01J…", "unreadCount": 4}unreadCount refleja los mismos filtros de autorización y estado de lectura
que items, así que ambos nunca pueden discrepar — no es una consulta
separada.
Ejemplo
Sección titulada «Ejemplo»curl -sS \ -H "Cookie: $PROBARA_SESSION_COOKIE" \ -H "X-Organization-Id: $ORG_ULID" \ "https://app.probara.net/api/v1/notifications?limit=20&unreadOnly=true"Marcar notificaciones como leídas
Sección titulada «Marcar notificaciones como leídas»/api/v1/notifications/readCuerpo de la solicitud
Sección titulada «Cuerpo de la solicitud»| Campo | Requerido | Notas |
|---|---|---|
ulids | no | Array de ULIDs de notificaciones a marcar como leídas, limitado a las filas propias del solicitante sin importar el valor. Omitirlo o enviarlo vacío marca como leída cada fila visible. Como máximo 200 entradas |
Límites de solicitud
Sección titulada «Límites de solicitud»ulids tiene un límite de 200 entradas — un techo contra abuso, no un
techo de producto. Enviar más de 200 responde 422 validation_failed
nombrando el campo ulids; ninguna fila cambia su estado de lectura y el
contador de no leídas queda sin cambios.
Omitir ulids por completo no se ve afectado por este límite: conserva su
significado ya publicado de marcar-todo-lo-visible.
Respuesta
Sección titulada «Respuesta»204 No Content en éxito. Marcar una fila ya leída (o repetir la misma
solicitud) es una operación sin efecto.
Ejemplo — marcar como leídas todas las filas visibles
Sección titulada «Ejemplo — marcar como leídas todas las filas visibles»curl -sS -X POST \ -H "Cookie: $PROBARA_SESSION_COOKIE" \ -H "X-Organization-Id: $ORG_ULID" \ -H "Content-Type: application/json" \ --data-raw '{}' \ "https://app.probara.net/api/v1/notifications/read"Ejemplo — marcar filas específicas como leídas
Sección titulada «Ejemplo — marcar filas específicas como leídas»curl -sS -X POST \ -H "Cookie: $PROBARA_SESSION_COOKIE" \ -H "X-Organization-Id: $ORG_ULID" \ -H "Content-Type: application/json" \ -d '{"ulids": ["01J...A", "01J...B"]}' \ "https://app.probara.net/api/v1/notifications/read"Relacionado
Sección titulada «Relacionado»- Referencia API — paginación, errores, autenticación
- Referencia interactiva v1 — esquemas completos
- API de eventos de auditoría — el feed de actividad de toda la organización