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.

Market availability: US only

Body Params

Scan form request payload, including carrier, ship date, origin address, and tracking numbers to include in the manifest.

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.

Market availability: US only

string
required

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

Market availability: US only

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.

Market availability: US only

fromAddress
object
required

Origin (ship-from) address used for the scan form.

Market availability: US only

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).

Market availability: US only

trackingNumbers*
string

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

Market availability: US only

string
required

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

Market availability: US only

Headers
string

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

Market availability: Global

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.

Market availability: Global

string
required

Specifies the name of the Walmart service being called.

Market availability: Global

string
enum
required

Case-sensitive market identifier. Valid values: US

Market availability: Global

Allowed:
string
enum
required

Indicates the global version of the API. The value must be set to 3.1.

Market availability: Global

Allowed:
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

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