Get Case Details by ID
Retrieves detailed information about a customer case, including optional attachments, calendar events, and related orders (when present).
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. | |
| includeOrders | string | No | Set to "true" to include related orders. | |
| includeCaseProducts | string | No | Set to "true" to include related case products. |
Note: Either
caseIdor
Responses
200 OK
{
"status": 200,
"success": true,
"caseDetail": {
"id": "string (UUID)",
"type": "string",
"title": "string",
"status": "APPROVED",
"shortId": "string",
"createdAt": "string (ISO 8601)",
"updatedAt": "string (ISO 8601)",
"assignedAt": "string (ISO 8601)",
"inProgressAt": "string (ISO 8601)",
"closedAt": "string (ISO 8601)",
"isArchived": false,
"isEscalated": false,
"isImported": false,
"referralCode": null,
"closedBy": "string (UserId)",
"inProgressBy": "string (UserId)",
"archiveReason": null,
"archiveNote": null,
"productBundleId": "string (UUID)",
"productBundle": {
"id": "string (UUID)",
"name": "string"
},
"assignedTo": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
},
"hrRep": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
},
"assignedBy": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
},
"assignees": [
{
"assignee": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
}
}
],
"submitter": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string",
"email": "string",
"dob": "string or null",
"gender": "string or null",
"phoneNumber": "string or null",
"address": "string",
"address2": "string or null",
"city": "string",
"state": "string",
"postalCode": "string"
},
"activity": [
{
"id": "string (UUID)",
"type": "CREATE_CASE",
"isPHI": false,
"isRestricted": false,
"timestamp": "string (ISO 8601)",
"valueBefore": null,
"valueAfter": null
}
],
"decisions": [
{
"id": "string (UUID)",
"isApproved": true,
"isNoDecision": false,
"startDate": "string (ISO Date)",
"endDate": "string (ISO Date)",
"decisionText": "string",
"category": null,
"createdAt": "string (ISO 8601)",
"isPaid": false,
"visitType": "string",
"productId": "string (UUID)",
"medInfo": [
{
"id": "string (UUID)",
"externalId": null,
"medicine": "string",
"isRefill": false,
"dosage": "string",
"refillCount": 4,
"pharmacyInstructions": "string",
"dosingFrequency": "string",
"treatmentPeriod": "string",
"isPriorAuthRequested": false,
"orderNote": "string"
}
],
"addedBy": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string",
"title": "string or null",
"titleSuffix": "string or null",
"email": "string",
"phoneNumber": "string or null",
"npi": "string or null",
"dea": "string or null",
"address": "string or null",
"address2": "string or null",
"city": "string or null",
"state": "string or null",
"postalCode": "string or null",
"country": "string or null"
}
}
],
"caseProducts": [
{
"id": "string (UUID)",
"createdAt": "string (ISO 8601)",
"organizationProduct": {
"id": "string (UUID)",
"name": "string"
},
"subscription": {
"interval": "string or null (day, week, month, year)",
"intervalCount": "number or null"
},
"caseProductRequests": [ //passing only latest case product request
{
"id": "string (UUID)",
"status": "string",
"formResponseId": "string (UUID)",
"visitType": "string",
"createdAt": "string (ISO 8601)",
"updatedAt": "string (ISO 8601)"
}
]
}
],
"comments": [
{
"id": "string (UUID)",
"text": "string",
"isRestricted": false,
"forms": [],
"createdAt": "string (ISO 8601)",
"author": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
},
"attachments": [
{
"id": "string (UUID)",
"isRestricted": false,
"isPHI": false,
"fileName": "string",
"isDeleted": false,
"createdAt": "string (ISO 8601)",
"uploadedBy": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
},
"url": "string (when documentFormat=url)",
"content": "string (when documentFormat=base64)"
}
]
}
],
"notes": [
{
"id": "string (UUID)",
"text": "string",
"isRestricted": true,
"forms": [],
"createdAt": "string (ISO 8601)",
"author": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
},
"attachments": [
{
"id": "string (UUID)",
"isRestricted": true,
"isPHI": false,
"fileName": "string",
"isDeleted": false,
"createdAt": "string (ISO 8601)",
"uploadedBy": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
},
"url": "string (when documentFormat=url)",
"content": "string (when documentFormat=base64)"
}
]
}
],
"payments": [
{
"id": "string (UUID)",
"isDeleted": false,
"description": "string",
"amount": "string",
"status": "string",
"dueDate": "string (ISO 8601)",
"paymentDate": null,
"cancellationDate": null,
"isScheduled": false,
"schedulePosition": null,
"isAutoCreated": false,
"createdAt": "string (ISO 8601)",
"updatedAt": "string (ISO 8601)",
"fees": {
"consultFee": "string",
"convenienceFee": "string",
"paymentProcessingFee": "string",
"pharmacyFee": "string",
"shippingFee": "string",
"syringeKitFee": "string",
"techPlatformFee": "string",
"subFees": [
{
"label": "string",
"amount": "string"
}
]
},
"createdBy": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string",
"email": "string"
}
}
],
"attachments": [
{
"id": "string (UUID)",
"isRestricted": false,
"isPHI": false,
"fileName": "string.png",
"isDeleted": false,
"createdAt": "string (ISO 8601)",
"uploadedBy": {
"firstName": "string",
"lastName": "string"
},
"url": "string (when documentFormat=url)",
"content": "string (when documentFormat=base64)"
}
],
"calendarEvents": [
{
"id": "string (UUID)",
"startDateTime": "string (ISO 8601)",
"endDateTime": "string (ISO 8601)",
"timezone": "string",
"meetingLink": "string",
"meetingProvider": "string",
"cancelURL": "string",
"rescheduleURL": "string",
"providerName": "string",
"providerEmail": "string"
}
],
"orders": [
{
"id": "string",
"externalId": "string (UUID)",
"pharmacyOrderId": "string",
"trackingId": "string or null",
"status": "string",
"message": "string or null",
"pharmacyName": "string",
"createdAt": "string (ISO date)",
"items": [
{
"id": "string",
"name": "string",
"quantity": "string"
}
],
"replacementReason": "string or null",
"shippingLogs": [
{
"statusUpdatedAt": "string (ISO date)",
"location": "string or null",
"message": "string or null",
"status": "string or null"
}
],
"estDeliveryAt": "string (ISO date) or null",
"trackingUrl": "string or null",
"carrierName": "string or null"
}
],
"responses": [
{
"id": "string (UUID)",
"isDraft": false,
"form": {
"id": "string (UUID)",
"name": "string",
"description": "string"
},
"responses": [
{
"id": "string (UUID)",
"isArchived": false,
"text": "string",
"createdAt": "string (ISO 8601)",
"question": {
"index": 1,
"type": "TEXT",
"text": "string",
"isPHI": false,
"options": [],
"required": false
},
"respondent": {
"id": "string (UserId)",
"firstName": "string",
"lastName": "string"
}
}
]
}
]
}
}
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
- When
includeCaseProducts=true, each item incaseProductsmay include asubscriptionobject withintervalandintervalCount. When a case product has no subscription data,subscriptionmay be null or both fields may be null. Allowedintervalvalues:"day","week","month","year"(lowercase);intervalCountis a positive integer. - The
submitterobject is a "Detailed User" containing full profile information. - The
assignedTo,assignedBy,hrRep, etc., are "Basic User" objects containing onlyid,firstName, andlastName. - The
attachmentsarray will contain eithercontent(base64) orurldepending on thedocumentFormatparameter. - The
commentsarray contains public comments;notescontains restricted/internal comments. - The
decisionsarray contains all decisions made for the case. - The
calendarEventsarray is included only ifincludeCalendarEvents=trueis set. - The
ordersarray is included only ifincludeOrders=trueis set. itemsandshippingLogsare included when available.