Medusa
Store APIAdmin API
Store APIAdmin API
Discord
Twitter
Linkedin
Github
  1. Fulfillments
  • Plugins
    • List Plugins
      GET
  • Auth
    • Refresh Authentication Token
      POST
    • Validate Authentication Callback
      POST
    • Generate Reset Password Token for Admin User
      POST
    • Retrieve Registration JWT Token
      POST
    • Authenticate User
      POST
    • Set Authentication Session
      POST
    • Delete Authentication Session
      DELETE
    • Reset an Admin User's Password
      POST
  • Draft Orders
    • Create a Draft Order Edit
      POST
    • Cancel Edit on Draft Order
      DELETE
    • Confirm an Edit on a Draft Order
      POST
    • Request Edit on Draft Order
      POST
    • Convert a Draft Order to an Order
      POST
    • Add Item to Draft Order Edit
      POST
    • Update Existing Item in Draft Order Edit
      POST
    • Remove Item from Draft Order Edit
      DELETE
    • Update New Item in Draft Order Edit
      POST
    • Add Promotions to Draft Order Edit
      POST
    • Remove Promotions from Draft Order Edit
      DELETE
    • Add Shipping Method to Draft Order Edit
      POST
    • Remove Shipping Method from Draft Order Edit
      DELETE
    • Update Existing Shipping Method in Draft Order Edit
      POST
    • Remove New Shipping Method from Draft Order
      DELETE
    • Update New Shipping Method in Draft Order Edit
      POST
    • Delete a Draft Order
      DELETE
    • Get a Draft Order
      GET
    • Update a Draft Order
      POST
    • Create Draft Order
      POST
    • List Draft Orders
      GET
  • Fulfillment Providers
    • List Fulfillment Options
    • List Fulfillment Providers
  • Fulfillment Sets
    • Delete Fulfillment Set
    • Add a Service Zone to a Fulfillment Set
    • Remove a Service Zone from Fulfillment Set
    • Get a Service Zone in a Fulfillment Set
    • Update the Service Zone of a Fulfillment Set
  • Inventory Items
    • Manage Inventory Levels
    • Manage Inventory Levels of Inventory Item
    • Create Inventory Level for Inventory Item
    • List Inventory Levels
    • Update an Inventory Level of an Inventory Item
    • Remove Inventory Level of Inventory Item
    • Create Inventory Item
    • List Inventory Items
    • Get a Inventory Item
    • Delete Inventory Item
    • Update an Inventory Item
  • Order Edits
    • Create Order Edit
    • Confirm Order Edit
    • Request Order Edit
    • Add Items to Order Edit
    • Update Order Item Quantity of Order Edit
    • Remove Item from Order Edit
    • Update an Item in an Order Edit
    • Add Shipping Method to Order Edit
    • Remove Shipping Method from Order Edit
    • Update Shipping Method of an Order Edit
    • Cancel Order Edit
  • Orders
    • List Changes on an Order
    • Mark a Fulfillment as Delivered.
    • Get Preview
    • Archive an Order
    • Cancel Order
    • Cancel Transfer Request
    • Create Credit Line for Order
    • Request Order Transfer
    • Complete Order
    • Update Order
    • Get an Order
    • List Line Items
    • Cancel Fulfillment
    • Create an Order Fulfillment
    • Create Shipment for an Order's Fulfillment
    • List Orders
  • Payment Collections
    • Delete a Payment Collection
    • Create Payment Collection
    • Mark a Payment Collection as Paid
  • Products
    • Create Product Import
    • Confirm Product Import
    • Export Products
    • Manage Products
    • Manage Variants in a Product
    • Associate Variant with Inventory Item
    • Remove Inventory Item Association with Product Variant
    • Update Product Variant's Inventory Details
    • Delete a Product
    • Get a Product
    • Update a Product
    • Create a Product Option
    • List a Product's Options
    • Get a Product's Option
    • Delete an Option from Product
    • Update a Product's Option
    • Get Variant of a Product
    • Delete Product Variant
    • Update a Product Variant
    • Manage Variants Inventory in a Product
    • Create a Product Variant
    • List Variants of a Product
    • Create Product
    • List Products
  • Claims
    • Get a Claim
    • Cancel a Claim
    • Add Inbound Items to a Claim
    • Remove an Inbound Item from Claim
    • Update Inbound Items of a Claim
    • Add an Inbound Shipping Method to a Claim
    • Cancel Claim Request
    • Confirm a Claim Request
    • Add Claim Items to a Claim
    • Remove a Claim Item from a Claim
    • Update a Claim Item
    • Remove Inbound Shipping Method from Claim
    • Update Inbound Shipping Method of a Claim
    • Add Outbound Items to a Claim
    • Remove an Outbound Item from Claim
    • Update Outbound Item of a Claim
    • Add Outbound Shipping Methods to a Claim
    • Remove Outbound Shipping Method from Claim
    • Update Outbound Shipping Method of a Claim
    • Create a Claim
    • List Claims
  • Currencies
    • Get a Currency
    • List Currencies
  • Exchanges
    • Get an Exchange
    • Cancel an Exchange
    • Add Inbound Items to an Exchange
    • Remove Inbound Item from Exchange
    • Update an Inbount Item of an Exchange
    • Add an Inbound Shipping Method to an Exchange
    • Cancel Exchange Request
    • Confirm an Exchange
    • Remove Inbound Shipping Method from Exchange
    • Update Inbound Shipping Method of an Exchange
    • Add Outbound Items to Exchange
    • Remove Outbound Item from Exchange
    • Update Outbound Item of an Exchange
    • Add Outbound Shipping Method to Exchange
    • Remove Outbound Shipping Method from Exchange
    • Update Outbound Shipping Method of Exchange
    • Create Exchange
    • List Exchanges
  • Fulfillments
    • Cancel a Fulfillment
      POST
    • Create Fulfillment
      POST
    • Create a Shipment for a Fulfillment
      POST
  • Invites
    • Refresh Invite Token
    • Get an Invite
    • Delete Invite
    • Accept Invite
    • Create Invite
    • List Invites
  • Notifications
    • Get a Notification
    • List Notifications
  • Payments
    • Get a Payment
    • Capture Payment
    • Refund Payment
    • List Payment Providers
    • List Payments
  • Returns
    • Cancel a return.
    • Get a Return
    • Update a Return
    • Add Damaged Items to Return
    • Remove Damaged Item from Return
    • Update Damaged Item of Return
    • Add Received Items to Return
    • Remove a Received Item from Return
    • Update a Received Item in a Return
    • Confirm Return Receival
    • Add Requested Items to Return
    • Remove Item from Return
    • Update Requested Item in Return
    • Add a Shipping Method to a Return
    • Remove Shipping Method from Return
    • Update a Shipping Method of a Return
    • Start Return Receival
    • Cancel Return Receival
    • Confirm Return Request
    • Cancel Return Request
    • Create Return
    • List Returns
  • Users
    • Get Logged-In User
    • Delete a User
    • Get a User
    • Update a User
    • List Users
  • Workflows Executions
    • Get a Workflows Execution
    • Subscribe to a Workflow's Execution
    • Get Workflow Execution's Details
    • Subscribe to Step of a Workflow's Execution
    • Fail a Step in a Workflow's Execution
    • Succeed a Step in a Workflow's Execution
    • List Workflows Executions
    • Execute a Workflow
  • Api Keys
    • Revoke API Key
    • Get API Key
    • Update an API Key
    • Delete an Api Key
    • Manage Sales Channels of a Publishable API Key
    • Create Api Key
    • List API Keys
  • Price Lists
    • Remove Products from Price List
    • Delete a Price List
    • Get a Price List
    • Update a Price List
    • Manage Prices in Price List
    • Create Price List
    • List Price Lists
  • Stores
    • Get a Store
    • Update a Store
    • List Stores
  • Tax Rates
    • Create Tax Rule for a Rate
    • Delete a Tax Rate
    • Get a Tax Rate
    • Update a Tax Rate
    • Remove Rule of Tax Rate
    • Create Tax Rate
    • List Tax Rates
  • Price Preferences
    • Delete a Price Preference
    • Get a Price Preference
    • Update a Price Preference
    • Create Price Preference
    • List Price Preferences
  • Return Reasons
    • Delete a Return Reason
    • Get a Return Reason
    • Update a Return Reason
    • Create Return Reason
    • List Return Reasons
  • Sales Channels
    • Delete a Sales Channel
    • Get a Sales Channel
    • Update a Sales Channel
    • Manage Products in Sales Channel
    • Create Sales Channel
    • List Sales Channels
  • Stock Locations
    • Delete a Stock Location
    • Get a Stock Location
    • Update a Stock Location
    • Add Fulfillment Set to Stock Location
    • Manage Fulfillment Providers of a Stock Location
    • Manage Sales Channels of a Stock Location
    • Create Stock Location
    • List Stock Locations
  • Tax Regions
    • Delete a Tax Region
    • Update a Tax Region
    • Get a Tax Region
    • Create Tax Region
    • List Tax Regions
  • Promotions
    • List Rule Attribute Options of a Rule Type
    • List Rules of a Promotion
    • List Rule Values Given a Rule Attribute
    • Manage the Buy Rules of a Promotion
    • Manage a Promotion's Rules
    • Manage Target Rules of a Promotion
    • Get a Promotion
    • Delete a Promotion
    • Update a Promotion
    • List Promotions
    • Create Promotion
  • Customer Groups
    • Get a Customer Group
    • Update a Customer Group
    • Delete a Customer Group
    • Manage Customers of a Customer Group
    • Create Customer Group
    • List Customer Groups
  • Product Tags
    • Delete a Product Tag
    • Get a Product Tag
    • Update a Product Tag
    • Create Product Tag
    • List Product Tags
  • Product Types
    • Delete a Product Type
    • Get a Product Type
    • Update a Product Type
    • Create Product Type
    • List Product Types
  • Refund Reasons
    • Get a Refund Reason
    • Update a Refund Reason
    • Delete a Refund Reason
    • Create Refund Reason
    • List Refund Reasons
  • Uploads
    • Get a File
    • Delete a File
    • Upload Files
  • Campaigns
    • Manage the Promotions of a Campaign
    • Get a Campaign
    • Delete a Campaign
    • Update a Campaign
    • List Campaigns
    • Create Campaign
  • Collections
    • Manage Products of a Collection
    • Delete a Collection
    • Get a Collection
    • Update a Collection
    • Create Collection
    • List Collections
  • Customers
    • Manage Customer Groups of Customer
    • Get a Customer
    • Delete a Customer
    • Update a Customer
    • List Addresses
    • Add a Customer Address
    • List Addresses
    • Remove an Address from Customer
    • Update a Customer's Address
    • Create Customer
    • List Customers
  • Product Categories
    • Manage Products in Product Category
    • Delete a Product Category
    • Get a Product Category
    • Update a Product Category
    • Create Product Category
    • List Product Categories
  • Reservations
    • Get a Reservation
    • Update a Reservation
    • Delete a Reservation
    • Create Reservation
    • List Reservations
  • Shipping Profiles
    • Delete a Shipping Profile
    • Get a Shipping Profile
    • Update a Shipping Profile
    • Create Shipping Profile
    • List Shipping Profiles
  • Regions
    • Get a Region
    • Delete a Region
    • Update a Region
    • Create Region
    • List Regions
  • Tax Providers
    • List Tax Providers
  • Shipping Options
    • Manage the Rules of a Shipping Option
    • Create Shipping Option
    • List Shipping Options
    • Delete a Shipping Option
    • Get a Shipping Option
    • Update a Shipping Option
  • Product Variants
    • List Product Variants
  1. Fulfillments

