openapi: 3.1.0
info:
title: API Reference subpackage_billing subpackage_orders API
version: 1.0.0
servers:
- url: https://api.shipbob.com
- url: https://sandbox-api.shipbob.com
tags:
- name: subpackage_orders
paths:
/2026-01/order:
post:
operationId: create-order
summary: Create Order
description: Creates a new order in ShipBob’s system that will be queued for fulfillment. Orders can be created using either product reference IDs (SKUs) or ShipBob product IDs, with reference IDs being the recommended approach.
tags:
- subpackage_orders
parameters:
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: true
schema:
type: string
format: int32
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.OrderViewModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.Unprocessable.Entity.Object'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.CreateOrderModel'
get:
operationId: get-orders
summary: Get Orders
description: Retrieves a paginated list of orders from your ShipBob account with optional filters. All filter parameters use AND logic, meaning orders must match all provided criteria to be returned.
tags:
- subpackage_orders
parameters:
- name: Page
in: query
description: Page of orders to get
required: false
schema:
type: integer
- name: Limit
in: query
description: Amount of orders per page to request
required: false
schema:
type: integer
- name: IDs
in: query
description: order ids to filter by, comma separated
Example: ?IDs=1,2
required: false
schema:
type: string
- name: ReferenceIds
in: query
description: Reference ids to filter by, comma separated
Example: ?ReferenceIds=Ref1,Ref2
required: false
schema:
type: string
- name: StartDate
in: query
description: Start date to filter orders inserted later than
required: false
schema:
type: string
format: date-time
- name: EndDate
in: query
description: End date to filter orders inserted earlier than
required: false
schema:
type: string
format: date-time
- name: SortOrder
in: query
description: Order to sort results in
required: false
schema:
type: string
- name: HasTracking
in: query
description: Has any portion of this order been assigned a tracking number
required: false
schema:
type: boolean
- name: LastUpdateStartDate
in: query
description: Start date to filter orders updated later than
required: false
schema:
type: string
format: date-time
- name: LastUpdateEndDate
in: query
description: End date to filter orders updated later than
required: false
schema:
type: string
format: date-time
- name: IsTrackingUploaded
in: query
description: Filter orders that their tracking information was fully uploaded
required: false
schema:
type: boolean
- name: LastTrackingUpdateStartDate
in: query
description: Start date to filter orders with tracking updates later than the supplied date. Will only return orders that have tracking information
required: false
schema:
type: string
format: date-time
- name: LastTrackingUpdateEndDate
in: query
description: End date to filter orders updated later than the supplied date. Will only return orders that have tracking information
required: false
schema:
type: string
format: date-time
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: false
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.OrderViewModelArray'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
/2026-01/order/{orderId}:
get:
operationId: get-order
summary: Get Order
description: Retrieves detailed information about a specific order by its order ID, including order status, shipments, products, and recipient details.
tags:
- subpackage_orders
parameters:
- name: orderId
in: path
description: ''
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: false
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.OrderViewModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
/2026-01/shipment/{shipmentId}:
get:
operationId: get-shipment
summary: Get Shipment
description: Retrieves detailed information about a specific shipment by shipment ID, including shipment status, tracking information, fulfillment center location, and contained products.
tags:
- subpackage_orders
parameters:
- name: shipmentId
in: path
description: The shipment id to get
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: false
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentViewModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Shipment.ShipmentId.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
/2026-01/shipment/{shipmentId}/timeline:
get:
operationId: get-shipment-timeline
summary: Get Shipment Timeline
description: Retrieves a chronological timeline of shipment status updates by shipment ID, showing when each status change occurred and providing visibility into the fulfillment progress.
tags:
- subpackage_orders
parameters:
- name: shipmentId
in: path
description: The shipment id to get
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: false
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentLogViewModelArray'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Shipment.ShipmentId.Timeline.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
/2026-01/shipment:batchCancel:
post:
operationId: batch-cancel-shipments
summary: Batch Cancel Shipments
description: Cancels multiple shipments in a single request. Shipments can only be cancelled if they are in a cancellable state (i.e. not picked, packed, or shipped yet).
tags:
- subpackage_orders
parameters:
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: true
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.CanceledShipmentsViewModel'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Shipment.Cancelbulk.Unprocessable.Entity.Object'
'500':
description: Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Shipment.Cancelbulk.Internal.Server.Error.Object'
requestBody:
description: The shipment IDs to cancel
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.CancelShipmentsModel'
/2026-01/shipment:batchUpdateTrackingUpload:
post:
operationId: mark-tracking-uploaded
summary: Mark Tracking Uploaded
description: 'Mark tracking information as synced to your external system for multiple shipments. Use this endpoint after syncing tracking data to update the IsTrackingUploaded flag, preventing these shipments from appearing in future GET /order queries with IsTrackingUploaded=false.
Use this endpoint if you''re filtering orders by is_tracking_uploaded. This allows integrations to acknowledge that shipments have been successfully synced to their system.'
tags:
- subpackage_orders
parameters:
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.BulkUpdateResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Shipment.BulkUpdateTrackingUpload.Bad.Request.String'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.BulkUpdateTrackingUploadModel'
/2026-01/shipment/{shipmentId}:updateAddress:
put:
operationId: update-shipment-address
summary: 'Update Shipment Address
'
description: 'Updates the shipping address for a specific shipment.
'
tags:
- subpackage_orders
parameters:
- name: shipmentId
in: path
description: Unique identifier of the shipment
required: true
schema:
type: integer
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentApiResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ErrorResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.UpdateAddressRequest'
/2026-01/shipment/{shipmentId}:getLineItems:
get:
operationId: get-shipment-line-items
summary: 'Get Shipment Line Items
'
description: 'Retrieves the line items for a specific shipment.
'
tags:
- subpackage_orders
parameters:
- name: shipmentId
in: path
description: Unique identifier of the shipment
required: true
schema:
type: integer
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentLineItemDetailArray'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ErrorResponse'
/2026-01/shipment/{shipmentId}:updateLineItems:
post:
operationId: update-shipment-line-items
summary: 'Update Shipment Line Items
'
description: 'Updates the line items for a specific shipment. The request body must include the complete list of line items as returned by the GET /{shipmentId}:getLineItems endpoint — partial updates are not supported. Retrieve the current line items first, modify the desired fields, and submit the full payload.
'
tags:
- subpackage_orders
parameters:
- name: shipmentId
in: path
description: Unique identifier of the shipment
required: true
schema:
type: integer
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentLineItemsApiResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ErrorResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.UpdateLineItemsRequest'
/2026-01/shipment:bulkUpdateShippingService:
put:
operationId: bulk-update-shipping-service
summary: 'Bulk Update Shipping Service
'
description: 'Updates the shipping service for multiple shipments in a single request.
'
tags:
- subpackage_orders
parameters:
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.BulkActionApiResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ErrorResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.BulkUpdateShippingServiceRequest'
/2026-01/order/{orderId}:cancel:
post:
operationId: cancel-order
summary: Cancel Order
description: Cancels an order and all associated shipments. The order must be in a cancellable state to proceed with the cancellation.
tags:
- subpackage_orders
parameters:
- name: orderId
in: path
description: The order ID to cancel
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.CanceledOrderViewModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.OrderId.Cancel.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.OrderId.Cancel.Unprocessable.Entity.Object'
'500':
description: Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.OrderId.Cancel.Internal.Server.Error.Object'
/2026-01/shipment/{shipmentId}:cancel:
post:
operationId: cancel-shipment
summary: Cancel Shipment
description: Cancels a specific shipment by shipment ID. The shipment must not be picked, packed, or shipped to proceed with the cancellation.
tags:
- subpackage_orders
parameters:
- name: shipmentId
in: path
description: The shipment id to get
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentViewModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Shipment.ShipmentId.Cancel.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Shipment.ShipmentId.Cancel.Unprocessable.Entity.Object'
'500':
description: Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Shipment.ShipmentId.Cancel.Internal.Server.Error.Object'
/2026-01/shipping-method:
get:
operationId: get-shipping-methods
summary: Get Shipping Methods
description: Retrieves all available shipping methods configured for your merchant account.
tags:
- subpackage_orders
parameters:
- name: Page
in: query
description: Page of orders to get
required: false
schema:
type: integer
- name: Limit
in: query
description: Amount of records per page to request
required: false
schema:
type: integer
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipMethodDetailViewModelArray'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Shippingmethod.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Shippingmethod.Unprocessable.Entity.Object'
/2026-01/order/{orderId}/shipment/{shipmentId}/timeline:
get:
operationId: get-shipment-status-timeline-by-order-id-and-shipment-id
summary: Get Shipment Status Timeline by Order ID and Shipment ID
description: Retrieves a chronological timeline of shipment status updates by shipment ID, showing when each status change occurred and providing visibility into the fulfillment progress.
tags:
- subpackage_orders
parameters:
- name: orderId
in: path
description: The order id to get the shipment for
required: true
schema:
type: string
format: int32
- name: shipmentId
in: path
description: The shipment id to get
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: false
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentLogViewModelArray'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Timeline.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
/2026-01/order/{orderId}/shipment:
get:
operationId: get-all-shipments-for-order
summary: Get All Shipments for Order
description: Retrieves all shipments associated with a specific order, including shipment status, tracking information, and product details.
tags:
- subpackage_orders
parameters:
- name: orderId
in: path
description: The order id to get shipments for
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: false
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.Shipment.OK.OneOfArray'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.Shipment.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
/2026-01/order/{orderId}/shipment/{shipmentId}/logs:
get:
operationId: get-shipment-logs-by-order-id-and-shipment-id
summary: Get Shipment Logs by Order ID and Shipment ID
description: Retrieves operational logs for a specific shipment by shipment ID, providing a detailed record of all events and status changes that have occurred.
tags:
- subpackage_orders
parameters:
- name: orderId
in: path
description: The order id to get the shipment for
required: true
schema:
type: string
format: int32
- name: shipmentId
in: path
description: The shipment id to get
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentLogViewModelArray'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Logs.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
/2026-01/order/{orderId}/shipment/{shipmentId}:cancel:
post:
operationId: cancel-shipment-by-order-id-and-shipment-id
summary: Cancel Shipment by Order ID and Shipment ID
description: Cancels a specific shipment by order ID and shipment ID. The shipment must not be picked, packed, or shipped to proceed with the cancellation.
tags:
- subpackage_orders
parameters:
- name: shipmentId
in: path
description: The shipment id to get
required: true
schema:
type: string
format: int32
- name: orderId
in: path
description: ''
required: true
schema:
type: string
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentViewModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Unprocessable.Entity.Object'
'500':
description: Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Internal.Server.Error.Object'
/2026-01/shipment/{shipmentId}/logs:
get:
operationId: get-shipment-logs
summary: Get Shipment Logs
description: Retrieves operational logs for a specific shipment by shipment ID, providing a detailed record of all events and status changes that have occurred.
tags:
- subpackage_orders
parameters:
- name: shipmentId
in: path
description: The shipment id to get
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: false
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentLogViewModelArray'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Shipment.ShipmentId.Logs.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
/2026-01/order/{orderId}/shipment/{shipmentId}:
get:
operationId: get-shipment-by-order-id-and-shipment-id
summary: Get Shipment by Order ID and Shipment ID
description: Retrieves detailed shipment information for a specific order and shipment combination, including shipment status, tracking information, fulfillment center location, and contained products.
tags:
- subpackage_orders
parameters:
- name: orderId
in: path
description: The order id to get the shipment for
required: true
schema:
type: string
format: int32
- name: shipmentId
in: path
description: The shipment id to get
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: false
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.ShipmentViewModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
/2026-01/order:estimate:
post:
operationId: estimate-fulfillment-cost-for-order
summary: Estimate Fulfillment Cost For Order
description: This endpoint will provide, where possible, an estimate of pricing and fulfillment center assignment of a potential standard (direct to consumer) order. Keep in mind that there are ways for the merchant to change FC assignment or product configuration after order creation that could invalidate this estimate. Estimates cannot be returned for items that are unknown, out of stock, or too large for fulfillment using standard box sizes. Additional services such as high-pick fees, shipping insurance, auto-splitting or auto-adding items to orders, and signature required are not included in this estimate.
tags:
- subpackage_orders
parameters:
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
- name: shipbob_channel_id
in: header
description: Retrieve your channel ID from the [GET /channel](/api/channels/get-channels) endpoint. Use the channel ID that has write scopes.
required: true
schema:
type: string
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.EstimateViewModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.Estimate.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Post.Api.Order.Estimate.Unprocessable.Entity.Object'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.EstimateFulfillmentRequestModel'
/2026-01/order/{orderId}/store-order-json:
get:
operationId: get-order-store-data
summary: Get Order Store Data
description: Retrieves the original store order data associated with the order in JSON format, preserving custom fields and metadata from the order source.
tags:
- subpackage_orders
parameters:
- name: orderId
in: path
description: The order ID to Get the JSON Stored
required: true
schema:
type: string
format: int32
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.StoreOrderJson.OK.String'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.StoreOrderJson.Bad.Request.Object'
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.Get.Api.Order.OrderId.StoreOrderJson.Unprocessable.Entity.Object'
components:
schemas:
Orders.SummaryResponse:
type: object
properties:
failed:
type: integer
description: Number of shipments that failed to update
successful:
type: integer
description: Number of shipments that were updated successfully
total:
type: integer
description: Total number of shipments included in the bulk operation
title: Orders.SummaryResponse
OrdersRecipientViewModelAddress:
oneOf:
- $ref: '#/components/schemas/Orders.AddressViewModel'
- $ref: '#/components/schemas/Orders.RetailerProgramDataAddressViewModel'
description: Address of the recipient
title: OrdersRecipientViewModelAddress
Orders.CartonViewModel:
type: object
properties:
barcode:
type:
- string
- 'null'
description: Barcode assigned to this carton
carton_details:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.CartonDetailsViewModel'
description: Details about the contents of this carton
id:
type: integer
description: ID assigned to this carton
measurements:
$ref: '#/components/schemas/Orders.CartonMeasurementsViewModel'
type:
type:
- string
- 'null'
description: Type of this carton container
title: Orders.CartonViewModel
Orders.TrackingViewModel:
type: object
properties:
bol:
type:
- string
- 'null'
description: Bill of lading (BOL) number. Document acknowledging receipt of cargo for shipment.
carrier:
type:
- string
- 'null'
description: Carrier of the shipment
carrier_service:
type:
- string
- 'null'
description: The carrier's service which was used for this shipment
pro_number:
type:
- string
- 'null'
description: Tracking number used for freight carriers
scac:
type:
- string
- 'null'
description: Standard Carrier Alpha Code (SCAC). Unique 2-4 letter code used to identify transportation companies.
shipping_date:
type:
- string
- 'null'
format: date-time
description: Date freight was shipped on
tracking_number:
type:
- string
- 'null'
description: Tracking number of the shipment
tracking_url:
type:
- string
- 'null'
description: URL to the website where a shipment can be tracked
description: Tracking information for a shipment
title: Orders.TrackingViewModel
Orders.Get.Api.Order.OrderId.StoreOrderJson.OK.String:
type: string
title: Orders.Get.Api.Order.OrderId.StoreOrderJson.OK.String
Orders.ShipmentLogViewModelArray:
type: array
items:
$ref: '#/components/schemas/Orders.ShipmentLogViewModel'
title: Orders.ShipmentLogViewModelArray
Orders.RetailerProgramDataAddressViewModel:
type: object
properties:
address1:
type: string
description: First line of the address
address2:
type:
- string
- 'null'
description: Second line of the address
city:
type: string
description: The city
company_name:
type:
- string
- 'null'
description: Name of the company receiving the shipment
country:
type: string
description: The country (Must be ISO Alpha-2 for estimates)
state:
type:
- string
- 'null'
description: The state or province
zip_code:
type:
- string
- 'null'
format: postal-code
description: The zip code or postal code
type:
$ref: '#/components/schemas/Orders.AddressType'
required:
- address1
- city
- country
- type
description: Address to used when creating a B2B/DropShip order.
title: Orders.RetailerProgramDataAddressViewModel
Orders.PaymentShipTerm:
type: string
enum:
- Collect
- ThirdParty
- Prepaid
- MerchantResponsible
title: Orders.PaymentShipTerm
Orders.BulkUpdateResponseResult:
type: object
properties:
error:
$ref: '#/components/schemas/Orders.BulkUpdateResponseError'
isSuccess:
type: boolean
shipmentId:
type: integer
format: int64
title: Orders.BulkUpdateResponseResult
Orders.EstimateViewModel:
type: object
properties:
estimates:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.EstimateDetailViewModel'
description: Array of estimates for each shipping method
title: Orders.EstimateViewModel
Orders.AddressType:
type: string
enum:
- MarkFor
- ShipFrom
title: Orders.AddressType
Orders.Get.Api.Shipment.ShipmentId.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Shipment.ShipmentId.Bad.Request.Object
Orders.Post.Api.Order.Estimate.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.Estimate.Bad.Request.Object
Orders.Get.Api.Shipment.ShipmentId.Logs.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Shipment.ShipmentId.Logs.Bad.Request.Object
Orders.Get.Api.Order.OrderId.Shipment.OK.OneOfArray:
type: array
items:
$ref: '#/components/schemas/Orders.ShipmentViewModel'
title: Orders.Get.Api.Order.OrderId.Shipment.OK.OneOfArray
Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Bad.Request.Object
Orders.AddProductToOrderByReferenceIdModel:
type: object
properties:
external_line_id:
type:
- integer
- 'null'
description: Numeric assignment per item. Used as a reference number for multiple purposes such as split orders, split containers, etc.
gtin:
type:
- string
- 'null'
description: Global Trade Item Number - unique and internationally recognized identifier assigned to item by company GS1
name:
type:
- string
- 'null'
description: Name of the product. Required if there is not an existing ShipBob product with a matching reference_id value.
quantity:
type: integer
description: The quantity of this product ordered
quantity_unit_of_measure_code:
type:
- string
- 'null'
description: 'Defined standard for measure for an item (each, inner pack, case, pallet). Values: EA, INP, CS and PL'
reference_id:
type: string
description: Unique reference id (also known as sku or seller_sku) of the product.
sku:
type:
- string
- 'null'
description: Product SKU
unit_price:
type:
- number
- 'null'
format: double
description: Price for one item
upc:
type:
- string
- 'null'
description: Universal Product Code - Unique external identifier
required:
- name
- quantity
- reference_id
title: Orders.AddProductToOrderByReferenceIdModel
Orders.Post.Api.Order.Unprocessable.Entity.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.Unprocessable.Entity.Object
Orders.Post.Api.Shipment.ShipmentId.Cancel.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Shipment.ShipmentId.Cancel.Bad.Request.Object
Orders.BulkUpdateTrackingUploadModel:
type: object
properties:
is_tracking_uploaded:
type: boolean
description: "Indicates whether the Shipment was marked with tracking information\r\nuploaded to a third-party system where the order originated.\r\nApplies to all shipments in shipment_ids"
shipment_ids:
type:
- array
- 'null'
items:
type: integer
description: Shipment IDs to apply the tracking upload status to
description: Model for updating tracking upload status for multiple shipments
title: Orders.BulkUpdateTrackingUploadModel
Orders.Post.Api.Order.OrderId.Cancel.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.OrderId.Cancel.Bad.Request.Object
Orders.ShippingTermsViewModel:
type: object
properties:
carrier_type:
$ref: '#/components/schemas/Orders.CarrierShipType'
payment_term:
$ref: '#/components/schemas/Orders.PaymentShipTerm'
description: Contains shipping properties that need to be used for fulfilling an order.
title: Orders.ShippingTermsViewModel
Orders.CancelShipmentsModel:
type: object
properties:
shipment_ids:
type:
- array
- 'null'
items:
type: integer
description: Shipment IDs to cancel
description: Model for cancel multiple shipments at once
title: Orders.CancelShipmentsModel
Orders.ProductVariantDetail:
type: object
properties:
id:
type: integer
description: Unique identifier of the product variant
name:
type:
- string
- 'null'
description: Display name of the product variant
sku:
type:
- string
- 'null'
description: Stock keeping unit identifier for the product variant
title: Orders.ProductVariantDetail
OrdersRecipientInfoViewModelAddress:
oneOf:
- $ref: '#/components/schemas/Orders.AddressViewModel'
- $ref: '#/components/schemas/Orders.RetailerProgramDataAddressViewModel'
description: Address of the recipient
title: OrdersRecipientInfoViewModelAddress
Orders.CanceledShipmentViewModel:
type: object
properties:
action:
$ref: '#/components/schemas/Orders.ShipmentAction'
is_success:
type: boolean
description: If the cancel action was successful
reason:
type:
- string
- 'null'
description: The reason the cancellation result
shipment_id:
type: integer
format: int64
description: The ID of the shipment
title: Orders.CanceledShipmentViewModel
Orders.Get.Api.Order.OrderId.Shipment.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Order.OrderId.Shipment.Bad.Request.Object
Orders.SalesChannel:
type: string
enum:
- amazon
- bigcommerce
- ebay
- faire
- macy
- magento
- shein
- shopify
- squarespace
- targetplus
- temu
- tiktok
- unleashed
- walmart
- woocommerce
title: Orders.SalesChannel
Orders.ShipMethodDetailViewModel:
type: object
properties:
active:
type: boolean
description: Indicates if the shipping method is active
default:
type: boolean
description: Indicates the shipping method is a ShipBob default shipping method.
id:
type: integer
description: Unique id for shipping method.
name:
type:
- string
- 'null'
description: Name of the ship method as selected by the merchant and saved in ShipBob’s database (i.e. “ground”). Corresponds to the shipping_method field in the Orders API.
service_level:
$ref: '#/components/schemas/Orders.ServiceLevelDetailViewModel'
title: Orders.ShipMethodDetailViewModel
Orders.ErrorResponse:
type: object
properties:
code:
$ref: '#/components/schemas/Orders.ErrorCode'
description: Error code identifying the type of error
message:
type:
- string
- 'null'
description: Human-readable description of the error
title: Orders.ErrorResponse
Orders.OrderStatusEnum:
type: string
enum:
- None
- Processing
- Completed
- Exception
- OnHold
- Cancelled
- CleanSweeped
- LabeledCreated
- ImportReview
title: Orders.OrderStatusEnum
Orders.ShipmentLineItemResponse:
type: object
properties:
action:
type:
- string
- 'null'
description: The action applied to this line item during the update
inventory_id:
type: integer
description: Unique identifier of the inventory item
new_value:
type:
- string
- 'null'
description: The new value of the field after the update
previous_value:
type:
- string
- 'null'
description: The previous value of the field before the update
title: Orders.ShipmentLineItemResponse
Orders.LotSelectionMethod:
type: string
enum:
- ShipbobChooses
- Specific
title: Orders.LotSelectionMethod
Orders.AddProductToOrderByProductIdModel:
type: object
properties:
external_line_id:
type:
- integer
- 'null'
description: Numeric assignment per item. Used as a reference number for multiple purposes such as split orders, split containers, etc.
id:
type: integer
description: Unique id of the product
quantity:
type: integer
description: The quantity of this product ordered
quantity_unit_of_measure_code:
type:
- string
- 'null'
description: 'Defined standard for measure for an item (each, inner pack, case, pallet). Values: EA, INP, CS and PL'
required:
- id
- quantity
title: Orders.AddProductToOrderByProductIdModel
Orders.ShipmentLogViewModel:
type: object
properties:
log_type_id:
type: integer
description: Log type id of the shipment
log_type_name:
type:
- string
- 'null'
description: Name of the log type
log_type_text:
type:
- string
- 'null'
description: Summary of log type meaning
metadata:
type:
- object
- 'null'
additionalProperties:
type: string
description: Specifics data for the event
timestamp:
type: string
format: date-time
description: Timestamp of event
title: Orders.ShipmentLogViewModel
Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Logs.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Logs.Bad.Request.Object
OrdersCreateOrderModelProductsItems:
oneOf:
- $ref: '#/components/schemas/Orders.AddProductToOrderByReferenceIdModel'
- $ref: '#/components/schemas/Orders.AddProductToOrderByProductIdModel'
title: OrdersCreateOrderModelProductsItems
Orders.OrderViewModel:
type: object
properties:
channel:
$ref: '#/components/schemas/Orders.ChannelInfoViewModel'
created_date:
type: string
format: date-time
description: Date this order was created
financials:
$ref: '#/components/schemas/Orders.Financials'
gift_message:
type:
- string
- 'null'
description: Gift message associated with the order
id:
type: integer
description: Unique id of the order
order_number:
type:
- string
- 'null'
description: User friendly orderId or store order number that will be shown on the Orders Page. If not provided, referenceId will be used
products:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.ProductInfoViewModel'
description: List of products included in the order
purchase_date:
type:
- string
- 'null'
format: date-time
description: Date this order was purchase by the end user
recipient:
$ref: '#/components/schemas/Orders.RecipientInfoViewModel'
reference_id:
type:
- string
- 'null'
description: Client-defined external unique id of the order
retailer_program_data:
$ref: '#/components/schemas/Orders.RetailerProgramDataViewModel'
shipments:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.ShipmentViewModel'
description: Shipments affiliated with the order
shipping_method:
type:
- string
- 'null'
description: Client-defined shipping method
shipping_terms:
$ref: '#/components/schemas/Orders.ShippingTermsViewModel'
status:
$ref: '#/components/schemas/Orders.OrderStatus'
tags:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.TagViewModel'
description: Client-defined order tags
type:
$ref: '#/components/schemas/Orders.OrderType'
title: Orders.OrderViewModel
Orders.BulkUpdateShippingServiceRequest:
type: object
properties:
reason:
type: string
description: Reason for updating the shipping service
requested_shipping_service_id:
type: integer
description: ID of the shipping service to assign to the shipments
shipment_ids:
type: array
items:
type: integer
format: int64
description: List of shipment IDs to update the shipping service for
required:
- reason
- requested_shipping_service_id
- shipment_ids
title: Orders.BulkUpdateShippingServiceRequest
Orders.ProductInfoViewModel:
type: object
properties:
external_line_id:
type:
- integer
- 'null'
description: Numeric assignment per item. Used as a reference number for multiple purposes such as split orders, split containers, etc.
gtin:
type:
- string
- 'null'
description: Global Trade Item Number - unique and internationally recognized identifier assigned to item by company GS1
id:
type:
- integer
- 'null'
description: Unique id of the product
quantity:
type: integer
description: The quantity of this product ordered
quantity_unit_of_measure_code:
type:
- string
- 'null'
description: 'Defined standard for measure for an item (each, inner pack, case, pallet). Values: EA, INP, CS and PL'
reference_id:
type:
- string
- 'null'
description: Unique reference id of the product
sku:
type:
- string
- 'null'
description: Stock keeping unit for the product
unit_price:
type:
- number
- 'null'
format: double
description: Price for one item
upc:
type:
- string
- 'null'
description: Universal Product Code - Unique external identifier
title: Orders.ProductInfoViewModel
Orders.LotInfo:
type: object
properties:
lot_date:
type:
- string
- 'null'
format: date-time
description: Expiration or manufacturing date of the lot
lot_number:
type:
- string
- 'null'
description: Lot number identifying a specific batch of inventory
selection_method:
$ref: '#/components/schemas/Orders.LotSelectionMethod'
description: Method used to select the lot for fulfillment
title: Orders.LotInfo
Orders.ShipmentLineItemsViewModel:
type: object
properties:
fulfillment_center_id:
type: integer
description: ID of the fulfillment center assigned to fulfill this line item
id:
type: integer
description: Unique identifier of the shipment line item
inventory_id:
type: integer
description: Unique identifier of the inventory item
is_manually_assigned_lot:
type: boolean
description: Indicates whether the lot was manually assigned rather than auto-selected by ShipBob
lot_date:
type:
- string
- 'null'
description: Expiration or manufacturing date of the lot
lot_number:
type:
- string
- 'null'
description: Lot number of the inventory item
quantity:
type: integer
description: Quantity of the inventory item in the shipment
required:
- inventory_id
- quantity
title: Orders.ShipmentLineItemsViewModel
Orders.MeasurementsViewModel:
type: object
properties:
depth_in:
type: integer
description: Total depth in inches
length_in:
type: integer
description: Total length in inches
total_weight_oz:
type: integer
description: Total weight in ounces
width_in:
type: integer
description: Total width in inches
description: Measurements of a shipment
title: Orders.MeasurementsViewModel
Orders.FulfillmentStatus:
type: string
enum:
- AwaitingInventoryAllocation
- AwaitingReset
- Unavailable
- PendingOnTime
- FulfilledOnTime
- PendingLate
- FulfilledLate
title: Orders.FulfillmentStatus
Orders.Post.Api.Order.Estimate.Unprocessable.Entity.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.Estimate.Unprocessable.Entity.Object
Orders.Post.Api.Shipment.ShipmentId.Cancel.Unprocessable.Entity.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Shipment.ShipmentId.Cancel.Unprocessable.Entity.Object
Orders.EstimateProductInfoModel:
type: object
properties:
id:
type:
- integer
- 'null'
description: Unique id of the product (Must be provided if reference_id is unknown)
quantity:
type: integer
description: The quantity of this product ordered
reference_id:
type:
- string
- 'null'
description: Unique reference id of the product (Must be provided if ID is unknown)
required:
- quantity
title: Orders.EstimateProductInfoModel
Orders.BulkUpdateResponseModel:
type: object
properties:
results:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.BulkUpdateResponseResult'
summary:
$ref: '#/components/schemas/Orders.BulkUpdateResponseSummary'
title: Orders.BulkUpdateResponseModel
Orders.BulkActionApiResponse:
type: object
properties:
results:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.IApiDetailResponse'
description: Per-shipment results of the bulk operation
summary:
$ref: '#/components/schemas/Orders.SummaryResponse'
description: Summary of the bulk operation results
required:
- summary
title: Orders.BulkActionApiResponse
Orders.Post.Api.Order.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.Bad.Request.Object
Orders.BulkUpdateResponseError:
type: object
properties:
code:
type:
- string
- 'null'
message:
type:
- string
- 'null'
title: Orders.BulkUpdateResponseError
Orders.CanceledShipmentsViewModel:
type: object
properties:
results:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.CanceledShipmentViewModel'
description: The results of all cancellation actions
title: Orders.CanceledShipmentsViewModel
Orders.ShipmentAction:
type: string
enum:
- CleanSweep
- Reassign
- ReleaseOrderHold
- MoveToOnHoldAndKeepInventory
- MoveToOnHoldAndReleaseInventory
- Cancel
- AddLineItem
- RemoveLineItem
- UpdateShipOption
title: Orders.ShipmentAction
Orders.FulfillmentCenterViewModel:
type: object
properties:
id:
type: integer
description: Id of the fulfillment center
name:
type:
- string
- 'null'
description: Name of the fulfillment center
description: Information about a fulfillment center that a shipment can belong to
title: Orders.FulfillmentCenterViewModel
Orders.CartonDetailsViewModel:
type: object
properties:
products:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.ShipmentProductViewModel'
description: List of what is packed in this carton
title: Orders.CartonDetailsViewModel
Orders.CancellationResult:
type: string
enum:
- Success
- Failure
- PartialSuccess
title: Orders.CancellationResult
Orders.RecipientInfoViewModel:
type: object
properties:
address:
$ref: '#/components/schemas/OrdersRecipientInfoViewModelAddress'
description: Address of the recipient
email:
type:
- string
- 'null'
format: email
description: Email address of the recipient
name:
type: string
description: Name of the recipient
phone_number:
type:
- string
- 'null'
description: Phone number of the recipient
required:
- address
- name
description: Information about the recipient of an order
title: Orders.RecipientInfoViewModel
Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Unprocessable.Entity.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Unprocessable.Entity.Object
Orders.Get.Api.Order.OrderId.StoreOrderJson.Unprocessable.Entity.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Order.OrderId.StoreOrderJson.Unprocessable.Entity.Object
Orders.TagViewModel:
type: object
properties:
name:
type: string
description: The key of the tag
value:
type: string
description: The value of the tag
required:
- name
- value
title: Orders.TagViewModel
Orders.BulkUpdateResponseSummary:
type: object
properties:
failed:
type: integer
successful:
type: integer
total:
type: integer
title: Orders.BulkUpdateResponseSummary
Orders.CartonMeasurementsViewModel:
type: object
properties:
depth_in:
type: number
format: double
description: Total depth in inches
length_in:
type: number
format: double
description: Total length in inches
total_weight_oz:
type: number
format: double
description: Total weight in ounces
width_in:
type: number
format: double
description: Total width in inches
description: Measurements of a carton
title: Orders.CartonMeasurementsViewModel
Orders.ErrorCode:
type: string
enum:
- INVALID_PARAMETER
- VALIDATION_ERROR
- DATABASE_UPDATE_ERROR
- REPROCESSING_ERROR
- DEALLOCATE_ERROR
- NOT_FOUND
- CONFLICT
title: Orders.ErrorCode
Orders.UpdateAddressRequest:
type: object
properties:
city:
type: string
description: City of customer address
company_name:
type:
- string
- 'null'
description: Company name (optional)
country_code:
type:
- string
- 'null'
description: Country code of customer address
email:
type:
- string
- 'null'
description: Customer's email address
phone_number:
type:
- string
- 'null'
description: Phone number of Recipient address
recipient_name:
type:
- string
- 'null'
description: Name of customer
state:
type:
- string
- 'null'
description: State of customer address
street_address1:
type: string
description: Street Address 1
street_address2:
type:
- string
- 'null'
description: Street Address 2
zip_code:
type:
- string
- 'null'
description: Zipcode of customer address
required:
- city
- street_address1
title: Orders.UpdateAddressRequest
Orders.RecipientViewModel:
type: object
properties:
address:
oneOf:
- $ref: '#/components/schemas/OrdersRecipientViewModelAddress'
- type: 'null'
description: Address of the recipient
email:
type:
- string
- 'null'
format: email
description: Email address of the recipient
full_name:
type:
- string
- 'null'
description: FullName of the recipient
name:
type:
- string
- 'null'
description: Name of the recipient
phone_number:
type:
- string
- 'null'
format: tel
description: Phone number of the recipient
description: Information about the recipient of a shipment
title: Orders.RecipientViewModel
Orders.ShipMethodDetailViewModelArray:
type: array
items:
$ref: '#/components/schemas/Orders.ShipMethodDetailViewModel'
title: Orders.ShipMethodDetailViewModelArray
Orders.Post.Api.Shipment.BulkUpdateTrackingUpload.Bad.Request.String:
type: string
title: Orders.Post.Api.Shipment.BulkUpdateTrackingUpload.Bad.Request.String
Orders.ShipmentApiResponse:
type: object
properties:
error:
$ref: '#/components/schemas/Orders.ErrorResponse'
description: Error details if the update was not successful
id:
type: integer
format: int64
description: Unique identifier of the shipment
is_success:
type: boolean
description: Indicates whether the update was successful
title: Orders.ShipmentApiResponse
Orders.Get.Api.Order.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Order.Bad.Request.Object
Orders.CarrierShipType:
type: string
enum:
- Parcel
- Freight
title: Orders.CarrierShipType
Orders.Get.Api.Order.OrderId.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Order.OrderId.Bad.Request.Object
Orders.Financials:
type: object
properties:
total_price:
type:
- number
- 'null'
format: double
description: Sum of all line item prices, discounts, and taxes in USD
title: Orders.Financials
Orders.IApiDetailResponse:
type: object
properties:
error:
$ref: '#/components/schemas/Orders.ErrorResponse'
description: Error details if the operation was not successful
id:
type: integer
format: int64
description: Unique identifier of the shipment
is_success:
type: boolean
description: Indicates whether the operation was successful for this shipment
title: Orders.IApiDetailResponse
Orders.ShipmentLineItemDetailArray:
type: array
items:
$ref: '#/components/schemas/Orders.ShipmentLineItemDetail'
title: Orders.ShipmentLineItemDetailArray
Orders.Post.Api.Order.OrderId.Cancel.Internal.Server.Error.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.OrderId.Cancel.Internal.Server.Error.Object
Orders.ChannelInfoViewModel:
type: object
properties:
id:
type: integer
description: Unique id of the channel
name:
type:
- string
- 'null'
description: Name of the channel
description: Created by channel metadata
title: Orders.ChannelInfoViewModel
Orders.StatusDetailViewModel:
type: object
properties:
description:
type:
- string
- 'null'
description: Describes what the status detail means
exception_fulfillment_center_id:
type:
- integer
- 'null'
extra_information:
$ref: '#/components/schemas/Orders.StatusInformationViewModel'
id:
type: integer
description: The id of the status detail
inventory_id:
type:
- integer
- 'null'
description: Inventory Id the detail applies to (if applicable)
name:
type:
- string
- 'null'
description: Short name of the status detail
title: Orders.StatusDetailViewModel
Orders.ShipmentLineItemsApiResponse:
type: object
properties:
error:
$ref: '#/components/schemas/Orders.ErrorResponse'
description: Error details if the update was not successful
id:
type: integer
format: int64
description: Unique identifier of the shipment
is_success:
type: boolean
description: Indicates whether the update was successful
shipment_line_items:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.ShipmentLineItemResponse'
description: List of line item changes applied to the shipment
title: Orders.ShipmentLineItemsApiResponse
Orders.EstimateFulfillmentRequestModel:
type: object
properties:
address:
$ref: '#/components/schemas/Orders.EstimationAddressViewModel'
products:
type: array
items:
$ref: '#/components/schemas/Orders.EstimateProductInfoModel'
description: Products to be included in the order. Each product must include one of reference_id or id
shipping_methods:
type:
- array
- 'null'
items:
type: string
description: "Array of strings specifying shipping methods for which to fetch estimates.\r\n\r\nIf this field is omitted we will return estimates for all shipping methods defined in ShipBob"
required:
- address
- products
title: Orders.EstimateFulfillmentRequestModel
Orders.ServiceLevelDetailViewModel:
type: object
properties:
id:
type: integer
description: Unique id for the service level
name:
type:
- string
- 'null'
description: The name or title of the service level
title: Orders.ServiceLevelDetailViewModel
Orders.ParentCartonViewModel:
type: object
properties:
barcode:
type:
- string
- 'null'
description: Barcode assigned to this carton
cartons:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.CartonViewModel'
description: Cartons packed inside this parent container
measurements:
$ref: '#/components/schemas/Orders.CartonMeasurementsViewModel'
type:
type:
- string
- 'null'
description: Type of this carton container
title: Orders.ParentCartonViewModel
Orders.OrderStatus:
type: string
enum:
- Processing
- Exception
- PartiallyFulfilled
- Fulfilled
- Cancelled
- ImportReview
title: Orders.OrderStatus
Orders.EstimateDetailViewModel:
type: object
properties:
estimated_currency_code:
type:
- string
- 'null'
description: Estimated local currency code
estimated_price:
type: number
format: double
description: Estimated price in dollars for the provided shipping method
fulfillment_center:
$ref: '#/components/schemas/Orders.FulfillmentCenterViewModel'
shipping_method:
type:
- string
- 'null'
description: Provided shipping method. Maps to ship option in ShipBob.
total_weight_oz:
type: number
format: double
description: Total weight of items in cart including packaging.
title: Orders.EstimateDetailViewModel
Orders.CanceledOrderViewModel:
type: object
properties:
canceled_shipment_results:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.CanceledShipmentViewModel'
description: Results of canceling the shipments associated with the order
order:
$ref: '#/components/schemas/Orders.OrderViewModel'
order_id:
type: integer
description: The ID of the canceled order
status:
$ref: '#/components/schemas/Orders.CancellationResult'
title: Orders.CanceledOrderViewModel
Orders.ShipmentLineItemDetail:
type: object
properties:
committed_quantity:
type: integer
description: Quantity of the inventory item committed for fulfillment
inventory_id:
type: integer
description: Unique identifier of the inventory item
is_hazmat:
type:
- boolean
- 'null'
description: Indicates whether the inventory item is classified as hazardous material
is_lot:
type:
- boolean
- 'null'
description: Indicates whether the inventory item is lot-tracked
lot:
$ref: '#/components/schemas/Orders.LotInfo'
description: Lot information for the inventory item, if lot-tracked
product_variant:
$ref: '#/components/schemas/Orders.ProductVariantDetail'
description: Product variant details associated with this line item
quantity:
type: integer
description: Total quantity of the inventory item in the shipment
serial_numbers:
type:
- array
- 'null'
items:
type: string
description: List of serial numbers assigned to this line item
title: Orders.ShipmentLineItemDetail
Orders.PackageMaterialType:
type: string
enum:
- Unknown
- Box
- BubbleMailer
- PolyMailer
- FragileBox
- PosterTube
- Custom
- Bookfold
- OwnContainer
- Undefined
title: Orders.PackageMaterialType
Orders.Post.Api.Shipment.ShipmentId.Cancel.Internal.Server.Error.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Shipment.ShipmentId.Cancel.Internal.Server.Error.Object
Orders.Get.Api.Shipment.ShipmentId.Timeline.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Shipment.ShipmentId.Timeline.Bad.Request.Object
Orders.EstimationAddressViewModel:
type: object
properties:
address1:
type:
- string
- 'null'
description: First line of the address
address2:
type:
- string
- 'null'
description: Second line of the address
city:
type:
- string
- 'null'
description: The city
company_name:
type:
- string
- 'null'
description: Name of the company receiving the shipment
country:
type: string
description: The country (Must be ISO Alpha-2 for estimates)
state:
type:
- string
- 'null'
description: The state or province
zip_code:
type:
- string
- 'null'
format: postal-code
description: The zip code or postal code
required:
- country
title: Orders.EstimationAddressViewModel
Orders.InventoryViewModel:
type: object
properties:
expiration_date:
type:
- string
- 'null'
format: date-time
description: Expiration date of the inventory
id:
type: integer
description: Unique id of the inventory
is_dangerous_goods:
type: boolean
description: Is inventory Dangerous Good
lot:
type:
- string
- 'null'
description: Lot number of the inventory
name:
type:
- string
- 'null'
description: Name of the inventory item
quantity:
type: integer
description: Quantity of the inventory item to be included in the fulfillment
quantity_committed:
type: integer
description: The quantity of the inventory item allocated from the assigned fulfillment center and committed to the order. If quantity committed is less than order quantity, then the inventory item is out of stock at the assigned fulfillment center.
serial_numbers:
type:
- array
- 'null'
items:
type: string
description: Serial number of the inventory
description: Information about inventory belonging to a store product
title: Orders.InventoryViewModel
Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Internal.Server.Error.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Internal.Server.Error.Object
Orders.OrderType:
type: string
enum:
- DTC
- DropShip
- B2B
title: Orders.OrderType
Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.OrderId.Shipment.ShipmentId.Cancel.Bad.Request.Object
Orders.RetailerProgramDataViewModel:
type: object
properties:
addresses:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.RetailerProgramDataAddressViewModel'
description: "Ship From - Certain retailers want to display the ship from address as their return facility, not Shipbob’s warehouse address /// \r\nMark For Address - Final destination address"
customer_ticket_number:
type:
- string
- 'null'
description: Customer Ticket Number
delivery_date:
type:
- string
- 'null'
format: date-time
description: Expected delivery date
department:
type:
- string
- 'null'
description: Identifies a merchant's store department
doNotShipBeforeDate:
type:
- string
- 'null'
format: date-time
description: The date the retailer does not want the order shipped by.
mark_for_store:
type:
- string
- 'null'
description: Store Number
purchase_order_number:
type: string
description: First initial documentation sent from buyer to seller with item(s) and quantities.
retailer_program_type:
type: string
description: Identifies retailer-merchant combination
shipByDate:
type:
- string
- 'null'
format: date-time
description: The date the retailer has requested the order to ship by.
description: Contains properties that needs to be used for fulfilling B2B/Dropship orders.
title: Orders.RetailerProgramDataViewModel
Orders.Post.Api.Shipment.Cancelbulk.Internal.Server.Error.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Shipment.Cancelbulk.Internal.Server.Error.Object
Orders.ShipmentViewModel:
type: object
properties:
actual_fulfillment_date:
type:
- string
- 'null'
format: date-time
description: "The datetime of ShipBob’s completion of the fulfillment operation as promised.\r\nCurrently, this means the shipment has been picked, packed, and label has been printed."
created_date:
type: string
format: date-time
description: Date this shipment was created
delivery_date:
type:
- string
- 'null'
format: date-time
description: The datetime of Shipment delivered to customer.
estimated_fulfillment_date:
type:
- string
- 'null'
format: date-time
description: "The datetime of ShipBob’s commitment for completing\r\nthe shipment and handing to the carrier for delivery."
estimated_fulfillment_date_status:
$ref: '#/components/schemas/Orders.FulfillmentStatus'
gift_message:
type:
- string
- 'null'
description: Gift message associated with the shipment
id:
type: integer
description: Unique id of the shipment
insurance_value:
type:
- number
- 'null'
format: double
description: Monetary amount that this shipment was insured for
invoice_amount:
type:
- number
- 'null'
format: double
description: Monetary amount that was invoiced for this shipment
invoice_currency_code:
type:
- string
- 'null'
is_tracking_uploaded:
type: boolean
description: "Indicates whether the Shipment was marked with tracking information\r\nuploaded to a third-party system where the order originated."
last_tracking_update_at:
type:
- string
- 'null'
format: date-time
description: Timestamp for the last time this shipment had a tracking update
last_update_at:
type:
- string
- 'null'
format: date-time
description: Date this shipment was last updated
location:
$ref: '#/components/schemas/Orders.FulfillmentCenterViewModel'
measurements:
$ref: '#/components/schemas/Orders.MeasurementsViewModel'
order_id:
type: integer
description: Id of the order this shipment belongs to
package_material_type:
$ref: '#/components/schemas/Orders.PackageMaterialType'
parent_cartons:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.ParentCartonViewModel'
description: Carton information for this shipment
products:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.ShipmentProductViewModel'
description: Information about the products contained in this shipment
recipient:
$ref: '#/components/schemas/Orders.RecipientViewModel'
reference_id:
type:
- string
- 'null'
description: Client-defined external unique id of the order this shipment belongs to
require_signature:
type: boolean
description: If a shipment requires signature
ship_option:
type:
- string
- 'null'
description: Name of the shipping option used for this shipment
status:
$ref: '#/components/schemas/Orders.OrderStatusEnum'
status_details:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.StatusDetailViewModel'
description: Additional details about the shipment status
tracking:
$ref: '#/components/schemas/Orders.TrackingViewModel'
description: Information about a shipment
title: Orders.ShipmentViewModel
Orders.ShipmentProductViewModel:
type: object
properties:
id:
type: integer
description: Unique id of the product
inventory_items:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.InventoryViewModel'
description: Information about fulfillable inventory items belonging to this product
name:
type:
- string
- 'null'
description: Name of the product
reference_id:
type:
- string
- 'null'
description: Unique reference id of the product
sku:
type:
- string
- 'null'
description: Stock keeping unit for the product
description: Information about a store product belonging to a shipment
title: Orders.ShipmentProductViewModel
Orders.Get.Api.Order.OrderId.StoreOrderJson.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Order.OrderId.StoreOrderJson.Bad.Request.Object
Orders.StatusInformationViewModel:
type: object
properties:
validation_messages:
type:
- array
- 'null'
items:
type: string
title: Orders.StatusInformationViewModel
Orders.OrderViewModelArray:
type: array
items:
$ref: '#/components/schemas/Orders.OrderViewModel'
title: Orders.OrderViewModelArray
Orders.Post.Api.Order.OrderId.Cancel.Unprocessable.Entity.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Order.OrderId.Cancel.Unprocessable.Entity.Object
Orders.UpdateLineItemsRequest:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Orders.ShipmentLineItemsViewModel'
description: Complete list of line items for the shipment. Must include all line items — partial updates are not supported
required:
- items
title: Orders.UpdateLineItemsRequest
Orders.Post.Api.Shipment.Cancelbulk.Unprocessable.Entity.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Post.Api.Shipment.Cancelbulk.Unprocessable.Entity.Object
Orders.Get.Api.Shippingmethod.Unprocessable.Entity.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Shippingmethod.Unprocessable.Entity.Object
Orders.Get.Api.Shippingmethod.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Shippingmethod.Bad.Request.Object
Orders.CreateOrderModel:
type: object
properties:
financials:
$ref: '#/components/schemas/Orders.Financials'
gift_message:
type:
- string
- 'null'
description: Gift message associated with the order
location_id:
type:
- integer
- 'null'
description: Desired Fulfillment Center Location ID. If not specified, ShipBob will determine the location that fulfills this order.
order_number:
type:
- string
- 'null'
description: User friendly orderId or store order number that will be shown on the Orders Page. If not provided, referenceId will be used
origin_platform_program:
type:
- string
- 'null'
description: Origin platform program for the order. Accepts a program name.
products:
type: array
items:
$ref: '#/components/schemas/OrdersCreateOrderModelProductsItems'
description: Products included in the order. Products identified by reference_id must also include the product name if there is no matching ShipBob product.
purchase_date:
type:
- string
- 'null'
format: date-time
description: Date this order was purchase by the end user
recipient:
$ref: '#/components/schemas/Orders.RecipientInfoViewModel'
reference_id:
type: string
description: Unique and immutable order identifier from your upstream system
retailer_program_data:
$ref: '#/components/schemas/Orders.RetailerProgramDataViewModel'
sales_channel:
$ref: '#/components/schemas/Orders.SalesChannel'
shipping_method:
type: string
description: Client-defined shipping method matching what the user has listed as the shipping method on the Ship Option Mapping setup page in the ShipBob Merchant Portal. If they don’t match, we will create a new one and default it to Standard
shipping_terms:
$ref: '#/components/schemas/Orders.ShippingTermsViewModel'
tags:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.TagViewModel'
description: Key value pair array to store extra information at the order level for API purposes. ShipBob won't display the info in the ShipBob Merchant Portal or react based on this data.
type:
$ref: '#/components/schemas/Orders.OrderType'
required:
- products
- recipient
- reference_id
- shipping_method
- type
title: Orders.CreateOrderModel
Orders.AddressViewModel:
type: object
properties:
address1:
type: string
description: First line of the address
address2:
type:
- string
- 'null'
description: Second line of the address
city:
type: string
description: The city
company_name:
type:
- string
- 'null'
description: Name of the company receiving the shipment
country:
type: string
description: The country (Must be ISO Alpha-2 for estimates)
state:
type:
- string
- 'null'
description: The state or province
zip_code:
type:
- string
- 'null'
format: postal-code
description: The zip code or postal code
required:
- address1
- city
- country
title: Orders.AddressViewModel
Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Timeline.Bad.Request.Object:
type: object
additionalProperties:
type: array
items:
type: string
title: Orders.Get.Api.Order.OrderId.Shipment.ShipmentId.Timeline.Bad.Request.Object
securitySchemes:
PAT:
type: http
scheme: bearer
description: Authentication using Personal Access Token (PAT) token or OAuth2