---
title: "View procedures (beta)"
method: GET
path: "/procedures"
tags: ["Procedures"]
---

# View procedures (beta)

`GET /procedures`

## Request

- Base URL: `https://nexhealth.info`
- URL: `https://nexhealth.info/procedures`
- 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.

> **Changed from v3.0.0:** Adds response fields `data[].foreign_id`, `data[].treatment_plan_ids`.

This endpoint returns a list of procedures.
 You can filter by provider_id, patient_id, appointment_id, started_after, started_before, ended_after, ended_before or
 updated_since. You must provide at least one filter.

## Query parameters

- `subdomain` string, required
- `sort` string
- `location_id` integer
- `provider_id` integer
- `patient_id` integer
- `appointment_id` integer
- `updated_since` string, date-time
- `started_after` string, date
- `started_before` string, date
- `ended_after` string, date
- `ended_before` string, date
- `start_cursor` string
- `end_cursor` string
- `per_page` integer

## Headers

- `Nex-Api-Version` string, required

## Response `200`

Successful

- APIV31EntitiesProcedureCollectionResponseWithCursor: API_V31_Entities_Procedure_Collection_Response_WithCursor 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` APIV31EntitiesProcedure[]
    - `id` integer: Procedure ID
    - `foreign_id` string, nullable: Identifier NexHealth uses to uniquely match this record to its counterpart in the integrated EHR. How it is derived differs between EHRs and may change; treat it as an opaque string and do not parse it.
    - `location_id` integer: Location ID
    - `patient_id` integer: Patient ID
    - `provider_id` integer: Provider ID
    - `appointment_id` integer: Appointment ID
    - `code` string: Procedure code
    - `name` string: Procedure name
    - `status` 'planned' | 'scheduled' | 'completed' | 'inactive' | 'referred' | 'existing': Procedure status
    - `updated_at` string, date-time: Procedure update date in UTC
    - `body_site` APIV2EntitiesProcedureBodySite
      - `tooth` string[]: Tooth identifier strings, typically tooth numbers
      - `surface` string: Tooth surface codes
    - `fee` APIV2EntitiesPrice
      - `amount` string: The currency value, in whole units (e.g. dollars)
      - `currency` string: The ISO currency code
    - `start_date` string, date: Start date for procedure
    - `end_date` string, date: End date for procedure
    - `treatment_plan_ids` integer[]: Treatment plan IDs
  - `page_info` object: Pagination information that can be used for fetching previous and next pages.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `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)
