> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nevatal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Appointments

> Retrieve a paginated list of appointments

## Query Parameters

<ParamField query="page" type="integer" default="1">Page number</ParamField>
<ParamField query="limit" type="integer" default="20">Results per page (max: 100)</ParamField>
<ParamField query="locationId" type="string">Filter by location</ParamField>
<ParamField query="doctorId" type="string">Filter by doctor. Use `all`, `todos`, or `*` for all doctors.</ParamField>
<ParamField query="patientId" type="string">Filter by patient</ParamField>
<ParamField query="status" type="string">Filter by status: `confirmed`, `completed`, `canceled`, `no_show`</ParamField>
<ParamField query="from" type="string">Start date filter (`YYYY-MM-DD`)</ParamField>
<ParamField query="to" type="string">End date filter (`YYYY-MM-DD`)</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.nevatal.com/api/v1/appointments?from=2025-04-01&to=2025-04-30&status=confirmed" \
    -H "Authorization: Bearer nvtl_your_api_key"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "id": "apt_xyz789",
        "patientId": "pat_abc123",
        "patient": {
          "firstName": "María",
          "lastName": "García"
        },
        "doctorId": "usr_doctor456",
        "doctor": {
          "id": "usr_doctor456",
          "fullName": "Dr. Carlos López",
          "color": "#2563EB",
          "firstName": "Dr. Carlos",
          "lastName": "López"
        },
        "locationId": "loc_main",
        "procedureId": "proc_general_consult",
        "procedure": {
          "name": "Consulta General"
        },
        "startTime": "2025-04-01T09:00:00-05:00",
        "endTime": "2025-04-01T09:30:00-05:00",
        "status": "confirmed",
        "notes": "Initial consultation",
        "createdAt": "2025-03-20T15:00:00Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 45
    }
  }
  ```
</ResponseExample>