Create Fulfillment

POST
/admin/fulfillments
Fulfillments
Create a fulfillment for an order, return, exchange, and more.
Request Request Example
JavaScript
Shell
Java
Swift
curl --location -g --request POST '{{BASE_URL}}/admin/fulfillments' \
--header 'Content-Type: application/json' \
--data-raw '{
    "location_id": "string",
    "provider_id": "string",
    "order_id": "string",
    "shipping_option_id": "string",
    "packed_at": "2019-08-24T14:15:22Z",
    "shipped_at": "2019-08-24T14:15:22Z",
    "delivered_at": "2019-08-24T14:15:22Z",
    "canceled_at": "2019-08-24T14:15:22Z",
    "metadata": {},
    "data": {},
    "labels": [
        {
            "tracking_number": "string",
            "tracking_url": "string",
            "label_url": "string"
        }
    ],
    "items": [
        {
            "title": "string",
            "sku": "string",
            "quantity": 0,
            "barcode": "string",
            "line_item_id": "string",
            "inventory_item_id": "string"
        }
    ],
    "delivery_address": {
        "first_name": "string",
        "last_name": "string",
        "phone": "string",
        "company": "string",
        "address_1": "string",
        "address_2": "string",
        "city": "string",
        "country_code": "string",
        "postal_code": "string",
        "metadata": {},
        "province": "us-ca"
    }
}'
Response Response Example
200 - Example 1
{
    "fulfillment": {
        "provider": {
            "id": "string",
            "is_enabled": true
        },
        "delivery_address": {
            "id": "string",
            "fulfillment_id": "string",
            "company": "string",
            "first_name": "string",
            "last_name": "string",
            "address_1": "string",
            "address_2": "string",
            "city": "string",
            "country_code": "string",
            "postal_code": "string",
            "phone": "string",
            "metadata": {},
            "created_at": "2019-08-24T14:15:22Z",
            "updated_at": "2019-08-24T14:15:22Z",
            "deleted_at": "2019-08-24T14:15:22Z",
            "province": "us-ca"
        },
        "id": "string",
        "location_id": "string",
        "provider_id": "string",
        "shipping_option_id": "string",
        "items": [
            {
                "id": "string",
                "title": "string",
                "quantity": 0,
                "sku": "string",
                "barcode": "string",
                "line_item_id": "string",
                "inventory_item_id": "string",
                "fulfillment_id": "string",
                "created_at": "2019-08-24T14:15:22Z",
                "updated_at": "2019-08-24T14:15:22Z",
                "deleted_at": "2019-08-24T14:15:22Z"
            }
        ],
        "labels": [
            {
                "id": "string",
                "tracking_number": "string",
                "tracking_url": "string",
                "label_url": "string",
                "fulfillment_id": "string",
                "created_at": "2019-08-24T14:15:22Z",
                "updated_at": "2019-08-24T14:15:22Z",
                "deleted_at": "2019-08-24T14:15:22Z"
            }
        ],
        "packed_at": "string",
        "shipped_at": "string",
        "delivered_at": "string",
        "canceled_at": "string",
        "metadata": {},
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z",
        "deleted_at": "2019-08-24T14:15:22Z",
        "data": {}
    }
}

