List All Appointments

List Appointments

SecurityAPIKeyHeader
Request
query Parameters
q
string (q)

Free-text search across all Appointment reference values, and an exact match on the Appointment confirmation number (e.g. SCH8EH4L5). The confirmation number match is case-insensitive and ignores surrounding whitespace, but must be the complete code

confirmation_number
string (confirmation_number)

Exact-match filter on the full Appointment confirmation number (e.g. SCH8EH4L5). Case-insensitive; surrounding whitespace is ignored. Partial codes are not matched. Operator forms such as confirmation_number.exact and confirmation_number.in remain case-sensitive; only this bare form is normalised

status
string (status)

Filter for appointments by status. Comma-separated for multiple values, returning appointments matching any of them (OR).

planned_date
string <date> (planned_date)

Filter for appointments with planned date. Range variants planned_date.gte / planned_date.lte are also supported. Note the bounds are asymmetric: .gte compares the planned window's start (planned_date) while .lte compares its end (planned_date_range_end), so a multi-day window that starts inside the range but ends after .lte is excluded

expected_start_date
string <date> (expected_start_date)

Filter for appointments by their expected date: the appointment's own scheduled date if it has been booked, otherwise the planned date of its linked stop. This is the only date filter that reaches both booked appointments and unscheduled shipment stubs, so it returns the complete list where planned_date and the start_datetime_utc/end_datetime_utc window each return only one class. Range variants expected_start_date.gte / expected_start_date.lte are also supported.

Dates are facility-local calendar days, not UTC instants: a booking at 23:00 local time belongs to that local day even though it falls on the next UTC day.

Bounds are overlap, not containment — an appointment matches when its date range intersects the requested one at all. This differs from planned_date.lte, which compares the planned window's end and therefore excludes a multi-day window that starts inside the range but ends after .lte. The exact form is overlap too, not equality: expected_start_date=2026-01-03 is the degenerate range [2026-01-03, 2026-01-03], so a multi-day appointment spanning that day matches even if it started earlier (e.g. an appointment running 01/01 to 01/03).

Appointments carrying no date at all are never returned by this filter, and sort last under sort=expected_start_date in both directions. Freight appointments have no date field to derive one from, so this is by construction rather than a data gap

carrier_assigned
boolean (carrier_assigned)

Filter for appointments with an assigned carrier

point_of_contact_user_id
string (point_of_contact_user_id)

Filter for appointments at facilities where one of the point of contacts' user IDs matches this value

facility_name
string (facility_name)

Case-sensitive exact match filter on the facility name

appointment_type
string (appointment_type)

Filter by appointment type

Enum: "BY_APPOINTMENT_ONLY" "FIRST_COME_FIRST_SERVE"
carrier_id
string (carrier_id)

Filter by carrier tenant ID. Comma-separated for multiple values

load_type_id
string (load_type_id)

Filter appointments matched to this load type ID

planned_pu_date
string <date> (planned_pu_date)

Filter pickup appointments (delivery_type=shipping) by their stop's planned date. Range variants planned_pu_date.gte / planned_pu_date.lte are also supported

planned_dl_date
string <date> (planned_dl_date)

Filter delivery appointments (delivery_type=receiving) by their stop's planned date. Range variants planned_dl_date.gte / planned_dl_date.lte are also supported

sort
string (Sort)
page
integer (Page) >= 1
Default: 1
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
facility_id
string (Facility Id) = 26 characters

Filter by only Appointments that take place at this Facility. Results may include both Facility-level Appointments and Dock-level Appointments, but all will take place at the provided Facility.

dock_id
string (Dock Id) = 26 characters

Filter by only Appointments scheduled at this Dock.

Responses
200

Successful Response

Response Schema: application/json
required
Array of objects (Data)
total_count
required
integer (Total Count)
400

Validation Error

get/facilities/appointments
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "total_count": 0
}
Copyright © Shipwell 2025. All right reserved.