Medusa
Store APIAdmin API
Store APIAdmin API
Discord
Twitter
Linkedin
Github
  1. Draft Orders
  • Auth
    • Get Current User
      GET
    • User Logout
      DELETE
    • User Login
      POST
    • User Login (JWT)
      POST
  • Apps Oauth
    • Generate Token for App
      POST
    • List Applications
      GET
  • Batch Jobs
    • Cancel a Batch Job
      POST
    • Get a Batch Job
      GET
    • Confirm a Batch Job
      POST
    • List Batch Jobs
      GET
    • Create a Batch Job
      POST
  • Currencies
    • List Currency
      GET
    • Update a Currency
      POST
  • Customers
    • Create a Customer
      POST
    • List Customers
      GET
    • Update a Customer
      POST
    • Get a Customer
      GET
  • Customer Groups
    • Remove Customers from Group
    • Add Customers to Group
    • List Customers
    • Create a Customer Group
    • List Customer Groups
    • Get a Customer Group
    • Delete a Customer Group
    • Update a Customer Group
  • Discounts
    • Create a Condition
    • Create a Discount
    • List Discounts
    • Get a Condition
    • Update a Condition
    • Delete a Condition
    • Create a Dynamic Code
    • Remove Batch Resources
    • Add Batch Resources
    • Get Discount by Code
    • Delete a Dynamic Code
    • Add Region to Discount
    • Remove Region
    • Delete a Discount
    • Update a Discount
    • Get a Discount
  • Draft Orders
    • Create a Line Item
      POST
    • Delete a Line Item
      DELETE
    • Update a Line Item
      POST
    • Update a Draft Order
      POST
    • Delete a Draft Order
      DELETE
    • Get a Draft Order
      GET
    • Create a Draft Order
      POST
    • List Draft Orders
      GET
    • Mark Paid
      POST
  • Gift Cards
    • Create a Gift Card
    • List Gift Cards
    • Delete a Gift Card
    • Get a Gift Card
    • Update a Gift Card
  • Inventory Items
    • Create an Inventory Item
    • List Inventory Items
    • List Inventory Level
    • Create an Location Level
    • Update an Inventory Item
    • Get an Inventory Item
    • Delete an Inventory Item
    • Update a Location Level
    • Delete a Location Level
  • Invites
    • Lists Invites
    • Create an Invite
    • Delete an Invite
    • Accept an Invite
    • Resend an Invite
  • Notes
    • List Notes
    • Create a Note
    • Get a Note
    • Delete a Note
    • Update a Note
  • Notifications
    • Resend Notification
    • List Notifications
  • Orders
    • Create a Reservation
    • Cancel Claim's Fulfillment
    • Ship a Claim's Fulfillment
    • Cancel Swap's Fulfilmment
    • Get Order Reservations
    • Add a Shipping Method
    • Create a Refund
    • Get an Order
    • Update an Order
    • Create a Fulfillment
    • Cancel a Swap
    • List Orders
    • Create a Swap
    • Complete an Order
    • Create a Swap Fulfillment
    • Cancel a Claim
    • Process a Swap Payment
    • Ship a Fulfillment
    • Capture an Order's Payments
    • Archive Order
    • Update a Claim
    • Request a Return
    • Create a Claim Fulfillment
    • Ship a Swap's Fulfillment
    • Cancel a Fulfilmment
    • Create a Claim
    • Cancel an Order
  • Order Edits
    • Delete a Line Item Change
    • Add a Line Item
    • Upsert Line Item Change
    • Delete Line Item
    • Cancel an Order Edit
    • Delete an Order Edit
    • Get an Order Edit
    • Update an Order Edit
    • Request Confirmation
    • Create an OrderEdit
    • List Order Edits
    • Confirm an OrderEdit
  • Payments
    • Capture a Payment
    • Get Payment details
    • Refund Payment
  • Payment Collections
    • Delete a Payment Collection
    • Get a Payment Collection
    • Update Payment Collection
    • Mark Authorized
  • Product Collections
    • Add Products to Collection
    • Remove Products from Collection
    • Get a Collection
    • Update a Collection
    • Delete a Collection
    • List Collections
    • Create a Collection
  • Product Tags
    • List Product Tags
  • Product Types
    • List Product Types
  • Product Variants
    • Get Variant's Inventory
    • List Product Variants
    • Get a Product variant
  • Price Lists
    • Delete a Product's Prices
    • List Products
    • Delete a Variant's Prices
    • Get a Price List
    • Update a Price List
    • Delete a Price List
    • Add or Update Prices
    • Delete Prices
    • Create a Price List
    • List Price Lists
  • Products
    • List Product Types
    • List Tags Usage Number
    • List a Product's Variants
    • Create a Product Variant
    • Update a Product Variant
    • Delete a Product Variant
    • Add a Product Option
    • Set Metadata
    • Delete a Product Option
    • Update a Product Option
    • List Products
    • Create a Product
    • Delete a Product
    • Update a Product
    • Get a Product
  • Product Categories
    • Create a Product Category
    • List Product Categories
    • Update a Product Category
    • Delete a Product Category
    • Get a Product Category
    • Add Products to a Category
    • Remove Products from Category
  • Publishable Api Keys
    • List Sales Channels
    • Delete Publishable API Key
    • Get a Publishable API Key
    • Revoke a Publishable API Key
    • Remove Sales Channels
    • Add Sales Channels
    • Update Publishable API Key
    • List Publishable API keys
    • Create Publishable API Key
  • Reservations
    • Delete a Reservation
    • Update a Reservation
    • Get a Reservation
    • Create a Reservation
    • List Reservations
  • Regions
    • List Fulfillment Options
    • Add Country
    • Remove Fulfillment Provider
    • Remove Payment Provider
    • Add Payment Provider
    • Delete a Region
    • Update a Region
    • Get a Region
    • List Regions
    • Create a Region
    • Add Fulfillment Provider
    • Remove Country
  • Return Reasons
    • Get a Return Reason
    • Delete a Return Reason
    • Update a Return Reason
    • List Return Reasons
    • Create a Return Reason
  • Returns
    • Receive a Return
    • List Returns
    • Cancel a Return
  • Sales Channels
    • Remove Stock Location from Sales Channels.
    • Associate a Stock Location
    • Get a Sales Channel
    • Delete a Sales Channel
    • Update a Sales Channel
    • Remove Products from Sales Channel
    • Add Products to Sales Channel
    • Create a Sales Channel
    • List Sales Channels
  • Shipping Options
    • Update Shipping Option
    • Get a Shipping Option
    • Delete Shipping Option
    • List Shipping Options
    • Create Shipping Option
  • Shipping Profiles
    • List Shipping Profiles
    • Create a Shipping Profile
    • Delete a Shipping Profile
    • Update a Shipping Profile
    • Get a Shipping Profile
  • Stock Locations
    • Get a Stock Location
    • List Stock Locations
    • Create a Stock Location
    • Update a Stock Location
    • Delete a Stock Location
  • Store
    • List Payment Providers
    • Add a Currency Code
    • Remove a Currency
    • List Tax Providers
    • Update Store Details
    • Get Store details
  • Swaps
    • Get a Swap
    • List Swaps
  • Uploads
    • Upload Files
    • Delete an Uploaded File
    • Get a File's Download URL
    • Protected File Upload
  • Tax Rates
    • Add to Shipping Options
    • Remove Shipping Options from Rate
    • Create a Tax Rate
    • List Tax Rates
    • Add to Products
    • Remove Products from Rate
    • Delete a Tax Rate
    • Get a Tax Rate
    • Update a Tax Rate
    • Add to Product Types
    • Remove Product Types from Rate
  • Users
    • Reset Password
    • Request Password Reset
    • Get a User
    • Delete a User
    • Update a User
    • Create a User
    • List Users
  1. Draft Orders