Request

Authorization
or
or
or
Query Params
fields
string 
fields
optional
Comma-separated fields that should be included in the returned data. if a field is prefixed with + it will be added to the default fields, using - will remove it from the default fields. without prefix it will replace the entire default fields.
Body Params application/json
The filfillment's details.
location_id
string 
location_id
required
The ID of the location the items are fulfilled from.
provider_id
string 
provider_id
required
The ID of the provider handling this fulfillment.
order_id
string 
order_id
required
The ID of the order this fulfillment is created for.
shipping_option_id
string 
shipping_option_id
optional
The ID of the shipping option used in the order.
packed_at
string <date-time>
packed_at
optional
The date and time the fulfillment was packed.
shipped_at
string <date-time>
shipped_at
optional
The date and time the fulfillment was shipped.
delivered_at
string <date-time>
delivered_at
optional
The date and time the fulfillment was delivered.
canceled_at
string <date-time>
canceled_at
optional
The date and time the fulfillment was canceled.
metadata
object 
required
The fulfillment's metadata, used to store custom key-value pairs.
data
object 
required
Any data useful for the fulfillment provider to handle the fulfillment.
labels
array [object {3}] 
required
The labels for the fulfillment's shipments.
tracking_number
string 
tracking_number
required
The label's tracking number.
tracking_url
string 
tracking_url
required
The label's tracking URL.
label_url
string 
label_url
required
The label's URL.
items
array [object {6}] 
required
The items to fulfill.
title
string 
title
required
The item's title.
sku
string 
sku
required
The item's SKU.
quantity
number 
quantity
required
The quantity to fulfill of the item.
barcode
string 
barcode
required
The item's barcode.
line_item_id
string 
line_item_id
optional
The ID of the associated line item.
inventory_item_id
string 
inventory_item_id
optional
The ID of the inventory item associated with the underlying variant.
delivery_address
object 
required
The address to deliver the items to.
first_name
string 
first_name
optional
The customer's first name.
last_name
string 
last_name
optional
The customer's last name.
phone
string 
phone
optional
The customer's phone.
company
string 
company
optional
The delivery address's company.
address_1
string 
address_1
optional
The delivery address's first line.
address_2
string 
address_2
optional
The delivery address's second line.
city
string 
city
optional
The delivery address's city.
country_code
string 
country_code
optional
The delivery address's country code.
postal_code
string 
postal_code
optional
The delivery address's postal code.
metadata
object 
optional
The delivery address's metadata, used to store custom key-value pairs.
province
string 
province
optional
The delivery address's ISO 3166-2 province code. Must be lower-case.
Example:
us-ca
Examples

