---
updatedAt: 2026-10-17T02:17:44.000Z
agentTools:
  projectIndex: https://docs.nexhealth.com/llms.txt
---

# View sync status

This endpoint returns the live status of every sync the caller can access, one entry per sync, with separate read and write statuses (green or red), the last time data was read from the EHR and the last time the sync picked up write commands. Pass subdomain to scope to one institution and location_ids to narrow further. A location with no sync behind it returns no entry.

`read_status_at` is the last time NexHealth read from the health record system. `write_status_at` is the last time the sync checked in for writes, whether or not any were waiting. `read_status` turns `red` when the last read is older than 150 minutes and `write_status` when the last check-in is older than 25 minutes; both limits can be set per sync. The `sync_status_read_change` and `sync_status_write_change` webhooks fire both ways: `.red` when a status goes down and `.green` when it comes back. Each sync's `emr.display_name` names the system. See [Interpreting sync status](https://docs.nexhealth.com/docs/interpreting-sync-status).

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "NexHealth API v3.0.0 (Default)",
    "description": "v3.0.0 and v20240412 are two names for the same API version; the Nex-Api-Version header accepts either value. This is the current default API version.\n\nWelcome to the developer hub and documentation for NexHealth API. This section of guide describes the operations, response parameters, request parameters, and parameter constraints related to User API. The term Operations refer to functions or methods. The operations are included in requests and send to the web server. Each operation performs a different action or a query on database.",
    "termsOfService": "https://www.nexhealth.com/terms-of-service",
    "contact": {
      "name": "NexHealth",
      "email": "info@nexhealth.com"
    },
    "license": {
      "name": "NexHealth License 1.0",
      "url": "https://www.nexhealth.com/privacy"
    },
    "version": "v20240412"
  },
  "security": [
    {
      "Authorization": []
    }
  ],
  "tags": [
    {
      "name": "Sync Status",
      "description": "Status of a NexHealth EHR synchronization service"
    }
  ],
  "paths": {
    "/sync_status": {
      "get": {
        "summary": "View sync status",
        "description": "This endpoint returns the live status of every sync the caller can access, one entry per sync, with separate read and write statuses (green or red), the last time data was read from the EHR and the last time the sync picked up write commands. Pass subdomain to scope to one institution and location_ids to narrow further. A location with no sync behind it returns no entry.",
        "parameters": [
          {
            "in": "header",
            "name": "Nex-Api-Version",
            "description": "The NexHealth API version",
            "required": true,
            "schema": {
              "type": "string",
              "default": "v3.0.0"
            }
          },
          {
            "in": "query",
            "name": "subdomain",
            "description": "Used to scope the request to the specified institution",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "read_status",
            "description": "Return only syncs whose read status is green or red",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "green",
                "red"
              ]
            }
          },
          {
            "in": "query",
            "name": "write_status",
            "description": "Return only syncs whose write status is green or red",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "green",
                "red"
              ]
            }
          },
          {
            "in": "query",
            "name": "location_ids[]",
            "description": "Return the status of sync services running on the specified locations",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_V2_Entities_SyncStatus_Collection_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_BadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_Unauthorized"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_Forbidden"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_InternalServerError"
                }
              }
            }
          }
        },
        "tags": [
          "Sync Status"
        ],
        "operationId": "getSyncStatus"
      }
    }
  },
  "servers": [
    {
      "url": "https://nexhealth.info"
    }
  ],
  "components": {
    "securitySchemes": {
      "Authorization": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    },
    "schemas": {
      "API_Errors_BadRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_BadRequest model"
      },
      "API_Errors_Unauthorized": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_Unauthorized model"
      },
      "API_Errors_Forbidden": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_Forbidden model"
      },
      "API_Errors_InternalServerError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_InternalServerError model"
      },
      "API_V2_Entities_LocationBasic": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "example": 7,
            "description": "Location ID"
          },
          "name": {
            "type": "string",
            "example": "Default",
            "description": "Location name"
          },
          "street_address": {
            "type": "string",
            "example": "123 Law St",
            "description": "Location street address"
          },
          "street_address_2": {
            "type": "string",
            "example": "85335, North East",
            "description": "Location street address 2"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "Location city"
          },
          "state": {
            "type": "string",
            "example": "NY",
            "description": "2 letter state code"
          },
          "zip_code": {
            "type": "string",
            "example": "54700",
            "description": "Patient zip code"
          },
          "phone_number": {
            "type": "string",
            "example": "8888750851",
            "description": "Practice phone number"
          },
          "email": {
            "type": "string",
            "example": "defaultLocation@nexhealth.com",
            "description": "Location email ID"
          },
          "inactive": {
            "type": "boolean",
            "example": false,
            "description": "Is this location not being actively used?"
          }
        }
      },
      "API_V2_Entities_SyncStatus_Collection_Response": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "example": false,
            "description": "Indicates the success or failure of the request"
          },
          "description": {
            "type": "string",
            "example": "Description",
            "description": "Additional context on the request to help with debugging."
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "Error message"
            ],
            "description": "Any errors that occur during the execution of the request."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/API_V2_Entities_SyncStatus"
            }
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "example": 2,
            "description": "Number of total objects, in case of collection."
          }
        },
        "description": "API_V2_Entities_SyncStatus_Collection_Response model"
      },
      "API_V2_Entities_SyncStatus": {
        "type": "object",
        "properties": {
          "institution_id": {
            "type": "integer",
            "format": "int32",
            "example": 1,
            "description": "Institution ID"
          },
          "sync_source_type": {
            "type": "string",
            "example": "DataSource",
            "description": "Source type"
          },
          "sync_source_name": {
            "type": "string",
            "example": "My Source",
            "description": "Source name"
          },
          "emr": {
            "$ref": "#/components/schemas/API_V2_Entities_Emr"
          },
          "read_status": {
            "type": "string",
            "enum": [
              "green",
              "red"
            ],
            "example": "green",
            "description": "Status of the read service, where green means up, red means down"
          },
          "read_status_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-06-05T20:16:57.007Z",
            "description": "Last time NexHealth read data from the EHR, in UTC"
          },
          "write_status": {
            "type": "string",
            "enum": [
              "green",
              "red"
            ],
            "example": "red",
            "description": "Status of the write service, where green means up, red means down"
          },
          "write_status_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-06-05T20:16:57.007Z",
            "description": "Last time the sync picked up write commands from NexHealth, in UTC"
          },
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/API_V2_Entities_LocationBasic"
            },
            "description": "Locations whose data this service is synchronizing with"
          }
        }
      },
      "API_V2_Entities_Emr": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "example": 11,
            "description": "EHR ID"
          },
          "name": {
            "type": "string",
            "example": "dentrix",
            "description": "EHR name, the internal key such as dentrix"
          },
          "display_name": {
            "type": "string",
            "example": "Dentrix",
            "description": "EHR display name"
          },
          "type": {
            "type": "string",
            "enum": [
              "cloud",
              "onprem"
            ],
            "example": "onprem",
            "description": "Type of EHR: cloud or onprem"
          }
        }
      }
    }
  }
}
```