Create a Draft Order

POST
/admin/draft-orders
Draft Orders
Create a Draft Order. A draft order is not transformed into an order until payment is captured.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location -g --request POST '{{BASE_URL}}/admin/draft-orders' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "region_id": "string",
    "customer_id": "string",
    "no_notification_order": true,
    "status": "open",
    "metadata": {},
    "discounts": [
        {
            "code": "string"
        }
    ],
    "shipping_methods": [
        {
            "option_id": "string",
            "data": {},
            "price": 0
        }
    ],
    "items": [
        {
            "variant_id": "string",
            "unit_price": 0,
            "title": "string",
            "quantity": 0,
            "metadata": {}
        }
    ],
    "billing_address": {
        "first_name": "Arno",
        "last_name": "Willms",
        "phone": 16128234334802,
        "company": "string",
        "address_1": "14433 Kemmer Court",
        "address_2": "Suite 369",
        "city": "South Geoffreyview",
        "province": "Kentucky",
        "postal_code": 72093,
        "country_code": "st",
        "metadata": {
            "car": "white"
        }
    },
    "shipping_address": {
        "first_name": "Arno",
        "last_name": "Willms",
        "phone": 16128234334802,
        "company": "string",
        "address_1": "14433 Kemmer Court",
        "address_2": "Suite 369",
        "city": "South Geoffreyview",
        "province": "Kentucky",
        "postal_code": 72093,
        "country_code": "st",
        "metadata": {
            "car": "white"
        }
    }
}'
Response Response Example
200 - Example 1
{
  "draft_order": {
    "id": "dorder_01G8TJFKBG38YYFQ035MSVG03C",
    "display_id": 2,
    "cart_id": "cart_01G8ZH853Y6TFXWPG5EYE81X63",
    "cart": {},
    "order_id": "order_01G8TJSYT9M6AVS5N4EMNFS1EK",
    "order": {},
    "canceled_at": "2019-08-24T14:15:22Z",
    "completed_at": "2019-08-24T14:15:22Z",
    "no_notification_order": false,
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "status": "open",
    "idempotency_key": "string",
    "metadata": {
      "car": "white"
    }
  }
}

