Submit Pickup (International)
Schedule a pickup for an international order.
Endpoint
POST /v1/pickup/submit
Request
Header Parameters
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
Authorization | string | Yes | Bearer YOUR_ACCESS_TOKEN | Bearer token used for authentication. |
Content-Type | string | Yes | application/json | Request body content type. |
Request Body Schema
application/json
order_idrequired
string
Numeric order identifier.
Digits only (0–9).
Example:
3570983pickup_daterequired
string
Pickup date in HKT (UTC+08:00).
Format: YYYY-MM-DD.
Example:
2026-02-25pickup_time_startrequired
string
Start time of pickup window.
Format: HH:MM.
Example:
09:30pickup_time_endrequired
string
End time of pickup window.
Format: HH:MM.
Note: Must be after
pickup_time_start and fall within the carrier's available time range.Example:
12:00pickup_locationrequiredstringLocation within the building where the parcel will be collected.Example: Reception
pickup_locationrequired
string
Location within the building where the parcel will be collected.
Example:
ReceptionSupported values for
pickup_location:| Value |
|---|
Back Door |
Downstairs |
Front Door |
Garage |
Guard Room |
Mail Room |
Office |
Receiving |
Reception |
Shipping |
Side Door |
Third Party |
Upstairs |
Warehouse |
pickup_addressrequiredjson-stringPickup address and contact details.Note: Required and optional fields must follow the format and length rules described below.
pickup_addressrequired
json-string
Pickup address and contact details.
Note: Required and optional fields must follow the format and length rules described below.
namerequired
string
Contact name.
English characters only.
mobilerequired
string
Local phone number.
Digits only, maximum 11 characters.
addressrequired
string
First line of pickup address.
Maximum 29 characters.
cityrequired
staterequired
string
State or province.
Reference: Get States & Cities for valid values. Must match a supported subdivision for the specified country.
countryrequired
company_name
string
Full company name.
Maximum 35 characters.
address_line_2
string
Second line of pickup address.
Maximum 29 characters.
address_line_3
string
Third line of pickup address.
Maximum 29 characters.
post_code
string
Postal or ZIP code.
email
string
Contact email address.
Must be a valid email format.
Example request body
{
"order_id": "8411856",
"pickup_date": "2026-03-08",
"pickup_time_start": "09:30",
"pickup_time_end": "18:30",
"pickup_location": "Reception",
"pickup_address": {
"name": "John Doe",
"company_name": "ABC Company Limited",
"mobile": "0412345678",
"address": "Unit 1203, 2 Harbour Road",
"address_line_2": "Room2",
"address_line_3": "Street3",
"city": "HUNG HOM",
"state": "KOWLOON CITY",
"post_code": "999077",
"country": "HONG KONG"
}
}
Example request
curl -X POST "${API_URL}/v1/pickup/submit" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"order_id": "8411856",
"pickup_date": "2026-03-08",
"pickup_time_start": "09:30",
"pickup_time_end": "18:30",
"pickup_location": "Reception",
"pickup_address": {
"name": "John Doe",
"company_name": "ABC Company Limited",
"mobile": "0412345678",
"address": "Unit 1203, 2 Harbour Road",
"address_line_2": "Room2",
"address_line_3": "Street3",
"city": "HUNG HOM",
"state": "KOWLOON CITY",
"post_code": "999077",
"country": "HONG KONG"
}
}'
Responses
200 Success
200 Success
Response schema:
application/jsondataobjectPickup submission result.
data
object
Pickup submission result.
order_id
string
Order ID.
Example:
3570983ship_type
string
Shipment type. Always
intl for this endpoint.tracking_number
string
Carrier tracking number (waybill).
Note: May be
null when pickup is deferred.pickup_ref
string
Pickup reference assigned by the carrier.
Note: May be
null when pickup is deferred.pickup_date
string
Confirmed pickup date.
Example:
2026-02-25order_status
string
Updated order status.
pickup_req_id
string
System-generated pickup request ID.
Example:
22423is_pending_pickup
string
Indicates whether the order is still pending pickup submission to the carrier.
Example:
falsemessage
string
Informational message. Always
OK on success.Example:
OKResponse sample (Normal Pickup)
{
"data": {
"order_id": "8411856",
"ship_type": "intl",
"tracking_number": "889012345678",
"pickup_ref": "29BAB886970",
"pickup_date": "2026-02-25",
"order_status": "PENDING_PICKUP",
"pickup_req_id": "22423",
"is_pending_pickup": "false",
"message": "OK"
}
}
Response sample (Deferred Pickup)
Note: For deferred pickups (scheduled for a future date), the pickup request will only be sent to the carrier on the selected pickup date.
{
"data": {
"order_id": "8411856",
"ship_type": "intl",
"tracking_number": "889128368441",
"pickup_ref": null,
"pickup_date": "2026-03-05",
"order_status": "PENDING_PICKUP",
"is_pending_pickup": "true",
"pickup_req_id": "22558",
"message": "OK"
}
}
400 Bad Request
400 Bad Request
Response schema:
application/jsoncode
string
Error code returned by the API.
Example:
400000code_reason
string
Error reason.
Example:
BAD_REQUESTmessage
string
Human-readable message.
Example:
Bad Requesterror_tracearrayList of validation errors (field and message per item).
error_trace
array
List of validation errors (field and message per item).
field
string
Request field that failed.
message
string
Human-readable message.
Response sample
{
"error": {
"code": "400000",
"code_reason": "BAD_REQUEST",
"message": "Bad Request",
"error_trace": [
{ "field": "order_id", "message": "order_id is required and must be numeric." },
{ "field": "pickup_address", "message": "pickup_address object is required." }
]
}
}
401 Unauthorized
401 Unauthorized
Response schema:
application/jsoncode
string
Error code.
Example:
401000code_reason
string
Error reason.
Example:
UNAUTHORIZEDmessage
string
Human-readable message.
Example:
UnauthorizedResponse sample
{
"error": {
"code": "401000",
"code_reason": "UNAUTHORIZED",
"message": "Unauthorized"
}
}
403 Forbidden
403 Forbidden
Response schema:
application/jsonerror
json-string
Access forbidden for this resource.
404 Not Found
404 Not Found
Response schema:
application/jsonerror
json-string
Resource or endpoint not found.
500 Failure
500 Failure
Response schema:
application/jsoncode
string
Error code returned by the API.
Example:
500999code_reason
string
Machine-readable error reason.
Example:
API_ERRORmessage
string
Human-readable message.
Example:
Api Error, please contact customer serviceResponse sample
{
"error": {
"code": "500999",
"code_reason": "API_ERROR",
"message": "Api Error, please contact customer service"
}
}