Responses

🟢200OK
application/json
OK
Body
A fulfillment's details.
fulfillment
object (AdminFulfillment) 
required
The fulfillment's details.
provider
object (AdminFulfillmentProvider) 
required
The fulfillment provider's details.
delivery_address
object (AdminFulfillmentAddress) 
required
An address's details.
id
string 
id
required
The fulfillment's ID.
location_id
string 
location_id
required
The ID of the location the fulfillment's items are shipped from.
provider_id
string 
provider_id
required
The ID of the fulfillment provider handling this fulfillment.
shipping_option_id
string 
shipping_option_id
required
The ID of the shipping option this fulfillment is created for.
items
array[object (AdminFulfillmentItem) {11}] 
required
The fulfillment's items.
labels
array[object (AdminFulfillmentLabel) {8}] 
required
The fulfillment's shipment labels.
packed_at
string 
packed_at
required
The date the fulfillment was packed at.
shipped_at
string 
shipped_at
required
The date the fulfillment was shipped at.
delivered_at
string 
delivered_at
required
The date the fulfillment was delivered at.
canceled_at
string 
canceled_at
required
The date the fulfillment was canceled at.
metadata
object 
required
The fulfillment's metadata, can hold custom key-value pairs.
created_at
string <date-time>
created_at
required
The date the fulfillment was created at.
updated_at
string <date-time>
updated_at
required
The date the fulfillment was updated at.
deleted_at
string <date-time>
deleted_at
required
The date the fulfillment was deleted at.
data
object 
required
The fulfillment's data, useful for the third-party provider handling the fulfillment.
🟠400Bad Request
🟠401Unauthorized
🟠404Record Not Found
🟠409409
🟠422Parameter Error
🔴500Server Error
Modified at 2025-06-17 04:10:32
Previous
Cancel a Fulfillment
Next
Create a Shipment for a Fulfillment
Built with