Skip to main content

Create Custom Calendar Event

POST/api/v1/cases/{caseId}

Creates a custom calendar event for a case. Allows scheduling meetings or activities with a defined time, timezone, location, and optional meeting link.

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

Headers
content-typestringrequired

`application/json`

cv-api-keystringrequired

Organization API key

Path Parameters
caseIdstring<UUID>required

Case identifier

Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
Request Body
actionstringrequired

The action to perform. Must be `CREATE_CALENDAR_EVENT`.

Values:CREATE_CALENDAR_EVENT
calendarobjectrequired

Calendar event details.

Show 9 child properties
titlestringrequired

Event title.

Example: Quarterly Planning Meeting
agentNamestringrequired

Must be `custom`.

Values:custom
descriptionstringoptional

Event agenda or description.

Example: Review priorities and align on next-quarter goals.
startTimestringrequired

Start time in ISO 8601 format (UTC). Must be before endTime.

Example: 2025-03-10T14:00:00Z
endTimestringrequired

End time in ISO 8601 format (UTC). Must be after startTime.

Example: 2025-03-10T15:00:00Z
timeZonestringrequired

IANA timezone identifier. Times are stored in UTC; display uses this timezone.

Example: America/New_York
meetingLinkstringrequired

Virtual meeting URL.

Example: https://example.com/meet/123
locationstringrequired

Location type for the meeting.

Values:google_conferencezoom_conferencemicrosoft_teams_conferencewebex_conference
providerobjectoptional

Provider information.

Show 2 child properties
emailstringrequired

Provider email address.

Example: provider@example.com
namestringrequired

Provider name.

Example: Dr. Smith

Notes

  • startTime must be before endTime.
  • Times are stored in UTC; display uses the timeZone value.

Examples

curl --request POST \
--url "https://api.example.com/api/v1/cases/{caseId}" \
--header "content-type: application/json" \
--header "cv-api-key: your-org-cv-api-key" \
--data '{
"action": "CREATE_CALENDAR_EVENT",
"calendar": {
"title": "Quarterly Planning Meeting",
"agentName": "custom",
"description": "Review priorities and align on next-quarter goals.",
"startTime": "2025-12-31T14:00:00Z",
"endTime": "2025-12-31T15:00:00Z",
"timeZone": "America/New_York",
"meetingLink": "https://example.com/meet/123",
"location": "gotomeeting_conference",
"provider": {
"email": "provider@example.com",
"name": "Dr. Smith"
}
}
}'

Try It Out

Responses

200SuccessCalendar event created successfully.
{
"status": 200,
"success": true,
"message": "Case calendar event created successfully",
"data": {
"success": true,
"calendarEventId": "123e4567-e89b-12d3-a456-426614174000"
}
}
400Bad Request — Invalid ActionReturned when the action field is not a recognized value.
{
"status": 400,
"success": false,
"message": "Invalid request",
"error": "Invalid action"
}
400Bad Request — Missing FieldsReturned when required fields are missing from the request body.
{
"status": 400,
"success": false,
"message": "Invalid request parameters",
"error": "calendar.meetingLink, Invalid input: expected string, received undefined"
}
401UnauthorizedReturned when API key is missing or invalid.
{
"status": 401,
"success": false,
"message": "Invalid or missing API key"
}
404Not FoundReturned when no case exists with the provided caseId.
{
"status": 404,
"success": false,
"message": "Invalid request",
"error": "No Case found for provided details!"
}
422Unprocessable EntityReturned when time validation fails.
{
"status": 422,
"success": false,
"message": "Time validation failed"
}
500Internal Server ErrorReturned when an unexpected error occurs.
{
"status": 500,
"success": false,
"message": "Internal error"
}