asyncapi: 3.0.0
info:
title: ShipMonk Webhooks
version: v1.024
description: 'AsyncAPI 3.0 model of the ShipMonk webhook event surface, derived from the `webhooks` block of
ShipMonk''s own OpenAPI 3.1 document (https://apidocs.shipmonk.com/openapi/public_api.json) plus the
published webhook reference at https://apidocs.shipmonk.com/reference/webhooks.
ShipMonk delivers events as HTTP POST callbacks to a subscriber URL configured per store in the
ShipMonk app (Account Settings > Integrations > new "Webhooks" integration, or per-store in the
store detail of ShipMonk OMS). A subscription delivers events for every store on the account by
default and can optionally be restricted to one or more specific stores (documented in v1.022).
Security: HTTP Basic authentication (username + password) is the only supported subscriber
authentication scheme. Integrity is additionally verifiable through the `X-Sm-Signature` header,
an HMAC-SHA512 of the delivered payload.
Delivery semantics: receivers must return a 2xx (the reference names 200 explicitly). Failed
deliveries are retried with exponential backoff — up to 8 retries starting at 30s and doubling
(30s, 1m, 2m, 4m, 8m, 16m, 32m, 60m, capped at 60 minutes), spanning roughly two hours
(changelog v1.021). Older documentation described a fixed 5-minute cadence retried across three
days; the exponential-backoff schedule is the current published policy.
Shipment notifications are sent after a per-store configurable delay (default 20 minutes).'
contact:
name: ShipMonk API Support
email: api@shipmonk.com
url: https://apidocs.shipmonk.com/
externalDocs:
url: https://apidocs.shipmonk.com/reference/webhooks
defaultContentType: application/json
servers:
subscriberEndpoint:
host: '{subscriber_host}'
protocol: https
title: Subscriber webhook endpoint
description: ShipMonk POSTs to a subscriber-owned HTTPS endpoint configured per store in the ShipMonk app.
variables:
subscriber_host:
description: The host of the endpoint you register with ShipMonk.
default: example.com
security:
- $ref: '#/components/securitySchemes/basicAuth'
channels:
orderShipmentNotification:
address: order/shipment-notification
title: Shipment Notification
description: 'Once the order is fulfilled, ShipMonk can notify the 3rd party software of such event via webhook
or Marketplace via direct integration. The payload consists of tracking and packing information.
Triggers for sending notification are:
- once regular order is packed
- batch is completed
- wholesale order is picked up
Notification is sent with delay which can be set per each store in ShipMonk OMS.
Your endpoint URL can be set up in the store detail in ShipMonk OMS. Please note that Basic Auth (username
and password) is supported only.
We expect the status code 200 in response. When we receive another status call, we will be re-trying it for
the next 3 days.
To test it, place the order and submit it for fulfilment. You have to make sure the inventory is available
and order is all right first (it has set the shipping service and the address is valid). In production the
order is shipped by our warehouse employees, while for testing you will have to call our `complete-order`
endpoint.
Edge cases:
- If the order is big and cannot fit into a single packaging, we will send out multiple packages. Each package
has its own tracking number inside of packages array.
- If the inventory of any SKU is not available, it is possible to manually split the order in the ShipMonk
app and then we send Shipment Notification per each shipment.
- If the order is split and send out within multiple days, we send the Shipment Notification just once (when
the first package is sent out)
`fulfilled_quantity` vs `ordered_quantity`: The value of these two fields might differ in case of partially
fulfilled Orders. If a Product consists of `1x Item A` and `1x Item B`, when the customer orders 2 Products
and the Shipment contains 1 piece of Item A and 2 pieces of Item B, then `ordered_quantity = 2` but `fulfilled_quantity
= 1`.'
messages:
orderShipmentNotificationMessage:
$ref: '#/components/messages/orderShipmentNotificationMessage'
orderStatusChange:
address: order/status-change
title: Order status change
description: 'As an order progresses from initial import to full fulfillment, it transitions through multiple
statuses. ShipMonk can notify external systems of these status changes via webhooks.
## Supported Order Webhooks
Currently ShipMonk supports these order-related webhooks.
- Order being back-ordered (`processing_status`: `back-order`)
- Order is unable to submit (`processing_status`: `unable_to_submit`)
- Order is queued to submit (`processing_status`: `queued_to_submit`)
- Order is subscription - Order (`processing_status`: `subscription`)
- Order is package-forwarding - Order (`processing_status`: `package_forwarding`)
- Order is put to on hold (`processing_status`: `on_hold`)
- Order is submitted (`processing_status`: `submitted`)
- Order is being picked (`processing_status`: `pick_in_progress`)
- Order is being packed (`processing_status`: `pack_in_progress`)
- Order is packed (`processing_status`: `packed`)
- Order is awaiting pickup (`processing_status`: `awaiting_pick_up`)
- Order is awaiting carrier processing (`processing_status`: `awaiting_carrier_processing`)
- Order is en route (`processing_status`: `en_route`)
- Order is delivered (`processing_status`: `delivered`)
- Order is undeliverable (`processing_status`: `undeliverable`)
- Order is shipped, but it’s untrackable (`processing_status`: `shipped_untrackable`)
- Order cancellation requested (`processing_status`: `cancellation_requested`)
- Order is cancelled (`processing_status`: `cancelled`)
All order-related webhooks are closely tied to the order’s processing-status. Each webhook is triggered by
a change in the processing-status, reflecting key moments in the order lifecycle.
## Payload Structure (JSON Schema)
All order-related webhooks share the same JSON schema, which matches the response of our GET endpoint for
retrieving a single order.'
messages:
orderStatusChangeMessage:
$ref: '#/components/messages/orderStatusChangeMessage'
returnStatusChange:
address: return/status-change
title: Return status change
description: '## Supported Return Webhooks
All return-related webhooks are closely tied to the status of the return. Each webhook is triggered by a specific
status transition, marking important stages in the return process.
- Return created (`status`: `status_created`)
- Return in progress (`status`: `in_progress`)
- Return en route (`status`: `en_route`)
- Return returned (`status`: `returned`)
## Payload Structure (JSON Schema)
The payload of each return-related webhook matches the structure of a single return object as returned by
the `GET /v1/integrations/returns-list` endpoint. While the `GET /v1/integrations/returns-list` endpoint responds
with an array of return objects (`returns-list` field), each webhook delivers the full data of one return
in the same format. This allows for easy reuse of the return model across both API responses and webhook events.'
messages:
returnStatusChangeMessage:
$ref: '#/components/messages/returnStatusChangeMessage'
receivingStatusChange:
address: receiving/status-change
title: Receiving status change
description: '## Supported Receiving Webhooks
All receiving-related webhooks are closely tied to the status of the receiving. Each webhook is triggered
when the receiving transitions to a specific `status`, reflecting key milestones in the receiving process.
- Receiving awaiting (`status`: `awaiting`)
- Receiving in progress (`status`: `in_progress`)
- Receiving arrived (`status`: `arrived`)
- Receiving received (`status`: `received`)'
messages:
receivingStatusChangeMessage:
$ref: '#/components/messages/receivingStatusChangeMessage'
operations:
receiveOrderShipmentNotification:
action: receive
channel:
$ref: '#/channels/orderShipmentNotification'
title: Shipment Notification
summary: Emitted once an order is packed, a batch is completed, or a wholesale order is picked up. Payload carries
tracking and packing information.
bindings:
http:
method: POST
bindingVersion: 0.3.0
messages:
- $ref: '#/channels/orderShipmentNotification/messages/orderShipmentNotificationMessage'
x-source-operation: openapi/_original/shipmonk-openapi.json#/webhooks/orderShipmentNotification
receiveOrderStatusChange:
action: receive
channel:
$ref: '#/channels/orderStatusChange'
title: Order status change
summary: Emitted on every change of an order `processing_status` (back-order, on_hold, submitted, pick_in_progress,
pack_in_progress, packed, awaiting_pick_up, en_route, delivered, undeliverable, shipped_untrackable, cancellation_requested,
cancelled, subscription, package_forwarding, queued_to_submit, unable_to_submit).
bindings:
http:
method: POST
bindingVersion: 0.3.0
messages:
- $ref: '#/channels/orderStatusChange/messages/orderStatusChangeMessage'
x-source-operation: openapi/_original/shipmonk-openapi.json#/webhooks/orderStatusChange
receiveReturnStatusChange:
action: receive
channel:
$ref: '#/channels/returnStatusChange'
title: Return status change
summary: Emitted on every change of a return `status` (status_created, in_progress, en_route, returned).
bindings:
http:
method: POST
bindingVersion: 0.3.0
messages:
- $ref: '#/channels/returnStatusChange/messages/returnStatusChangeMessage'
x-source-operation: openapi/_original/shipmonk-openapi.json#/webhooks/returnStatusChange
receiveReceivingStatusChange:
action: receive
channel:
$ref: '#/channels/receivingStatusChange'
title: Receiving status change
summary: Emitted on every change of a receiving `status` (awaiting, in_progress, arrived, received).
bindings:
http:
method: POST
bindingVersion: 0.3.0
messages:
- $ref: '#/channels/receivingStatusChange/messages/receivingStatusChangeMessage'
x-source-operation: openapi/_original/shipmonk-openapi.json#/webhooks/receivingStatusChange
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: ShipMonk authenticates to the subscriber endpoint with HTTP Basic auth. Basic auth is the only
supported scheme.
messages:
orderShipmentNotificationMessage:
name: orderShipmentNotification
title: Shipment Notification
summary: Emitted once an order is packed, a batch is completed, or a wholesale order is picked up. Payload
carries tracking and packing information.
contentType: application/json
payload:
$ref: '#/components/schemas/ShipMonk_OMS_Notification_ApiResource_ShipmentNotificationOutput'
orderStatusChangeMessage:
name: orderStatusChange
title: Order status change
summary: Emitted on every change of an order `processing_status` (back-order, on_hold, submitted, pick_in_progress,
pack_in_progress, packed, awaiting_pick_up, en_route, delivered, undeliverable, shipped_untrackable, cancellation_requested,
cancelled, subscription, package_forwarding, queued_to_submit, unable_to_submit).
contentType: application/json
payload:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderDetailOutput'
returnStatusChangeMessage:
name: returnStatusChange
title: Return status change
summary: Emitted on every change of a return `status` (status_created, in_progress, en_route, returned).
contentType: application/json
payload:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_ReturnOutput'
receivingStatusChangeMessage:
name: receivingStatusChange
title: Receiving status change
summary: Emitted on every change of a receiving `status` (awaiting, in_progress, arrived, received).
contentType: application/json
payload:
$ref: '#/components/schemas/ShipMonk_OMS_Receiving_ApiResource_PublicApiReceivingOutput'
schemas:
Fulfillment_CommonBundle_ApiResource_IntegrationDataOutput:
type: object
properties:
name:
description: Key of the custom data entry.
type: string
value:
description: Value of the custom data entry; may be any JSON-serializable structure.
type: object
required:
- name
- value
title: Integration Data Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_Enum_PublicApiOrderStatus:
type:
- string
enum:
- unfulfilled
- fulfilled
- onHold
- cancelled
title: Order Status
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_OrderPackedItemOutput:
type: object
properties:
sku:
description: Stock-keeping unit (SKU) of the order item that was packed.
type: string
line_key:
description: Identifier of the order line this packed item refers to; null when the packed item is not
tied to a specific line.
type:
- string
- 'null'
quantity:
description: Number of units of this SKU packed in this package.
type: integer
required:
- sku
- line_key
- quantity
title: Order Packed Item Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PackingGroupOutput:
type: object
properties:
key:
description: Stable identifier of the packing group, unique within the order.
type: string
name:
description: Human-readable name of the packing group; null if unnamed.
type:
- string
- 'null'
required:
- key
- name
title: Packing Group Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiAccountForTradingPartnerOutput:
type: object
properties:
id:
description: Internal numeric identifier of the merchant account.
type: integer
name:
description: Display name of the merchant account.
type: string
required:
- id
- name
title: Account For Trading Partner Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiAccountTradingPartnerOutput:
type: object
properties:
id:
description: Internal numeric identifier of the trading partner.
type: integer
identifier:
description: Short human-readable code identifying the trading partner.
type: string
name:
description: Display name of the trading partner.
type: string
account:
description: Merchant account that owns this trading partner relationship.
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiAccountForTradingPartnerOutput'
required:
- id
- identifier
- name
- account
title: Account Trading Partner Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiCountryDetailOutput:
type: object
properties:
code:
description: ISO 3166-1 alpha-2 country code; null if unknown.
type:
- string
- 'null'
name:
description: Country name in English; null if unknown.
type:
- string
- 'null'
required:
- code
- name
title: Country Detail Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiExtraDataOutput:
type: object
properties:
label:
description: 'Identifier of the extra data type. Currently supported: carrierShippingMethod.'
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_Enum_ShipmentNotificationExtraDataType'
value:
description: Value corresponding to the label of the extra data entry.
type: string
required:
- label
- value
title: Extra Data Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderActionsRequiredOutput:
type: object
properties:
item_mapping:
description: True if one or more order items could not be mapped to a known product and require manual
mapping.
type: boolean
address:
description: True if the shipping address could not be validated and requires correction.
type: boolean
shipping_mapping:
description: True if the requested shipping service could not be mapped to an available carrier service
and requires manual mapping.
type: boolean
customs:
description: True if customs information (e.g. declared value, HS codes) is missing or incomplete for
an international shipment.
type: boolean
at_risk:
description: True if the order is at risk of missing its required ship-by date.
type: boolean
routing:
description: True if a B2B routing instruction is missing and must be supplied before shipping.
type: boolean
freight_quote:
description: True if a freight quote must be selected before the order can ship.
type: boolean
freight_info:
description: True if additional freight details (e.g. dimensions, pallet count) are required to obtain
a freight quote.
type: boolean
ship_short:
description: True if the order is flagged as a short ship, meaning one or more items could not be fulfilled
in the requested quantity.
type: boolean
hs_code:
description: True if Harmonized System (HS) tariff codes are missing for one or more items on a customs-bound
shipment.
type: boolean
global_e_label:
description: True if a Global-e label (cross-border shipping label provided by the Global-e service) is
still required for the order.
type: boolean
ship_monk_hazmat_carrier_service_not_available:
description: 'Deprecated: Will always be false, kept for backwards compatibility True if the order contains
hazardous materials but no carrier service is available to ship them from the assigned warehouse.'
deprecated: true
type: boolean
automation_rule:
description: True if an automation rule has flagged the order for manual review or action.
type: boolean
pending_b2b_routing:
description: True if the order is awaiting B2B retailer routing instructions before fulfillment can proceed.
type: boolean
value_added_service_problem:
description: True if one of the order's value-added services (e.g. kitting, custom packaging) cannot be
performed and needs attention.
type: boolean
required:
- item_mapping
- address
- shipping_mapping
- customs
- at_risk
- routing
- freight_quote
- freight_info
- ship_short
- hs_code
- global_e_label
- ship_monk_hazmat_carrier_service_not_available
- automation_rule
- pending_b2b_routing
- value_added_service_problem
title: Order Actions Required Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderAttributeOutput:
type: object
properties:
name:
description: Key of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
required:
- name
- value
title: Order Attribute Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderCostsOutput:
type: object
properties:
estimated_shipping_related_charges:
description: Estimated shipping-related charges for the order. Null when no estimate is available.
anyOf:
- $ref: '#/components/schemas/ShipMonk_Money_Output_MoneyOutput'
- type: 'null'
estimated_packaging_material_charges:
description: Estimated charges for packaging materials used in the order. Null when no estimate is available.
anyOf:
- $ref: '#/components/schemas/ShipMonk_Money_Output_MoneyOutput'
- type: 'null'
estimated_pick_and_pack_charges:
description: Estimated charges for picking and packing labor for the order. Null when no estimate is available.
anyOf:
- $ref: '#/components/schemas/ShipMonk_Money_Output_MoneyOutput'
- type: 'null'
required:
- estimated_shipping_related_charges
- estimated_packaging_material_charges
- estimated_pick_and_pack_charges
title: Order Costs Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderDetailCustomDataOutput:
type: object
properties:
name:
description: Key name of the custom data entry.
type: string
value:
description: Value of the custom data entry.
type: string
required:
- name
- value
title: Order Detail Custom Data Output
Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderDetailOutput:
type: object
properties:
order_key:
description: Unique identifier from an external system used to associate an order. Must be unique per
order and store.
type: string
order_number:
description: Customer-facing identifier for an order. Uniqueness is recommended but not strictly enforced.
type: string
order_type:
description: Order classification (e.g. standard, wholesale, return). Null when not categorized.
anyOf:
- $ref: '#/components/schemas/ShipMonk_OMS_Order_Enum_OrderType'
- type: 'null'
store:
description: Sales channel or storefront the order originated from.
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiStoreNameOutput'
warehouse:
description: Warehouse where the order is processed. Null if a warehouse has not yet been assigned.
anyOf:
- $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiWarehouseDetailOutput'
- type: 'null'
trading_partner:
description: B2B trading partner (e.g. retailer or distributor) the order is destined for. Null for direct-to-consumer
orders.
anyOf:
- $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiAccountTradingPartnerOutput'
- type: 'null'
ordered_at:
description: ISO 8601 timestamp indicating when the order was originally placed.
type: string
format: date-time
customer_email:
description: Customer's email address. Null when not provided by the source system.
anyOf:
- type: string
- type: 'null'
shipping_method:
description: Carrier and service selected to ship the order. Null if no method has been resolved yet.
anyOf:
- $ref: '#/components/schemas/Fulfillment_PublicApiBundle_ApiResource_ShippingMethod_PublicApiShippingMethodDetailOutput'
- type: 'null'
requested_shipping_service:
description: Free-text shipping service originally requested by the customer or source system; null if
none was specified.
type:
- string
- 'null'
shipping_paid:
description: Amount the customer paid for shipping, expressed in the order's currency_code.
type: number
format: double
tax_paid:
description: Amount the customer paid in taxes, expressed in the order's currency_code.
type: number
format: double
order_costs:
description: Estimated fulfillment-service charges (shipping, packaging, pick & pack) for the order. These
are estimates and may differ from final billed amounts.
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderCostsOutput'
ship_from:
description: Origin address from which the order will ship. Null when not yet determined.
anyOf:
- $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiShippingOrderDetailAddressOutput'
- type: 'null'
ship_to:
description: Destination address the order will be shipped to. Null when not yet specified.
anyOf:
- $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiShippingOrderDetailAddressOutput'
- type: 'null'
order_status:
description: 'High-level order state: unfulfilled (not yet shipped), fulfilled (shipped), onHold (paused),
cancelled.'
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_Enum_PublicApiOrderStatus'
processing_status:
description: 'Fine-grained processing stage of the order. Values: backorder, unable_to_submit, queued_to_submit,
subscription, package_forwarding, awaiting_label_request_from_merchant_facility, on_hold, submitted,
pick_in_progress, pack_in_progress, packed, awaiting_pick_up, awaiting_carrier_processing, en_route,
delivered, undeliverable, shipped_untrackable, fulfilled_by_3rd, cancellation_requested, cancelled,
updating.'
$ref: '#/components/schemas/Fulfillment_OrderBundle_Enum_OrderListStatus'
items:
description: Line items (SKUs and quantities) included in the order.
type: array
items:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderItemOutput'
attributes:
description: Custom key/value attributes attached to the order by the merchant or source system.
type: array
items:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderAttributeOutput'
currency_code:
description: ISO 4217 currency code used for all monetary values on the order.
type: string
references:
description: Additional external reference identifiers attached to the order (e.g. PO number, marketplace
reference).
type: array
items:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderReferenceOutput'
custom_data:
description: Custom key-value data associated with the order.
type: array
items:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderDetailCustomDataOutput'
special_requirements:
description: Special handling requirements for the order, such as required documents, label dates, and
pack list rules. Null when none apply.
anyOf:
- $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiSpecialRequirementsOutput'
- type: 'null'
actions_required:
description: Boolean flags indicating issues that must be resolved before the order can be fulfilled.
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderActionsRequiredOutput'
master_tracking_number:
description: Master tracking number that groups all packages of a multi-piece shipment; null when not
applicable.
type:
- string
- 'null'
tracking_url:
description: Carrier URL where the customer can track the shipment; null if not yet available.
type:
- string
- 'null'
returns:
description: Return Merchandise Authorizations (RMAs) created for this order.
type: array
items:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderReturnDataOutput'
packages:
description: Per-package fulfillment data, including tracking numbers, weights, and packed contents.
type: array
items:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderPackageDataOutput'
tax_id:
description: 'Deprecated: Use recipientTaxId Deprecated; use recipient_tax_id instead. Tax identifier
associated with the recipient.'
deprecated: true
anyOf:
- $ref: '#/components/schemas/Fulfillment_PublicApiBundle_ApiResource_Order_PublicApiOrderTaxIdOutput'
- type: 'null'
recipient_tax_id:
description: Recipient tax identification (e.g. VAT or EIN); null when not provided. Used for customs
clearance on international shipments.
anyOf:
- $ref: '#/components/schemas/Fulfillment_PublicApiBundle_ApiResource_Order_PublicApiOrderTaxIdOutput'
- type: 'null'
shipment_data:
description: Carrier and tracking details once the order has shipped; null until shipment data is available.
anyOf:
- $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiShipmentDataOutput'
- type: 'null'
order_parts:
description: Information about related orders when an order has been split into multiple parts; null if
the order was not split.
anyOf:
- $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderPartOutput'
- type: 'null'
shipped_at:
description: ISO 8601 timestamp of when the order was shipped; null if not yet shipped.
type:
- string
- 'null'
format: date-time
updated_at:
description: ISO 8601 timestamp of when the order was last updated; null if never updated since creation.
type:
- string
- 'null'
format: date-time
order_size:
description: 'Size classification of the order based on item dimensions: unknown, regular, oversized_item,
large, or extra_large.'
$ref: '#/components/schemas/Fulfillment_OrderBundle_Enum_OrderSize'
extra_data:
description: Additional key/value attributes attached to the shipment notification (e.g. carrier shipping
method).
type: array
items:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiExtraDataOutput'
serial_numbers:
description: Serial numbers of items fulfilled in the order, grouped by order line.
type: array
items:
$ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiSerialNumberOutput'
gift_message:
description: Gift message to include with the order; null if the order is not a gift.
type:
- string
- 'null'
gift_from:
description: Name of the gift sender; null if the order is not a gift.
type:
- string
- 'null'
customer_notes:
description: Customer-provided note
# --- truncated at 32 KB (107 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shipmonk/refs/heads/main/asyncapi/shipmonk-webhooks-asyncapi.yml