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 manifestId with 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
  • 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.bin

Response 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 codeDescriptionRemediation
429Rate limit exceededRetry with backoff; reduce request rate. Refer to the rate limiting guide for throttling limits.

Best practices

  • Always store manifestId from 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.