ShipMonk Orders API

The Orders API from ShipMonk — 5 operation(s) for orders.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/shipmonk-orders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

shipmonk-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ShipMonk Orders API
  version: v1.024
  description: The Orders surface of the ShipMonk public fulfillment API.
servers:
- url: https://api.shipmonk.com
  description: Once you finish testing on Sandbox, our support team generates you Production API keys and store_id for production. Just write us at api@shipmonk.com and we will handle it.
- url: https://sandbox.shipmonk.dev
  description: 'Sandbox environment is used for preproduction testing. It allows you to play around without worries of corrupting the data. We highly recommend using the Sandbox environment and run tests before going to Production. To get access to the Sandbox, please contact the ShipMonk support team. Note: Sandbox access can only be requested by customers with signed contracts.'
security:
- api_key_header_Api-Key: []
tags:
- name: Orders
paths:
  /v1/integrations/order:
    post:
      operationId: post-v1-integrations-order
      parameters: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_Crate_OrderSyncOutput'
      tags:
      - Orders
      security:
      - api_key_header_Api-Key: []
      description: 'This endpoint can be used to create an order. The orders are typically pushed to ShipMonk from the 3rd party software.


        The Create Order endpoint does not create duplicate entries when both the `store_id` and `order_key` are the same. Instead, it updates the existing order.


        *NOTE: Resending an Order with a different `order_key` will result in Order duplication.**


        The order can be in following 4 statuses:

        - `unfulfilled` will create order for ShipMonk to process

        - `cancelled` will create cancelled order or cancel existing order

        - `fulfilled` will create order in status "Fulfilled by 3rd party" or change existing order status to that status or not perform any action if order was fulfilled by ShipMonk

        - `onHold` will create order in status onHold or put an existing order on hold.


        Can be useful:

        - if the field `warehouse` is not given, ShipMonk resolves it based on inventory & shipping costs

        - the field `custom_data` can be used for any data that you need to store and then receive back in shipment notification

        - the field `attributes` is only used for a custom development and in most of the cases it won''t be needed

        - if the field submit_at is not given, order is submit according to store settings.


        ## Recipient Tax ID

        The **recipient_tax_id** field is an optional parameter when submitting an order through the API. However, it is **mandatory** for international shipments to certain countries, such as Mexico, Brazil, and South Korea. This field plays a role in customs clearance, ensuring accurate calculation of duties and taxes at the destination.


        ### How it''s used

        For orders shipping to destinations where a recipient tax ID is mandatory, failure to include this field on the shipping label will result in the order being placed in the **"Recipient Tax ID Required" Action Required status**. Without a valid tax ID, carriers may reject the shipment, returning it to the sender.


        ### Best Practices

        To prevent delays, collect the `recipient_tax_id` from the recipient at checkout. This information is unique to the individual or entity receiving the shipment.


        ### Resolving Missing Recipient Tax ID Issues

        To address a missing recipient tax ID, you can update the `recipient_tax_id` in one of two ways:

        - **Via API**: Submit the missing tax ID programmatically using the appropriate endpoint.

        - **Manually**: Edit the order details directly in the ShipMonk App.


        Additional Resources

        For more information, including a current list of countries requiring a recipient tax ID, consult the [Action Required Orders](https://support.shipmonk.com/s/article/Action-Required-Orders) documentation. Refer specifically to the **"Recipient Tax ID Required"** section for detailed guidance and troubleshooting steps.


        ## Lot requirements

        Settings for lot requirements (lot, minimum shelf life, etc.) depend on your account settings. Contact your happiness manager to enable lot management.


        It is possible to set minimum shelf life for the whole order, per order item, or specific lot requirements per order item.

        - If you set the minimum shelf life for the whole order, you can''t use settings at the item level.

        - If you set the minimum shelf life for an order item, you can''t set specific lot controls for the same order item.


        If the lot requirement is not applicable to the mapped bundle, the order is accepted, but the item mapping ends with action required and you have to update the bundles or set different lot requirements.


        You can override the requirements from public API manually in the application. New request from API will override the manual settings, also empty lot settings will remove existing lot restrictions.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderInput'
      summary: Create or Update Order
  /v1/integrations/orders:
    get:
      operationId: get-v1-integrations-orders
      parameters:
      - in: query
        name: orderKey
        schema:
          type:
          - string
          - 'null'
          minLength: 1
          maxLength: 255
          default: null
        required: false
        description: Filter by the external system's unique order identifier (order_key). Returns only orders matching this value; omit to skip this filter.
        example: 327b5abd-017a-4504-a50d-54f1cea80269
      - in: query
        name: orderNumber
        schema:
          type:
          - string
          - 'null'
          minLength: 1
          maxLength: 255
          default: null
        required: false
        description: Filter by the customer-facing order identifier (order_number). Returns only orders matching this value; omit to skip this filter.
        example: Order-123
      - in: query
        name: storeId
        schema:
          type:
          - integer
          - 'null'
          minimum: 1
          default: null
        required: false
        description: Filter by the internal numeric identifier of the store that owns the order. Omit to return orders across all stores.
        example: 123456
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  data:
                    $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderDetailOutput'
                required:
                - status
                - data
      tags:
      - Orders
      security:
      - api_key_header_Api-Key: []
      description: 'This endpoint can be used to retrieve data from the order you are calling.The order can be in following 4 statuses (field order_status):

        - `unfulfilled` indicates an order is ready for ShipMonk to process

        - `cancelled` indicates an order was cancelled

        - `fulfilled` indicates an order has been marked as "Fulfilled by 3rd party", unless already fulfilled by ShipMonk

        - `onHold` indicates an order is placed on hold


        You can retrieve orders from all of your stores. In case you have not unique orderKeys across stores you can specify the storeId.'
      summary: Get Order
  /v1/integrations/orders-list:
    get:
      operationId: get-v1-integrations-orders-list
      parameters:
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        required: false
        description: 1-based page number to return. Defaults to 1.
        example: 1
      - in: query
        name: pageSize
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        required: false
        description: Number of results per page. Defaults to a server-configured value; check the response metadata for the effective size.
        example: 10
      - in: query
        name: sortOrder
        schema:
          $ref: '#/components/schemas/Fulfillment_PublicApiBundle_Enum_PublicApiOrdering'
          default: ASC
        required: false
        description: 'Sort direction by internal order id: DESC (newest first) or ASC (oldest first).'
      - in: query
        name: orderKeys
        schema:
          type:
          - array
          - 'null'
          items:
            type: string
            minLength: 1
            maxLength: 255
          default: null
        required: false
        description: Filter to orders whose order_key matches any value in this list.
      - in: query
        name: orderNumbers
        schema:
          type:
          - array
          - 'null'
          items:
            type: string
            minLength: 1
            maxLength: 255
          default: null
        required: false
        description: Filter to orders whose order_number matches any value in this list.
      - in: query
        name: orderStatus
        schema:
          anyOf:
          - $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_Enum_PublicApiOrderStatus'
          - type: 'null'
          default: null
        required: false
        description: Filter by current order status (see PublicApiOrderStatus enum); omit to return all statuses.
      - in: query
        name: orderType
        schema:
          anyOf:
          - $ref: '#/components/schemas/ShipMonk_OMS_Order_Enum_OrderType'
          - type: 'null'
          default: null
        required: false
        description: Filter by order type (see OrderType enum); omit to return all types.
      - in: query
        name: updatedAtStart
        schema:
          type: string
          format: date-time
          default: null
        required: false
        description: Lower bound (inclusive) on updated_at as an ISO 8601 timestamp; returns orders updated at or after this time.
        example: '2025-07-24 14:53:00'
      - in: query
        name: updatedAtEnd
        schema:
          type: string
          format: date-time
          default: null
        required: false
        description: Upper bound (inclusive) on updated_at as an ISO 8601 timestamp; returns orders updated at or before this time.
        example: '2025-07-24 14:53:00'
      - in: query
        name: shippedAtStart
        schema:
          type: string
          format: date-time
          default: null
        required: false
        description: Lower bound (inclusive) on shipped_at as an ISO 8601 timestamp; returns orders shipped at or after this time.
        example: '2025-07-24 14:53:00'
      - in: query
        name: shippedAtEnd
        schema:
          type: string
          format: date-time
          default: null
        required: false
        description: Upper bound (inclusive) on shipped_at as an ISO 8601 timestamp; returns orders shipped at or before this time.
        example: '2025-07-24 14:53:00'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  data:
                    $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderList_PublicApiOrderListOutput'
                required:
                - status
                - data
      tags:
      - Orders
      security:
      - api_key_header_Api-Key: []
      description: When no filters are specified, the endpoint will return up to the first 1,000,000 orders, based on selected ordering. If filters are used, this endpoint will return a maximum of 10,000 orders.
      summary: Retrieve List of Orders
  /v1/integrations/sandbox/complete-order:
    post:
      operationId: post-v1-integrations-sandbox-complete-order
      parameters: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                required:
                - status
      tags:
      - Orders
      security:
      - api_key_header_Api-Key: []
      description: 'Simulates warehouse shipment of an order in your Sandbox environment. Cannot be used in production.


        The order must be in a submitted status with available inventory, a valid address, and a valid shipping method.


        A shipment notification is sent after the delay configured for the store under Account Settings > Stores, defaulting to 20 minutes.


        For D2C orders, there is approximately a 1-minute delay (up to 5 minutes) between the order transitioning from awaiting pick up to en route. During this window, an awaiting shipment webhook is delivered to simulate the real fulfillment process.


        You can also simulate order completion directly in the ShipMonk UI. See our Sandbox guide for instructions.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_Input_CompleteOrderInput'
      summary: Complete Order
  /v1/integrations/submit-order:
    post:
      operationId: post-v1-integrations-submit-order
      parameters: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                required:
                - status
      tags:
      - Orders
      security:
      - api_key_header_Api-Key: []
      description: 'Submits an order for fulfillment or reschedules its submit date.


        Submitting an order makes it eligible for the operations team to begin fulfillment. Once submitted, the order enters the fulfillment pipeline and edit restrictions apply:


        - During picking, order items cannot be changed.

        - Once packed, no fields on the order can be changed.


        This endpoint serves two purposes:


        - Submit immediately — pass a submit_at timestamp in the past (or now) to release the order into the fulfillment queue right away.

        - Reschedule the submit date — even though submit_at can be set when creating an order, this is the simplest way to change it after the fact.


        When submit_at is in the future, inventory is reserved immediately and the order is released into the fulfillment queue at the scheduled time.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_Input_SubmitOrderIntoQueueForFulfillmentAtDateInput'
      summary: Submit Order
components:
  schemas:
    ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderInput:
      type: object
      properties:
        store_id:
          description: Identifier of the store the order belongs to.
          type: integer
          minimum: 1
          example: 123456
        order_number:
          description: Customer-facing order identifier (e.g. shown on the packing slip). Uniqueness is recommended but not enforced. Immutable after creation.
          type: string
          maxLength: 255
          example: Order-123
        order_key:
          description: Stable external identifier used to associate this order on subsequent updates; must be unique per order and acts as the upsert key.
          type: string
          maxLength: 255
          example: 327b5abd-017a-4504-a50d-54f1cea80269
        items:
          description: Line items to be fulfilled in the order.
          type: array
          items:
            $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderItemInput'
        ship_to:
          description: Recipient's shipping destination address; used to generate the shipping label and select the carrier service.
          $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderShipToInput'
        requested_shipping_service:
          description: The shipping option passed from your integration (e.g., Free Shipping, 2-Day Shipping); must match a Shipping Mapping configured in ShipMonk — if no match is found, the order will be placed in Action Required and cannot be fulfilled until resolved.
          type: string
          maxLength: 255
        ordered_at:
          description: ISO 8601 timestamp when the order was originally placed in the source system.
          type: string
          format: date-time
          example: '2025-07-24 14:53:00'
        order_status:
          description: 'Current status of the order. Allowed values: `unfulfilled` (ready to be picked/shipped), `fulfilled` (already shipped externally), `cancelled` (will not be shipped), `onHold` (paused, will not be picked until released).'
          $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_Type_OrderSyncOrderStatus'
        attributes:
          description: Free-form key/value pairs stored on the order, used for custom development.
          type: array
          items:
            $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderAttributeInput'
          default: []
        trading_partner:
          description: Name of the retailer or trading partner for B2B/EDI orders; required to apply the partner's routing and labeling rules.
          type:
          - string
          - 'null'
          maxLength: 255
          default: null
        order_type:
          description: Classifies how the order should be fulfilled. If not specified, defaults to direct_to_consumer. Orders intended for retail or B2B distribution must use retail to meet compliance requirements.
          anyOf:
          - $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderOrderType'
          - type: 'null'
          default: null
        customer_email:
          description: Recipient email address forwarded to the carrier for delivery notifications.
          type:
          - string
          - 'null'
          maxLength: 255
          default: null
        shipping_paid:
          description: Amount the customer paid for shipping, expressed in the order's `currency_code`. Informational only; does not affect rated postage.
          type:
          - number
          - 'null'
          format: double
          minimum: 0
          default: null
        taxes_paid:
          description: Tax amount the customer paid, in the order's `currency_code`. Informational only; used for customs paperwork on international shipments.
          type:
          - number
          - 'null'
          format: double
          minimum: 0
          default: null
        currency_code:
          description: ISO 4217 three-letter currency code for `shipping_paid`, `taxes_paid`, and item prices (e.g., 'USD', 'EUR').
          type:
          - string
          - 'null'
          maxLength: 3
          default: USD
        references:
          description: External identifiers (e.g., PO number, marketplace order ID) linking this order back to upstream systems; informational only.
          type: array
          items:
            $ref: '#/components/schemas/Fulfillment_AccountApiBundle_Input_Order_OrderReferenceInput'
          default: []
        customer_notes:
          description: Notes provided by the buyer (e.g., delivery preferences). Stored on creation only; subsequent updates are ignored once a value is set.
          type:
          - string
          - 'null'
          maxLength: 65535
          default: null
        internal_notes:
          description: Notes for internal warehouse staff, not shown to the buyer. Stored on creation only; ignored on subsequent updates.
          type:
          - string
          - 'null'
          maxLength: 65535
          default: null
        warehouse:
          description: Identifier of the warehouse that must fulfill this order (e.g., 'FL1', 'CA1'). Use the codes provided by your account manager; omit to let the system pick the best warehouse.
          type:
          - string
          - 'null'
          maxLength: 255
          default: null
          example: PA1
        gift_message:
          description: Message printed on a gift note included with the shipment. Stored on creation only; ignored on subsequent updates.
          type:
          - string
          - 'null'
          maxLength: 65535
          default: null
        gift_from:
          description: Sender name printed on the gift note alongside `gift_message`.
          type:
          - string
          - 'null'
          maxLength: 255
          default: null
        custom_data:
          description: Free-form key/value metadata stored on the order; not interpreted by fulfillment logic and returned as-is in order reads.
          type: array
          items:
            $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderCustomDataInput'
          default: []
        b2b_attributes:
          description: B2B-specific attributes (e.g., ASN, routing instructions) used when fulfilling retailer orders. Contact api@shipmonk.com to enable B2B order processing on your account before sending these.
          type: array
          items:
            $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderB2BAttributeInput'
          default: []
        submit_at:
          description: ISO 8601 timestamp at which the order should be released to the warehouse for picking. Until this time the order is held; omit to release immediately.
          type:
          - string
          - 'null'
          format: date-time
          default: null
          example: '2025-07-24 14:53:00'
        special_requirements:
          description: Optional bundle of special handling requirements (packing slip, carton labels, custom dates, pre-generated shipping label, etc.) to apply to this order.
          anyOf:
          - $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderSpecialRequirementsInput'
          - type: 'null'
          default: null
        recipient_tax_id:
          description: Recipient's tax identifier (e.g., VAT, EORI) required for customs clearance on international shipments.
          anyOf:
          - $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderTaxIdInput'
          - type: 'null'
          default: null
        minimum_shelf_life_days:
          description: Minimum remaining shelf life (in days from the ship date) required for every lot-controlled item in the order; omit to accept any shelf life.
          type:
          - integer
          - 'null'
          minimum: 1
          default: null
      required:
      - store_id
      - order_number
      - order_key
      - items
      - ship_to
      - requested_shipping_service
      - ordered_at
      - order_status
      title: Create Or Update Order Input
    Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderItemOutput:
      type: object
      properties:
        line_key:
          description: External system identifier for this order line, unique within the order. Null when not provided.
          type:
          - string
          - 'null'
        sku:
          description: Stock Keeping Unit (SKU) identifying the marketplace item being ordered.
          type: string
        name:
          description: Display name of the marketplace item as captured on the order line.
          type:
          - string
          - 'null'
        quantity:
          description: Number of units of this SKU ordered.
          type: integer
        price:
          description: Per-unit price charged to the customer, in the order's currency_code. Null when not provided.
          type:
          - number
          - 'null'
          format: double
        image_url:
          description: Absolute URL of the marketplace item image, if available.
          type:
          - string
          - 'null'
        fulfilled_quantity:
          description: Number of units already shipped (fulfilled) for this line. Null if fulfillment has not started.
          type:
          - integer
          - 'null'
        source:
          description: 'How this line was added to the order: imported (from the source channel), manual (added by a user), inserted (system-inserted, e.g. promo), packaging (added as packaging material), claim_reship (added as part of a claim reship).'
          $ref: '#/components/schemas/Fulfillment_OrderBundle_Enum_OrderItemSource'
        products:
          description: Physical products allocated to fulfill this order line. A line with a bundle SKU may resolve to multiple component products.
          type: array
          items:
            $ref: '#/components/schemas/Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderItemProductOutput'
      required:
      - line_key
      - sku
      - name
      - quantity
      - price
      - image_url
      - fulfilled_quantity
      - source
      - products
      title: Order Item Output
    ShipMonk_OMS_RequiredLabels_Enum_RequiredLabelDataSource:
      type:
      - string
      enum:
      - internal
      - third-party-after-shipment-notification
      title: Required Label Data Source
    ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderItemSpecialInstructionInput:
      oneOf:
      - $ref: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderItemEmbroiderySpecialInstructionInput'
      discriminator:
        propertyName: type
        mapping:
          embroidery: '#/components/schemas/ShipMonk_PublicApi_Order_OrderCreateOrUpdate_CreateOrUpdateOrderItemEmbroiderySpecialInstructionInput'
      title: Create Or Update Order Item Special Instruction Input
    ShipMonk_OMS_Order_Enum_Embroidery_EmbroideryType:
      type:
      - string
      enum:
      - logo
      - text
      - text_with_logo
      - logo_identifier
      - text_with_symbol
      title: Embroidery Type
    Fulfillment_IntegrationsBundle_ApiResource_Output_Order_PublicApiOrderReturnDataOutput:
      type: object
      properties:
        rma:
          description: Return Merchandise Authorization (RMA) number identifying this return.
          type: string
      required:
      - rma
      title: Order Return 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).
          

# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shipmonk/refs/heads/main/openapi/shipmonk-orders-api-openapi.yml