Create scan form for labels

This API generates a scan form using the provided tracking numbers. The scan form is a consolidated document that contains all the tracking numbers and shipping details for the packages being shipped out on a particular day. It is used by carriers to verify and process the shipments during pickup and delivery. Currently, only USPS supports scan forms.

Idempotency: scanFormId acts as a natural idempotency key — the client supplies it in the request body before the call. Submitting a second POST with a scanFormId that was already successfully processed returns 409 Conflict; no duplicate scan form is created. On network failure or timeout, clients may safely retry using the same scanFormId. This guarantee is critical for EOD automation — a duplicate manifest can cause carrier processing errors and shipment delays.

Rate Limits: This endpoint allows 100 requests per minute. Exceeding this limit returns a 429 Too Many Requests response. See the Rate Limiting guide for full details. The response includes x-current-token-count (remaining requests in the current window) and X-Next-Replenishment-Time (when the token count next increases).

Sandbox: Use base URL https://sandbox.walmartapis.com. The sandbox accepts test tracking numbers and returns a synthetic manifestId (e.g. SANDBOX-12345). Use that manifestId with the GET endpoint to retrieve the stub scan form document.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Request payload for creating a scan form.

string
required

Client-generated unique identifier for this scan form. Acts as a natural idempotency key — submitting a second POST with the same scanFormId returns 409 Conflict without creating a duplicate. Use a deterministic value (e.g., sellerId + shipOnDate + shipNode) to enable safe retries on network failure.

string
required

Carrier short name for the scan form request. This value maps to shortName from the supported carriers API response.

string
required

Ship-on date for the scan form. This is the date when the shipment is scheduled for carrier pickup. Format: yyyy-MM-dd.

fromAddress
object
required

Origin address used for the scan form.

trackingNumbers
array of strings
required
length between 1 and 200

List of tracking numbers to include in the scan form. Maximum 200 tracking numbers per scan form (USPS limit).

trackingNumbers*
string

Carrier service type. This value maps to serviceTypes.name from the shipping estimates API response.

string
required

Requested scan form output format. Allowed values: PDF, ZPL, PNG, BLOB. Default is PDF.

Headers
string

A unique ID to identify the consumer request by channel. Use the Consumer Channel Type received during onboarding.

string
required

A unique ID that identifies each API call and is used to track and debug issues. Use a randomly generated GUID for this ID.

string
required

Specifies the name of the Walmart service being called.

string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json