Create a USPS Carrier Pickup request using existing shipment information. This endpoint schedules a postal carrier to pick up eligible packages on the next USPS delivery day.
- Retrieve pickup records
ShipSaving New API (v2)
The scheduled pickup date in YYYY-MM-DD format. If omitted, the value is automatically set to the next calendar day based on the America/Los_Angeles time zone, regardless of the request submission time.
This is the location of the packages ready for pick-up at the pickup address.
Additional details on where the packages can be picked-up. This is required when the package_location is other.
A code identifying the shipping carrier/provider for the pickup. This value determines which logistics provider should handle the pickup or shipment request. Currently only USPS is supported. Future values may include codes for other carriers (e.g., UPS, FedEx).
- Production serverhttps://x-api.shipsaving.com/api/shipment/pickup/add
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://x-api.shipsaving.com/api/shipment/pickup/add \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"pickup_date": "string",
"pickup_location": {
"first_name": "Alice",
"last_name": "Green",
"company_name": "ShipSaving",
"phone": 1234567890,
"email": "support@shipsaving.com",
"street": "xxxx Olive Street",
"street2": "STE XXX",
"city": "Los Angeles",
"state": "CA",
"zip_code": "021XX",
"country": "US",
"address_type": "residential"
},
"package_location": [
"front_door"
],
"package_location_ext": "string",
"carrier_code": "USPS",
"tracking_nos": [
"9234690381085700XXXXX"
]
}'{ "code": "ok", "msg": "ok", "data": { "pickup_no": 10000000000, "pickup_date": "2025-11-21", "package_total_num": 1, "package_total_weight": 0.1, "carrier_code": "USPS", "carrier_name": "USPS", "confirmation_number": "WTC65384000" } }
Request
Cancel a previously scheduled carrier pick up. A carrier pickup can no longer be updated or cancelled once cancelled. It requires no additional parameters other than the pickup_no. The status will change to CANCELED on success.
- Production serverhttps://x-api.shipsaving.com/api/shipment/pickup/cancel
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://x-api.shipsaving.com/api/shipment/pickup/cancel \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"pickup_no": 10000000000
}'{ "code": "ok", "msg": "ok", "data": {} }
Request
Fetches a paginated list of pickup records created in the system. This endpoint supports optional filters such as USPS confirmation number, pickup status, and carrier code. Pagination parameters (page and page_size) allow controlling the size of the returned dataset, and the order_by flag determines the sorting order of the results.
This is the USPS assigned confirmation number of the pick-up.
A code identifying the shipping carrier/provider for the pickup. This value determines which logistics provider should handle the pickup or shipment request. Currently only USPS is supported. Future values may include codes for other carriers (e.g., UPS, FedEx).
- Production serverhttps://x-api.shipsaving.com/api/shipment/pickup/list
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://x-api.shipsaving.com/api/shipment/pickup/list?confirmation_number=WTC65384000&status=CONFIRMED&carrier_code=USPS&page=1&page_size=50&order_by=true' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "code": "ok", "msg": "ok", "data": { "pickup_data_list": [ … ], "total_count": 0 } }
- Production serverhttps://x-api.shipsaving.com/api/shipment/pickup/package/location/list
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://x-api.shipsaving.com/api/shipment/pickup/package/location/list \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "code": "ok", "msg": "ok", "data": [ [ … ] ] }