Send Shipping Details Email
POST/api/tiktok-shop/:integrationInstance/fbt/inbound-plans/:plan/fulfillment/shipping-details-email/send
Stage two of the handoff: sends the carrier and pickup details the first email promised, with the carton labels, packing list and — for freight — the pallet labels and bill of lading attached.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
These documents only exist once the cartons have been declared and the pickup booked, which is why this is a separate send. Read can_send_shipping_details and shipping_details_blocked_reason on the packet to know whether it is offerable yet.
Returns 422 when no packet has been built, when stage one was never sent, or when there is nothing to carry yet.
Permission: integrations.update.
Body
subject— required string, max 255 characters. Supports{{token}}placeholders.body— required string. Supports{{token}}placeholders.cc— optional, nullable array of email addresses.attach_prep_sheet— optional boolean. Default true. Attaches the prep and pack sheet.attach_carton_labels— optional boolean. Default false.attach_packing_list— optional boolean. Default false.attach_pallet_labels— optional boolean. Default false. Freight shipments only.attach_bol— optional boolean. Default false. Freight shipments only.from_mode— optional, nullable string.merchantsends from the store's own domain (needs SPF and DKIM in place) orsystemsends from SKU.io with a reply-to. Omit to use the account default.
Every attachment is best effort: one that cannot be produced at send time is skipped rather than failing the send.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 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.
Unprocessable Content
Response Headers
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.