Wonderment Shipments API
Search shipments and tracking events for the authenticated shop.
Search shipments and tracking events for the authenticated shop.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/wonderment-shipments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Wonderment Delivery Promise Shipments API
description: Wonderment is a post-purchase order tracking and shipment visibility platform for ecommerce (now part of Loop). The REST API exposes shipment search, report exports, and delivery-date predictions for the authenticated Shopify shop. Assembled by API Evangelist from the per-operation OpenAPI blocks published on the Wonderment ReadMe developer hub.
version: 2022-10
contact:
name: Wonderment Support
url: https://help.wonderment.com/
servers:
- url: https://api.wonderment.com
description: Production
security:
- apiKeyHeader: []
tags:
- name: Shipments
description: Search shipments and tracking events for the authenticated shop.
paths:
/2022-10/shipments/search/{searchTerm}:
get:
tags:
- Shipments
description: Search shipments for the authenticated shop by order name or tracking code. Requests require a Wonderment API access token with shipment read access. Some shops also require customer verification with the optional `t` query parameter.
parameters:
- name: searchTerm
in: path
required: true
description: Order name or tracking code associated with the shipment.
schema:
type: string
- name: t
in: query
required: false
description: Base64-encoded customer verification payload. When provided, it can override `searchTerm` with its `query` value and should include the customer `email` or `phone`. Required only when customer search authentication is enabled for the shop.
schema:
type: string
example: eyJxdWVyeSI6IjEwMDEiLCJlbWFpbCI6ImN1c3RvbWVyQGV4YW1wbGUuY29tIn0=
responses:
'200':
description: OK
content:
application/json:
schema:
type:
- object
- 'null'
description: Returns null when no matching order or tracking code is found.
properties:
name:
type: string
description: Order name for the matched shipment search result.
shipments:
type: array
items:
type: object
properties:
trackingUrl:
type:
- string
- 'null'
trackingCode:
type: string
carrierName:
type: string
eta:
type:
- string
- 'null'
description: Estimated delivery timestamp when available. Pending fallback responses may return the literal value pending.
serviceLevel:
type: object
properties:
name:
type: string
token:
type: string
order:
type: object
properties:
id:
type: string
description: Numeric Shopify order ID, returned without the gid://shopify/Order/ prefix.
name:
type: string
description: 'Shopify order name, such as #1001.'
statusDetails:
type: object
properties:
trackingCode:
type: string
details:
type: string
status:
type: string
description: Wonderment shipment status.
substatus:
type: string
description: Carrier-provided substatus.
date:
type: string
description: Event timestamp. When timezone data is available, this uses the event timezone value.
city:
type:
- string
- 'null'
state:
type:
- string
- 'null'
zip:
type:
- string
- 'null'
country:
type:
- string
- 'null'
trackingUrl:
type:
- string
- 'null'
eta:
type:
- string
- 'null'
isTimezoneProvided:
type:
- boolean
- 'null'
description: Whether the event timestamp included an explicit timezone.
displayTimezone:
type:
- string
- 'null'
description: Display timezone for the event location, when available.
createdAt:
type:
- string
- 'null'
description: Timestamp when the event was stored.
locationDisplay:
type:
- string
- 'null'
description: Most recent shipment event. Omitted when the shipment has no non-expired events.
events:
type: array
items:
type: object
properties:
trackingCode:
type: string
details:
type: string
status:
type: string
description: Wonderment shipment status.
substatus:
type: string
description: Carrier-provided substatus.
date:
type: string
description: Event timestamp. When timezone data is available, this uses the event timezone value.
city:
type:
- string
- 'null'
state:
type:
- string
- 'null'
zip:
type:
- string
- 'null'
country:
type:
- string
- 'null'
trackingUrl:
type:
- string
- 'null'
eta:
type:
- string
- 'null'
isTimezoneProvided:
type:
- boolean
- 'null'
description: Whether the event timestamp included an explicit timezone.
displayTimezone:
type:
- string
- 'null'
description: Display timezone for the event location, when available.
createdAt:
type:
- string
- 'null'
description: Timestamp when the event was stored.
locationDisplay:
type:
- string
- 'null'
lineItems:
type: array
items:
type: object
properties:
trackingCode:
type: string
lineItemId:
type: string
description: Numeric Shopify line item ID, returned without the gid://shopify/LineItem/ prefix.
productImage:
type:
- string
- 'null'
description: Image URL when available; may be an empty string.
productName:
type: string
description: Product title stored from Shopify.
variantName:
type:
- string
- 'null'
description: Variant title stored from Shopify; may be an empty string.
variantImage:
type:
- string
- 'null'
description: Image URL when available; may be an empty string.
sku:
type:
- string
- 'null'
description: SKU stored from Shopify; may be an empty string.
quantity:
type:
- integer
- 'null'
description: Fulfilled quantity for this line item when available, otherwise the order line item quantity.
date:
type:
- string
- 'null'
description: Present for pending/unfulfilled order fallback responses; ISO timestamp when included.
examples:
found:
summary: Shipment found
value:
name: '#1001'
shipments:
- trackingUrl: https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111206213767912345
trackingCode: '9400111206213767912345'
carrierName: USPS
eta: '2026-04-24'
serviceLevel:
name: USPS Ground Advantage
token: usps_ground_advantage
order:
id: '1234567890'
name: '#1001'
statusDetails:
trackingCode: '9400111206213767912345'
details: Delivered, In/At Mailbox
status: DELIVERED
substatus: delivered
date: '2026-04-24T14:32:00'
city: Austin
state: TX
zip: '78701'
country: US
trackingUrl: https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111206213767912345
eta: '2026-04-24'
createdAt: 2026-04-24T14:36:12+0000
locationDisplay: Austin, TX, 78701, US
isTimezoneProvided: false
displayTimezone: America/Chicago
events:
- trackingCode: '9400111206213767912345'
details: Shipping label created
status: PRE_TRANSIT
substatus: information_received
date: '2026-04-21T09:15:00'
city: Austin
state: TX
zip: '78701'
country: US
trackingUrl: https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111206213767912345
eta: '2026-04-24'
createdAt: 2026-04-21T09:18:03+0000
locationDisplay: Austin, TX, 78701, US
isTimezoneProvided: false
displayTimezone: America/Chicago
- trackingCode: '9400111206213767912345'
details: Delivered, In/At Mailbox
status: DELIVERED
substatus: delivered
date: '2026-04-24T14:32:00'
city: Austin
state: TX
zip: '78701'
country: US
trackingUrl: https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111206213767912345
eta: '2026-04-24'
createdAt: 2026-04-24T14:36:12+0000
locationDisplay: Austin, TX, 78701, US
isTimezoneProvided: false
displayTimezone: America/Chicago
lineItems:
- trackingCode: '9400111206213767912345'
lineItemId: '9876543210'
productImage: https://cdn.shopify.com/s/files/example/product.jpg
productName: Wonderment T-Shirt
variantName: Medium / Black
variantImage: https://cdn.shopify.com/s/files/example/variant.jpg
sku: WM-TSHIRT-M-BLK
quantity: 1
notFound:
summary: No matching shipment
value: null
pending:
summary: Order received, no tracking yet
value:
name: '#1002'
shipments:
- trackingCode: ''
trackingUrl: null
carrierName: ''
date: '2026-04-21T09:15:00.000Z'
eta: pending
serviceLevel:
name: ''
token: ''
statusDetails:
status: PENDING
substatus: order_received
date: '2026-04-21T09:15:00.000Z'
details: Order has been received
lineItems: []
events: []
order:
id: '1234567891'
name: '#1002'
'400':
description: Missing or invalid search term.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example:
message: Invalid request. Must include search term.
'401':
description: Authentication failed or customer verification failed.
content:
application/json:
schema:
type: object
properties:
message:
type: string
examples:
authenticationFailed:
value:
message: '401: Authentication Failed'
orderNotFound:
value:
message: We couldn't find that order
'402':
description: Shop does not have an active paid plan for API access.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example:
message: Upgrade to a Wonderment paid plan for access.
'403':
description: Token does not include shipment read access.
summary: Search shipments
operationId: searchShipments
components:
securitySchemes:
apiKeyHeader:
type: apiKey
name: X-Wonderment-Access-Token
in: header
description: 'Wonderment API access token. Format: sk_live_<shop>_<secret>. Send in the X-Wonderment-Access-Token header over HTTPS.'