Buscar en la documentación

Incidentes

Catálogos, listado, alta, edición, estados, asignación, reapertura y conversación.

20 endpointsGET · 8POST · 7PUT · 3DELETE · 2
GET/catalogsPrioridades y estados con sus transiciones (con ETag)
Permiso
Sesión

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
If-None-MatchETag anteriorSi nada cambió, responde 304 sin cuerpo

Respuesta 200

CampoTipo
dataobjeto
data.prioritieslista de objeto
data.statuseslista de objeto
{
  "data": {
    "priorities": [
      "high"
    ],
    "statuses": [
      "in_progress"
    ]
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores
ETagVersión de los catálogos

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
GET/incidents/assigneesPersonas a las que se puede asignar: cuentas activas con el permiso incidents.status.assigned, por su rol o concedido a la persona (permisos por persona)
Permiso
incidents.assign

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)

Respuesta 200

CampoTipo
datalista de objeto
{
  "data": [
    "texto"
  ]
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
GET/incidentsListado paginado, con orden, búsqueda y filtros (ver abajo)
Permiso
Sesión; cada persona ve lo suyo

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)

Parámetros

NombreDóndeTipoObligatorio
pageConsultaentero · ≥ 1No
per_pageConsultaentero · ≥ 1 · ≤ 100No
sortConsulta"created_at" | "due_date" | "updated_at" | "priority" | "status" | "code" | "-created_at" | "-due_date" | "-updated_at" | "-priority" | "-status" | "-code"No
searchConsultatexto · máx. 100No
group_byConsulta"due" | "status" | "priority" | "assignee"No
filter[status][]Consultalista de textoNo
filter[priority][]Consultalista de textoNo
filter[assignee][]Consultalista de textoNo
filter[creator]ConsultatextoNo
filter[created_from]Consultatexto · date-timeNo
filter[created_to]Consultatexto · date-timeNo
filter[due_from]Consultatexto · date-timeNo
filter[due_to]Consultatexto · date-timeNo
filter[overdue]Consultasí/noNo
filter[deleted]Consultasí/noNo
filter[reopen_requested]Consultasí/noNo

Respuesta 200

CampoTipo
datalista de objeto
metaobjeto
meta.pageentero
meta.per_pageentero
meta.totalentero
meta.last_pageentero
meta.groupslista de objeto
{
  "data": [
    "texto"
  ],
  "meta": {
    "page": 1,
    "per_page": 1,
    "total": 12,
    "last_page": 1,
    "groups": [
      "texto"
    ]
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
GET/incidents/mine"Mis incidentes": todos los asignados a quien pregunta, en curso o terminados hace 7 días o menos, por vencimiento, con actions y next_statuses y hasta 500 (meta.truncated, limit, finished_days) (Mis incidentes)
Permiso
incidents.view.assigned

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)

Respuesta 200

CampoTipo
datalista de objeto
metaobjeto
meta.truncatedsí/no
meta.limitentero
meta.finished_daysentero
{
  "data": [
    "texto"
  ],
  "meta": {
    "truncated": false,
    "limit": 20,
    "finished_days": 1
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
GET/incidents/exportLo mismo del listado, sin página, en un archivo CSV (Exportación)
Permiso
incidents.export; 5 por minuto

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)

Parámetros

NombreDóndeTipoObligatorio
pageConsultaentero · ≥ 1No
per_pageConsultaentero · ≥ 1 · ≤ 100No
sortConsulta"created_at" | "due_date" | "updated_at" | "priority" | "status" | "code" | "-created_at" | "-due_date" | "-updated_at" | "-priority" | "-status" | "-code"No
searchConsultatexto · máx. 100No
group_byConsulta"due" | "status" | "priority" | "assignee"No
filter[status][]Consultalista de textoNo
filter[priority][]Consultalista de textoNo
filter[assignee][]Consultalista de textoNo
filter[creator]ConsultatextoNo
filter[created_from]Consultatexto · date-timeNo
filter[created_to]Consultatexto · date-timeNo
filter[due_from]Consultatexto · date-timeNo
filter[due_to]Consultatexto · date-timeNo
filter[overdue]Consultasí/noNo
filter[deleted]Consultasí/noNo
filter[reopen_requested]Consultasí/noNo

Respuesta 200

Devuelve un archivo para descargar (CSV), no JSON.

Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores
Content-DispositionNombre del archivo que se descarga
Retry-AfterEn un 429: segundos para volver a intentar

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)
  • 429Demasiadas peticiones (TOO_MANY_REQUESTS, con Retry-After)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
POST/incidentsCrear (acepta Idempotency-Key)
Permiso
incidents.create

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
Idempotency-KeyUUIDEvita crear dos veces el mismo incidente si la petición se repite
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Cuerpo

CampoTipoObligatorio
titletexto · mín. 5 · máx. 80Sí
descriptiontexto · máx. 5000Sí
prioritytextoSí
due_datetexto | null · date-timeNo
assigneetexto | nullNo
versionNo se envía: un incidente nuevo no tiene versión anterior—No se acepta
{
  "title": "No llega el correo de recuperación",
  "description": "El correo no llega desde esta mañana.",
  "priority": "high",
  "due_date": "2026-11-01T14:30:00Z",
  "assignee": "01jbzk8m3q9w2e5r7t1y4u6i0p"
}

Respuesta 201

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
GET/incidents/{incident}Detalle con actions, next_statuses y comments_count
Permiso
Verlo

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Respuesta 200

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
data.comments_countentero
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    },
    "comments_count": 12
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
PUT/incidents/{incident}Editar título, descripción, prioridad y vencimiento
Permiso
Ver la tabla de reglas

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Cuerpo

CampoTipoObligatorio
titletexto · mín. 5 · máx. 80Sí
descriptiontexto · máx. 5000Sí
prioritytextoSí
due_datetexto · date-timeNo
assigneeNo se envía: la asignación tiene su propio endpoint—No se acepta
versionentero · ≥ 1Sí
{
  "title": "No llega el correo de recuperación",
  "description": "El correo no llega desde esta mañana.",
  "priority": "high",
  "due_date": "2026-11-01T14:30:00Z",
  "version": 3
}

Respuesta 200

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
PUT/incidents/{incident}/statusCambiar el estado, con note (obligatoria donde el catálogo lo pide)
Permiso
Ver la tabla de reglas

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Cuerpo

CampoTipoObligatorio
versionentero · ≥ 1Sí
statustexto · máx. 30Sí
notetexto | null · máx. 1000No
{
  "version": 3,
  "status": "in_progress",
  "note": "El correo no llega desde esta mañana."
}

Respuesta 200

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
PUT/incidents/{incident}/assigneeTomar, asignar o quitar la asignación (null)
Permiso
Ver la tabla de reglas

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Cuerpo

CampoTipoObligatorio
versionentero · ≥ 1Sí
assigneenull deja el incidente sin asignartexto | nullSí
{
  "version": 3,
  "assignee": "01jbzk8m3q9w2e5r7t1y4u6i0p"
}

Respuesta 200

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
DELETE/incidents/{incident}Borrado lógico
Permiso
incidents.delete

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Respuesta 204

Sin cuerpo: la operación salió bien.

Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
POST/incidents/{incident}/restoreRestaurar
Permiso
incidents.restore

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Respuesta 200

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
GET/incidents/{incident}/activitiesHistorial, de lo más reciente a lo más antiguo, 50 por página
Permiso
Verlo

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí
pageConsultaenteroNo

Respuesta 200

CampoTipo
datalista de objeto
data[].typeobjeto
data[].type.codetexto
data[].type.nametexto
data[].userobjeto
data[].user.idtexto
data[].user.nametexto
data[].changesobjeto | null
data[].notetexto | null
data[].created_attexto
metaobjeto
meta.pageentero
meta.per_pageentero
meta.totalentero
{
  "data": [
    {
      "type": {
        "code": "in_progress",
        "name": "Andrés Castro"
      },
      "user": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "changes": {},
      "note": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 1,
    "total": 12
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
POST/incidents/{incident}/reopen-requestPedir que se reabra, con reason (Reapertura)
Permiso
incidents.reopen.request

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Cuerpo

CampoTipoObligatorio
reasontexto · máx. 1000Sí
{
  "reason": "El correo no llega desde esta mañana."
}

Respuesta 201

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
POST/incidents/{incident}/reopen-request/approveAprobar la solicitud pendiente (con version)
Permiso
incidents.reopen.approve

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Cuerpo

CampoTipoObligatorio
versionentero · ≥ 1Sí
{
  "version": 3
}

Respuesta 200

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
POST/incidents/{incident}/reopen-request/rejectRechazarla, con reason
Permiso
incidents.reopen.approve

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Cuerpo

CampoTipoObligatorio
reasontexto · máx. 1000Sí
{
  "reason": "El correo no llega desde esta mañana."
}

Respuesta 200

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
POST/incidents/{incident}/reopenReabrir directamente, con reason y version
Permiso
incidents.reopen.approve

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Cuerpo

CampoTipoObligatorio
versionentero · ≥ 1Sí
reasontexto · máx. 1000Sí
{
  "version": 3,
  "reason": "El correo no llega desde esta mañana."
}

Respuesta 200

CampoTipo
dataobjeto
data.descriptiontexto
data.next_statuseslista de objeto
data.reopen_requestobjeto | null
data.reopen_request.requested_byobjeto
data.reopen_request.reasontexto
data.reopen_request.created_attexto | null
{
  "data": {
    "description": "El correo no llega desde esta mañana.",
    "next_statuses": [
      "in_progress"
    ],
    "reopen_request": {
      "requested_by": {
        "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
        "name": "Andrés Castro"
      },
      "reason": "El correo no llega desde esta mañana.",
      "created_at": "2026-11-01T14:30:00Z"
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
GET/incidents/{incident}/commentsConversación, del mensaje más nuevo al más viejo, 50 por página (before para los anteriores) (Conversación)
Permiso
Verlo

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí
beforeConsultatextoNo

Respuesta 200

CampoTipo
datalista de objeto
metaobjeto
meta.totalentero
meta.beforetexto | null
{
  "data": [
    "texto"
  ],
  "meta": {
    "total": 12,
    "before": "texto"
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
POST/incidents/{incident}/commentsEscribir un mensaje (body, hasta 2.000 caracteres)
Permiso
incidents.comment; 20 por minuto

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
Content-Typeapplication/jsonCuerpo en JSON
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí

Cuerpo

CampoTipoObligatorio
bodytexto · máx. 2000Sí
{
  "body": "El correo no llega desde esta mañana."
}

Respuesta 201

CampoTipo
dataobjeto
data.idtexto
data.authorobjeto
data.author.idtexto
data.author.nametexto
data.bodytexto | null
data.minesí/no
data.created_attexto
data.deleted_attexto | null
data.actionsobjeto
data.actions.deletesí/no
{
  "data": {
    "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
    "author": {
      "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
      "name": "Andrés Castro"
    },
    "body": "El correo no llega desde esta mañana.",
    "mine": true,
    "created_at": "2026-11-01T14:30:00Z",
    "deleted_at": "2026-11-01T14:30:00Z",
    "actions": {
      "delete": true
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores
Retry-AfterEn un 429: segundos para volver a intentar

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo
  • 422Algún dato no es válido (VALIDATION_FAILED, con el detalle por campo)
  • 429Demasiadas peticiones (TOO_MANY_REQUESTS, con Retry-After)

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca
DELETE/incidents/{incident}/comments/{comment}Borrar un mensaje propio, durante 5 minutos
Permiso
Quien lo escribió

Cabeceras de la petición

CabeceraValorPara qué
AuthorizationBearer trazo_…Token de sesión que entrega el ingreso
Acceptapplication/jsonLa API siempre responde JSON (o un archivo, en la exportación)
X-Socket-IDopcionalPara no recibir en tiempo real el aviso de tu propio cambio

Parámetros

NombreDóndeTipoObligatorio
incidentRutatextoSí
commentRutatextoSí

Respuesta 200

CampoTipo
dataobjeto
data.idtexto
data.authorobjeto
data.author.idtexto
data.author.nametexto
data.bodytexto | null
data.minesí/no
data.created_attexto
data.deleted_attexto | null
data.actionsobjeto
data.actions.deletesí/no
{
  "data": {
    "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
    "author": {
      "id": "01jbzk8m3q9w2e5r7t1y4u6i0p",
      "name": "Andrés Castro"
    },
    "body": "El correo no llega desde esta mañana.",
    "mine": true,
    "created_at": "2026-11-01T14:30:00Z",
    "deleted_at": "2026-11-01T14:30:00Z",
    "actions": {
      "delete": true
    }
  }
}
Cabecera de la respuestaPara qué
X-Request-IdIdentificador de la petición; es el trace_id de los errores

Errores posibles

  • 401Sin sesión o la sesión expiró (UNAUTHENTICATED)
  • 404No existe o quien pregunta no puede verlo

Todos llegan en formato RFC 9457 con su code y trace_id: ver Errores de la API.

Ver el módulo en la biblioteca