Request

Body Params application/json
email
string <email>
required
The email of the customer of the draft order
region_id
string 
required
The ID of the region for the draft order
customer_id
string 
optional
The ID of the customer this draft order is associated with.
no_notification_order
boolean 
optional
An optional flag passed to the resulting order that indicates whether the customer should receive notifications about order updates.
status
enum<string> 
optional
The status of the draft order. The draft order's default status is open. It's changed to completed when its payment is marked as paid.
Allowed values:
opencompleted
metadata
object 
optional
The optional key-value map with additional details about the Draft Order.
discounts
array [object {1}] 
optional
The discounts to add to the draft order
code
string 
required
The code of the discount to apply
shipping_methods
array [object {3}] 
required
The shipping methods for the draft order
option_id
string 
required
The ID of the shipping option in use
data
object 
optional
The optional additional data needed for the shipping method
price
integer 
optional
The price of the shipping method.
items
array [object {5}] 
optional
The draft order's line items.
variant_id
string 
optional
The ID of the Product Variant associated with the line item. If the line item is custom, the variant_id should be omitted.
unit_price
integer 
optional
The custom price of the line item. If a variant_id is supplied, the price provided here will override the variant's price.
title
string 
optional
The title of the line item if variant_id is not provided.
quantity
integer 
required
The quantity of the line item.
metadata
object 
optional
The optional key-value map with additional details about the line item.
billing_address
optional
The Address to be used for billing purposes.
Any of
Address fields used when creating/updating an address.
first_name
string 
optional
First name
Example:
Arno
last_name
string 
optional
Last name
Example:
Willms
phone
string 
optional
Phone Number
Example:
16128234334802
company
string 
optional
address_1
string 
optional
Address line 1
Example:
14433 Kemmer Court
address_2
string 
optional
Address line 2
Example:
Suite 369
city
string 
optional
City
Example:
South Geoffreyview
province
string 
optional
Province
Example:
Kentucky
postal_code
string 
optional
Postal Code
Example:
72093
country_code
string 
optional
The 2 character ISO code of the country in lower case
Example:
st
metadata
object 
optional
An optional key-value map with additional details
Example:
{"car":"white"}
shipping_address
optional
The Address to be used for shipping purposes.
Any of
Address fields used when creating/updating an address.
first_name
string 
optional
First name
Example:
Arno
last_name
string 
optional
Last name
Example:
Willms
phone
string 
optional
Phone Number
Example:
16128234334802
company
string 
optional
address_1
string 
optional
Address line 1
Example:
14433 Kemmer Court
address_2
string 
optional
Address line 2
Example:
Suite 369
city
string 
optional
City
Example:
South Geoffreyview
province
string 
optional
Province
Example:
Kentucky
postal_code
string 
optional
Postal Code
Example:
72093
country_code
string 
optional
The 2 character ISO code of the country in lower case
Example:
st
metadata
object 
optional
An optional key-value map with additional details
Example:
{"car":"white"}
Examples

Responses

🟢200OK
application/json
Body
draft_order
object (DraftOrder) 
required
A draft order is created by an admin without direct involvement of the customer. Once its payment is marked as captured, it is transformed into an order.
id
string 
required
The draft order's ID
Example:
dorder_01G8TJFKBG38YYFQ035MSVG03C
display_id
string 
required
The draft order's display ID
Example:
2
cart_id
string  | null 
required
The ID of the cart associated with the draft order.
Example:
cart_01G8ZH853Y6TFXWPG5EYE81X63
cart
object  | null 
optional
The details of the cart associated with the draft order.
order_id
string  | null 
required
The ID of the order created from the draft order when its payment is captured.
Example:
order_01G8TJSYT9M6AVS5N4EMNFS1EK
order
object  | null 
optional
The details of the order created from the draft order when its payment is captured.
canceled_at
string <date-time> | null 
required
The date the draft order was canceled at.
completed_at
string <date-time> | null 
required
The date the draft order was completed at.
no_notification_order
boolean  | null 
required
Whether to send the customer notifications regarding order updates.
Example:
false
created_at
string <date-time>
required
The date with timezone at which the resource was created.
updated_at
string <date-time>
required
The date with timezone at which the resource was updated.
status
enum<string> 
required
The status of the draft order. It's changed to completed when it's transformed to an order.
Allowed values:
opencompleted
Default:
open
idempotency_key
string  | null 
required
Randomly generated key used to continue the completion of the cart associated with the draft order in case of failure.
metadata
object  | null 
required
An optional key-value map with additional details
Example:
{"car":"white"}
🟠400Client Error or Multiple Errors
🟠401User is not authorized. Must log in first
🟠404Not Found Error
🟠409Invalid State Error
🟠422Invalid Request Error
🔴500Server Error
Modified at 2023-10-10 11:56:36
Previous
Get a Draft Order
Next
List Draft Orders
Built with