---
title: "Create communication log (beta)"
method: POST
path: "/communication_logs"
tags: ["Communication Logs"]
---

# Create communication log (beta)

`POST /communication_logs`

## Request

- Base URL: `https://nexhealth.info`
- URL: `https://nexhealth.info/communication_logs`
- Auth: API key in header `Authorization`

> 🚧 Beta
>
> Send `Nex-Api-Version: v3.1.0` to use this endpoint. It is still changing, and access is limited to approved partner institutions. Contact NexHealth before you build on it.
>
> **Health record systems:** Works with Open Dental.

Supported for Open Dental locations only. Requests for a location on any other EHR are rejected with 422. This endpoint registers a request to append an entry to the patient's communication log in the connected EHR, for example a summary of a phone call or the transcript of a text conversation, and returns 202 Accepted with the request in `in_progress` status. The entry is written to the EHR asynchronously: poll this request to learn whether the write-back `succeeded` or `failed`. Entries are append-only and cannot be updated or deleted through the API. A request that `succeeded` wrote one entry, so do not resend it; a request that `failed` wrote nothing and is retried by submitting a new one.

## Query parameters

- `subdomain` string, required
- `location_id` integer, required

## Headers

- `Nex-Api-Version` string, required

## Request body

- PostCommunicationLogs: Create communication log
  - `communication_log` object, required: Communication log details
    - `patient_id` integer, required: Patient the communication was with
    - `mode` 'phone' | 'text' | 'email' | 'mail' | 'in_person', required: How the practice and the patient communicated
    - `direction` 'sent' | 'received': Whether the practice sent or received the communication. Omit when the exchange had no single direction, such as a two-way text conversation
    - `note` string, required: Body of the log entry, written to the EHR verbatim
    - `occurred_at` string, date-time: When the communication happened (UTC). Defaults to the time of the request

## Response `202`

Successful

- APIV31EntitiesCommunicationLogCreateDirectiveResponse: API_V31_Entities_CommunicationLogCreateDirective_Response model
  - `code` boolean: Indicates the success or failure of the request
  - `description` string: Additional context on the request to help with debugging.
  - `error` string[]: Any errors that occur during the execution of the request.
  - `data` APIV31EntitiesCommunicationLogCreateDirective
    - `id` string: ID of the communication log request (UUID)
    - `patient_id` integer: Patient ID
    - `location_id` integer: Location ID
    - `mode` 'phone' | 'text' | 'email' | 'mail' | 'in_person': How the practice and the patient communicated
    - `direction` 'sent' | 'received': Whether the practice sent or received the communication. Null when the exchange had no single direction, such as a two-way text conversation
    - `note` string: Body of the log entry, written to the EHR verbatim
    - `occurred_at` string, date-time: When the communication happened, in UTC
    - `status` 'in_progress' | 'succeeded' | 'failed': Status of the write-back to the EHR: `in_progress` until the EHR integration reports back, then `succeeded` or `failed`
    - `completed_at` string, date-time: When the write-back reached its final status. Null while in progress
    - `created_at` string, date-time: When the request was registered, in UTC
  - `count` integer: Number of total objects, in case of collection.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/nexhealth/apis/nexhealth-api-v3-1-0-beta.md) - [All operations](https://skmtc.dev/nexhealth/apis/nexhealth-api-v3-1-0-beta/llms.txt) - [OpenAPI document](https://skmtc.dev/nexhealth/apis/nexhealth-api-v3-1-0-beta/revisions/93cb4af790a5?raw)
