List Delivery Appointments
GET/api/tiktok-shop/:integrationInstance/fbt/appointments
Paginated list of freight delivery appointments booked at an FBT fulfillment center, each with the inbound orders riding on it.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
TikTok exposes no appointment API, so these are records of what was booked in the TikTok seller portal — is_manual_record is true on every row.
Permission: none beyond a valid token.
Filters. Every filter key below also accepts an operator suffix, written as filter[column.operator].
- Text columns (status, reference, carrier_name, pro_number, fbt_warehouse_id) accept: contains, does_not_contain, is, is_not, is_one_of, is_not_one_of, starts_with, does_not_start_with, ends_with, does_not_end_with, is_empty, is_not_empty.
- Numeric columns (id) accept: is, is_not, is_one_of, is_not_one_of, greater_than, less_than, greater_than_or_equal, less_than_or_equal, between, is_empty, is_not_empty.
- Date columns (window_start_at, window_end_at, created_at) accept: is, is_not, before, after, on_or_before, on_or_after, between, is_empty, is_not_empty, today, yesterday, tomorrow, past_week, past_month, past_year, next_week, next_month, next_year, days_ago, days_from_now, past_days, next_days.
- The bare key (
filter[status]) is shorthand for theisoperator. filter[search]matches the booking reference, the carrier name and the PRO number.
Sorts. id, status, window_start_at, window_end_at, created_at. Prefix with - for descending. Default sort is -window_start_at.
Pagination. per_page defaults to 10.
Response: each appointment carries fbt_warehouse_name, resolved from the mirrored FBT warehouse list — the record itself stores only TikTok's fbt_warehouse_id, and an operator books against a name, not FC-US-001. inbound_order_ids is present only when the relation was eager-loaded (the list loads it).
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.