Download scan form
Overview and use cases
Download the scan form document for a previously created scan form using manifestId. The response is returned as binary content (application/octet-stream). Scan forms are currently supported only for USPS.
Use this endpoint to:
- Retrieve a scan form for carrier pickup
- Save and archive scan forms by ship date and location
- Provide scan forms to warehouse teams for end-of-day processing
Endpoint
GET https://marketplace.walmartapis.com/v3/shipping/`scan-form?manifestId={manifestId}Request sample
curl --request GET \ --url 'https://marketplace.walmartapis.com/v3/shipping/scan-form?manifestId=599010122' \ --header 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6' \ --header 'WM_MARKET: US' \ --header 'WM_SVC.NAME: Walmart Marketplace' \ --header 'WM_SEC.ACCESS_TOKEN: <Your_access_token>' \ --header 'WM_GLOBAL_VERSION: 3.1' \ --header 'Accept: application/json'import requests url = "https://marketplace.walmartapis.com/v3/shipping/scan-form"
params = { "manifestId": "599010122"
} headers = { "WM_QOS.CORRELATION_ID": "b3261d2d-028a-4ef7-8602-633c23200af6", "WM_MARKET": "US", "WM_SVC.NAME": "Walmart Marketplace", "WM_SEC.ACCESS_TOKEN": "<Your_access_token>", "WM_GLOBAL_VERSION": "3.1", "Accept": "application/json",
} response = requests.get(url, headers=headers, params=params) print(response.status_code)
print(response.text)Modify your code
You can customize the request to retrieve and store the scan form document:
-
Replace
manifestIdwith the value returned by create scan form (data.manifestId). -
Switch environments by changing the base URL:
- Production:
https://marketplace.walmartapis.com - Sandbox:
https://sandbox.walmartapis.com
- Production:
-
Save output to a file using
--output(recommended for binary responses).
Example customization
curl --request GET \ --url 'https://marketplace.walmartapis.com/v3/shipping/scan-form?manifestId=599010122' \ --header 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6' \ --header 'WM_MARKET: US' \ --header 'WM_SVC.NAME: Walmart Marketplace' \ --header 'WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....' \ --header 'WM_GLOBAL_VERSION: 3.1' \ --header 'Accept: application/json' \ --output scan-form.binResponse sample
This endpoint returns binary content (application/octet-stream) in the 200 response. Treat the response body as bytes and save it to a file. The underlying document format aligns with the scan form documentFormat selected during creation (for example, PDF, ZPL, PNG)..
Results
A successful response returns the scan form document bytes for the provided manifestId, which you can save for printing or archiving.
Error handling
| Status code | Description | Remediation |
|---|---|---|
| 429 | Rate limit exceeded | Retry with backoff; reduce request rate. Refer to the rate limiting guide for throttling limits. |
Best practices
- Always store
manifestIdfrom the create scan form response. - Save the response to a file (
--output) rather than parsing JSON. - Standardize file naming (for example:
scan-form_{shipOnDate}_{shipNode}.pdf) in your operational tooling. - Use retry/backoff strategies when throttled.
Next steps
After downloading the scan form:
- Print/share the scan form for carrier pickup workflows.
- Archive scan forms per ship date and location for audit/history.
