Skip to main content

Change Case Status

POST/api/v1/cases/:caseId

Opens, closes, or reopens a case using the CHANGE_CASE_STATUS action.

cv-api-key
Productionhttps://api.care360-next.carevalidate.com/api/v1/cases/:caseId
Staginghttps://api-staging.care360-next.carevalidate.com/api/v1/cases/:caseId

Parameters

Path Parameters
caseIdstringrequired

The unique identifier (UUID) of the case.

Headers
cv-api-keystringrequired

Your unique API key for authentication.

Content-Typestringrequired

Must be application/json.

Example: application/json
Request Body
actionstringrequired

Action to perform. Must be `CHANGE_CASE_STATUS`.

Values:CHANGE_CASE_STATUS
statusstringrequired

The target status for the case.

Values:OPENCLOSEREOPEN
reasonstringoptional

Optional reason for closing the case. Only applicable when `status` is `CLOSE`. Stored as the archive note.

Status Behaviour

statusAllowed whenEffect
OPENCase is ASSIGNED, ABANDONED, or already OPENReverts the case status to OPEN. If the case was ABANDONED, auto-assignment is triggered.
CLOSECase is not archivedArchives the case, cancels all pending jobs, and stores the optional reason as an archive note.
REOPENCase is archivedUnarchives the case and clears the archive reason and note. This is the only action allowed on a closed (archived) case.

Validation Rules

  • status: Required. Must be one of OPEN, CLOSE, or REOPEN.
  • OPEN on archived case: Returns 400 — use REOPEN to unarchive first.
  • CLOSE / OPEN / REOPEN on another org's case: Returns 401.

Examples

curl --location '<BASE_URL>/api/v1/cases/:caseId' \
--header 'cv-api-key: <redacted>' \
--header 'Content-Type: application/json' \
--data-raw '{
"action": "CHANGE_CASE_STATUS",
"status": "OPEN"
}'

Responses

200Case OpenedReturned when the case is successfully opened.
{
"status": 200,
"success": true,
"message": "Case opened successfully"
}
200Case ClosedReturned when the case is successfully closed.
{
"status": 200,
"success": true,
"message": "Case closed successfully"
}
200Case ReopenedReturned when the case is successfully reopened.
{
"status": 200,
"success": true,
"message": "Case reopened successfully"
}
400Case Already ClosedReturned when trying to OPEN or CLOSE an already archived case.
{
"status": 400,
"success": false,
"message": "Invalid request",
"error": "Case has been closed"
}
400Invalid StatusReturned when the status value is not one of OPEN, CLOSE, or REOPEN.
{
"status": 400,
"success": false,
"message": "Invalid request",
"error": "Invalid status value"
}
400Case Not FoundReturned when no case exists with the provided caseId.
{
"status": 400,
"success": false,
"message": "Invalid request",
"error": "No Case found for provided details!"
}
401Permission DeniedReturned when the case belongs to a different organization.
{
"status": 401,
"success": false,
"message": "Permission denied",
"error": "Permission denied"
}

Try It Out