Get Case Details by ID
Retrieves detailed information about a customer case, including optional attachments and calendar events.
HTTP Request
GET <BASE_URL>/api/v1/customer-case-detail
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| cv-api-key | string | Yes | Secret API key for authentication |
Query Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| caseId | string | No | The ID of the case to retrieve. | |
| string | No | The email address of the case submitter. | ||
| includeAttachments | string | No | Set to "true" to include attachments in the response. | |
| documentFormat | string | No | base64 | Format for attachments. Must be either "base64" or "url" if attachments. |
| includeCalendarEvents | string | No | Set to "true" to include related calendar events. |
Note: Either
caseIdor
Responses
200 OK
{
"status": 200,
"success": true,
"caseDetail": {
"id": "string",
"shortId": "string",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)",
"title": "string",
"status": "string",
"type": "string",
"submitter": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
},
"assignedTo": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
},
"assignedBy": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
},
"inProgressAt": "string (ISO date) or null",
"closedAt": "string (ISO date) or null",
"isArchived": "boolean",
"attachments": [
{
"id": "string",
"fileName": "string",
"contentType": "string",
"size": "number",
"uploadedAt": "string (ISO date)",
"content": "string (base64)",
"url": "string (if documentFormat=url)",
"uploadedBy": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
}
}
],
"comments": [
{
"id": "string",
"text": "string",
"author": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
},
"createdAt": "string (ISO date)",
"isRestricted": "boolean",
"attachments": [
{
"id": "string",
"fileName": "string",
"contentType": "string",
"size": "number",
"uploadedAt": "string (ISO date)",
"content": "string (base64)",
"url": "string (if documentFormat=url)",
"uploadedBy": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
}
}
]
}
],
"notes": [
{
"id": "string",
"text": "string",
"author": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
},
"createdAt": "string (ISO date)",
"isRestricted": true,
"attachments": [
{
"id": "string",
"fileName": "string",
"contentType": "string",
"size": "number",
"uploadedAt": "string (ISO date)",
"content": "string (base64)",
"url": "string (if documentFormat=url)",
"uploadedBy": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
}
}
]
}
],
"calendarEvents": [
{
"id": "string",
"startDateTime": "string (ISO date)",
"endDateTime": "string (ISO date)",
"timezone": "string",
"meetingLink": "string",
"cancelURL": "string",
"rescheduleURL": "string",
"meetingNotes": "string",
"meetingProvider": "string",
"organizer": {
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
},
"participants": [
{
"id": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string",
"phoneNumber": "string",
"isActive": "boolean",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
}
]
}
]
}
}
Error Responses
- If neither
caseIdnoremailis provided:
{
"status": 400,
"success": false,
"error": "caseId or email parameters must be provided!"
}
- If the case is not found:
{
"status": 404,
"success": false,
"error": "No Case found for provided details!"
}
- If the user does not have permission:
{
"status": 403,
"success": false,
"error": "Permission denied!"
}
Example Request
curl -X GET "<BASE_URL>/api/v1/customer-case-detail?caseId=123&includeAttachments=true&documentFormat=url" \
-H "cv-api-key: your-secret-key"
Notes
- The
User objecttypically includes fields likeid,email,firstName,lastName, etc. - The
attachmentsarray will contain eithercontent(base64) orurldepending on thedocumentFormatparameter. - The
commentsarray contains public comments;notescontains restricted/internal comments. - The
calendarEventsarray is included only ifincludeCalendarEvents=trueis set.