Skip to main content

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

NameTypeRequiredDescription
cv-api-keystringYesSecret API key for authentication

Query Parameters

NameTypeRequiredDefaultDescription
caseIdstringNoThe ID of the case to retrieve.
emailstringNoThe email address of the case submitter.
includeAttachmentsstringNoSet to "true" to include attachments in the response.
documentFormatstringNobase64Format for attachments. Must be either "base64" or "url" if attachments.
includeCalendarEventsstringNoSet to "true" to include related calendar events.
includeOrdersstringNoSet to "true" to include related orders.
includeCaseProductsstringNoSet to "true" to include related case products.

Note: Either caseId or email is required. At least one must be provided.

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 caseId nor email is 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 in caseProducts may include a subscription object with interval and intervalCount. When a case product has no subscription data, subscription may be null or both fields may be null. Allowed interval values: "day", "week", "month", "year" (lowercase); intervalCount is a positive integer.
  • The submitter object is a "Detailed User" containing full profile information.
  • The assignedTo, assignedBy, hrRep, etc., are "Basic User" objects containing only id, firstName, and lastName.
  • The attachments array will contain either content (base64) or url depending on the documentFormat parameter.
  • The comments array contains public comments; notes contains restricted/internal comments.
  • The decisions array contains all decisions made for the case.
  • The calendarEvents array is included only if includeCalendarEvents=true is set.
  • The orders array is included only if includeOrders=true is set.
  • items and shippingLogs are included when available.