GET /api/v2/incident/:id
Obtiene el detalle completo de una incidencia específica, incluyendo archivos adjuntos e hilo de mensajes.
Autenticación
Authorization: Bearer <token>
Path Parameters
| Parámetro |
Tipo |
Obligatorio |
Descripción |
id |
number |
Sí |
ID de la incidencia |
Ejemplo de petición
curl -X GET "$HOST/api/v2/incident/123" \
-H "Authorization: Bearer $TOKEN"
Respuesta exitosa (200)
{
"status": "success",
"data": {
"incident": {
"id": 123,
"description": "Descripción de la incidencia",
"status": "open",
"reviewStatus": "underReview",
"incidentType": "general_issue",
"timeRecordId": 456,
"employeeId": 40,
"schoolCourseId": 1,
"createdAt": "2025-01-15T08:30:00.000Z",
"updatedAt": "2025-01-15T08:30:00.000Z",
"Employee": {
"id": 40,
"name": "Juan",
"lastName": "Pérez"
},
"IncidentFiles": [
{
"id": 1,
"incidentId": 123,
"fileUrl": "https://storage.example.com/file.pdf",
"createdAt": "2025-01-15T08:35:00.000Z"
}
],
"IncidentThreads": [
{
"id": 1,
"incidentId": 123,
"employeeId": 40,
"senderType": "user",
"response": "Mi respuesta a la incidencia",
"createdAt": "2025-01-15T09:00:00.000Z",
"employee": {
"id": 40,
"name": "Juan",
"lastName": "Pérez"
}
},
{
"id": 2,
"incidentId": 123,
"employeeId": 1,
"senderType": "admin",
"response": "Respuesta del administrador",
"createdAt": "2025-01-15T09:30:00.000Z",
"employee": {
"id": 1,
"name": "Admin",
"lastName": "Sistema"
}
}
]
}
}
}
Campos adicionales (vs listado)
| Campo |
Tipo |
Descripción |
IncidentFiles |
array |
Archivos adjuntos a la incidencia |
IncidentThreads |
array |
Mensajes del hilo de la incidencia |
Estructura de IncidentThreads
| Campo |
Tipo |
Descripción |
id |
number |
ID único del mensaje |
incidentId |
number |
ID de la incidencia |
employeeId |
number |
ID del empleado que envió el mensaje |
response |
string |
Contenido del mensaje |
senderType |
string |
Tipo de remitente: user o admin |
createdAt |
string |
Fecha de creación (ISO 8601) |
employee |
object |
Datos del empleado |
Errores
| Código |
Mensaje |
Descripción |
| 400 |
employeeId missing from token |
Token inválido |
| 400 |
Invalid incident id |
ID no válido |
| 404 |
Incident not found |
Incidencia no existe o no pertenece al empleado |
| 401 |
Unauthorized |
Token no proporcionado o expirado |