Reopen Alert
Reopens a resolved alert by alertId or alertReference.
PATCH
/api/integration/alert/reopenRequest
cURL
curl -X PATCH "https://dev.integration.cl.sodtrack-shared.sodtrack.com/api/integration/alert/reopen" \
-H "Authorization: Bearer $SODTRACK_TOKEN" \
-H "origin: <your-origin>"Base URL: https://dev.integration.cl.sodtrack-shared.sodtrack.com · other environments
Headers
| Name | Type | Description |
|---|---|---|
origin | string | — |
General Description
Reopens a resolved alert by alertId or alertReference.
Field Definitions
Request Body: ExternalIntegrationReopenAlertRequestDTO
| Field | Type | Required | Description |
|---|---|---|---|
alert | ExternalIntegrationAlertIdentifierRequestDTO | Yes | Alert identifier object. |
ExternalIntegrationAlertIdentifierRequestDTO
| Field | Type | Required | Description |
|---|---|---|---|
type | enum | Yes | alertId or alertReference. |
value | string | Yes | ID or reference value according to type. |
Example Request
json
{
"alert": {
"type": "alertId",
"value": "10"
}
}
Example Response
http
HTTP/1.1 200 OK
json
{
"id": 10,
"uuid": "d73c51c5-3fbe-4d8e-8f24-2ecce2f8e8e1",
"entityType": "booking",
"entityId": 12345,
"name": "Technician unavailable",
"status": "active",
"creationUserType": "integration_api",
"createdByUserId": null,
"creationType": "manual",
"resolveType": "manual",
"metricKey": "capacity",
"metricValue": "0",
"createdComment": "Created from external monitoring",
"reference": "EXT-ALERT-100",
"resolvedComment": "Issue solved by integration workflow.",
"resolvedByUserId": null,
"resolvedDate": "2026-02-24T10:30:00.000Z",
"createdDate": "2026-02-24T10:00:00.000Z",
"updatedDate": "2026-02-24T11:00:00.000Z"
}
Example Error Responses
json
{
"statusCode": 400,
"message": "INVALID_ALERT_IDENTIFIER_TYPE",
"error": "Bad Request"
}
json
{
"statusCode": 400,
"message": "ONLY_RESOLVED_ALERT_CAN_BE_REOPENED",
"error": "Bad Request"
}
json
{
"statusCode": 400,
"message": "STICKY_ALERT_CANNOT_BE_REOPENED",
"error": "Bad Request"
}
json
{
"statusCode": 404,
"message": "ALERT_NOT_FOUND",
"error": "Not Found"
}
Business Rules & Constraint
-
alert.typemust bealertIdoralertReference; otherwise returnsINVALID_ALERT_IDENTIFIER_TYPE. -
If identifier is missing/empty after normalization, backend returns
ALERT_IDENTIFIER_REQUIRED. -
Only alerts with status
resolvedcan be reopened: otherwiseONLY_RESOLVED_ALERT_CAN_BE_REOPENED. -
Alerts with
resolveType = stickycannot be reopened via API:STICKY_ALERT_CANNOT_BE_REOPENED. -
If alert does not exist:
ALERT_NOT_FOUND.