---
title: "List appointments"
method: GET
path: "/appointments"
tags: ["Appointments"]
---

# List appointments

`GET /appointments`

## Request

- Base URL: `https://simpledock.ai/api/v1`
- URL: `https://simpledock.ai/api/v1/appointments`
- Auth: HTTP bearer

List appointments in start-time order (earliest first), filtered by location, status, and time range. Paginate with `cursor` from `nextCursor`.

## Query parameters

- `locationId` string
- `status` 'PENDING' | 'CONFIRMED' | 'CANCELLED' | 'COMPLETED' | 'NO_SHOW'
- `from` string, date-time
- `to` string, date-time
- `limit` integer
- `cursor` string

## Response `200`

Paginated appointments

- object
  - `data` Appointment[]
    - `id` string, required
    - `status` 'PENDING' | 'CONFIRMED' | 'CANCELLED' | 'COMPLETED' | 'NO_SHOW', required
    - `locationId` string, required
    - `startTime` string, date-time, required
    - `endTime` string, date-time, required
    - `companyName` string, required
    - `contactEmail` string, required
    - `contactName` string, nullable
    - `contactPhone` string, nullable
    - `driverName` string, nullable
    - `driverPhone` string, nullable
    - `trailerNumber` string, nullable
    - `poReference` string, nullable
    - `notes` string, nullable
    - `driverNotes` string, nullable
    - `customFields` object, nullable, required
    - `arrivalStatus` string, nullable
    - `estimatedDelay` integer, nullable
    - `approvedAt` string, date-time, nullable
    - `rejectedAt` string, date-time, nullable
    - `cancelledAt` string, date-time, nullable
    - `checkedInAt` string, date-time, nullable: When dock staff marked the truck arrived.
    - `completedAt` string, date-time, nullable: When the appointment was marked completed (the truck left).
    - `rejectionReason` string, nullable
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `door` object, required
      - `id` string, required
      - `name` string, required
    - `appointmentType` AppointmentTypeSummary, required
      - `id` string
      - `name` string
      - `loadType` string
      - `direction` string
      - `durationMinutes` integer
  - `nextCursor` string, nullable

## Other responses

- `401`: Unauthorized
- `402`: Payment required — a Pro feature or a Free plan limit
- `403`: Forbidden — key is missing the required scope
- `429`: Rate limited — slow down and retry after Retry-After

---

[API](https://skmtc.dev/simpledock/apis/simpledock-api.md) · [All operations](https://skmtc.dev/simpledock/apis/simpledock-api/llms.txt) · [OpenAPI document](https://skmtc.dev/simpledock/apis/simpledock-api/revisions/d6e8fedfc000?raw)
