Skip to main content

Fulfillment Provider API (v0)

Download OpenAPI specification:Download

Represents a request to ship products in an order. Use this resource to accept or reject fulfillment requests. You can also retrieve and update the shipping status for a fulfillment request.

This resource only applies to orders routed to a warehouse for fulfillment.

To manage orders routed to stores for fulfillment, contact the support team.

To retrieve a list of fulfillment requests for an order, with the status of items in each fulfillment request, see Store and DC orders.

Accept fulfillment request

Accepts a fulfillment request. Acceptance indicates intent to fulfill.

Note: This only applies to orders routed to a DC or warehouse for fulfillment.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Responses

Response samples

Content type
application/json
{
  • "error_code": "already_shipped",
  • "error_description": "string"
}

Get item cancelation status

Returns the cancelation status of items in a fulfillment request. Use this method to check if a item in a fulfillment request was successfully canceled.

This method only works if the Cancel items method was used to cancel the fulfillment request.

Note: This only applies to orders routed to a DC or warehouse for fulfillment.

Important: You cannot cancel an item after it has been shipped or rejected.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Responses

Response samples

Content type
application/json
Example
{
  • "canceled_items": [
    ]
}

Cancel items

Marks some or all items of a fulfillment request as canceled. This immediately releases allocations and means that the item can no longer be fulfilled.

To retrieve the status of the cancelation, use the Get item cancelation status.

Note: This only applies to orders routed to a DC or warehouse for fulfillment.

To cancel an item in an order that is routed to a store for fulfillment, contact the support team.

Important: You cannot cancel an item after it has been shipped or rejected.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Request Body schema: application/json
product_ids
required
Array of strings non-empty

A list of product IDs, e.g. SKU that will be canceled.

Responses

Request samples

Content type
application/json
{
  • "product_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "Bad payload": {
    },
  • "Already rejected": {
    }
}

Get item rejection status

Returns a list of all rejected items in a fulfillment request. Use this method to check if a item in a fulfillment request was successfully rejected.

Note: This only applies to orders routed to a DC or warehouse for fulfillment.

Important: You cannot reject an item after it has been shipped or canceled.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Responses

Response samples

Content type
application/json
Example
{
  • "rejected_items": [
    ]
}

Reject items

Marks some or all items of a fulfillment request as not fulfillable. Provide a rejection reason for each item.

Typical reasons are no_inventory to mark items as rejected due to missing inventory or cannot_fulfill if the DC is not able to fulfill the request.

Note: This only applies to orders routed to a DC or warehouse for fulfillment.

To cancel a fulfillment request that is routed to a store, contact the support team.

To address all products for a given fulfillment request, supply an empty product-id; see payload example Special case; with no specificity-- this operation will defensively fail with an invalid_item error if more than one object is supplied.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Request Body schema: application/json
required
Array of objects non-empty
Array (non-empty)
product_ids
required
Array of strings[ items >= 0 characters ]

A list of product identifiers of all items that can't be fulfilled

reason
required
string (Rejection reason)
Enum: "no_inventory" "cannot_fulfill"

The reason why the products couldn't be fulfilled.

Responses

Request samples

Content type
application/json
Example
{
  • "missing_items": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "error_code": "already_rejected",
  • "error_description": "The fulfillment request has already been rejected."
}

Get rejection status Deprecated

Note: This method is deprecated. Use the Get item rejection status method instead.

Returns the rejection status of a fulfillment request. Use it to check whether a request has been successfully processed as rejected or not. This method only works if the Reject request method was used to reject the fulfillment request.

Important: You cannot reject a request after one or more of its items have been shipped.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Responses

Response samples

Content type
application/json
{
  • "rejection_reason": "no_inventory",
  • "missing_product_ids": [
    ],
  • "error_code": "string",
  • "received_at": "2019-08-24T14:15:22Z",
  • "accepted_at": "2019-08-24T14:15:22Z"
}

Reject fulfillment request Deprecated

Note: This method is deprecated. Use the Reject items method instead.

Rejects a fulfillment request and all the items it contains. Specify the rejection reason (rejection_reason):

  1. cannot_fulfill: Marks all items in the fulfillment request as rejected due to an inability to fulfill the request. In this case, the missing_items field in the payload has to be empty.
  2. no_inventory: Marks specific items in the fulfillment request as rejected due to missing inventory. In this case, the missing_items field has to be set with the IDs of the items that cannot be fulfilled.
path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Request Body schema: application/json
rejection_reason
required
string
Enum: "no_inventory" "cannot_fulfill"
missing_product_ids
Array of strings

List of identifiers of the items concerned by the rejection request.

Responses

Request samples

Content type
application/json
{
  • "rejection_reason": "no_inventory",
  • "missing_product_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "error_code": "already_shipped",
  • "error_description": "string"
}

Resend fulfillment request

Resends the specified fulfillment request, regardless of its shipment status (acknowledged, shipped or rejected).

Use this method if NewStore was unable to send the fulfillment request.

Note: This only applies to orders routed to a DC or warehouse for fulfillment.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Responses

Get shipping status

Retrieves the shipment status of a fulfillment request. Use it to check if the shipment of a fulfillment request has been successfully processed or not.

Note: This only applies to orders routed to a DC or warehouse for fulfillment.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Responses

Response samples

Content type
application/json
{
  • "failed_shipments": [
    ],
  • "successful_shipments": []
}

Update shipping status

Marks some or all items of a fulfillment request as shipped.

Note: This only applies to orders routed to a DC or warehouse for fulfillment.

To mark an item as shipped, which was part of an order that is routed to a store for fulfillment, contact the support team.

path Parameters
uuid
required
string

Unique ID for a fulfillment request.

Request Body schema: application/json
required
Array of objects
Array
product_ids
required
Array of strings
required
object

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "error_code": "already_rejected",
  • "error_description": "string",
  • "conflicting_items": [
    ]
}