Shopify Order API

The Order API from Shopify — 129 operation(s) for order.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

shopify-order-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Shopify Admin REST About Order API
  description: The Shopify Admin REST API lets you build apps and integrations that extend and enhance the Shopify admin. Access products, customers, orders, inventory, fulfillment, and more. Endpoints are organized by resource type and versioned by release date.
  version: 2025-01
  contact:
    name: Shopify
    url: https://shopify.dev/docs/api/admin-rest
    email: api@shopify.com
  license:
    name: Shopify API Terms
    url: https://www.shopify.com/legal/api-terms
  x-date: '2026-03-04'
servers:
- url: https://{store}.myshopify.com/admin/api/2025-01
  description: Shopify Admin REST API
  variables:
    store:
      default: my-store
      description: The Shopify store subdomain
security:
- AccessToken: []
tags:
- name: Order
paths:
  /admin/api/2020-01/orders.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  order:
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                summary: Create a simple order with only a product variant ID
              example2:
                value:
                  order:
                    email: foo@example.com
                    fulfillment_status: fulfilled
                    send_receipt: true
                    send_fulfillment_receipt: true
                    line_items:
                    - variant_id: 457924702
                      quantity: 1
                summary: Create a simple order, sending an order confirmation and a shipping confirmation to the customer
              example3:
                value:
                  order:
                    email: foo@example.com
                    fulfillment_status: fulfilled
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                summary: Create a simple order without sending an order receipt or a fulfillment receipt
              example4:
                value:
                  order:
                    email: foo@example.com
                    fulfillment_status: fulfilled
                    fulfillments:
                    - location_id: 48752903
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                summary: Create a simple order and fulfill it
              example5:
                value:
                  order:
                    line_items:
                    - title: Big Brown Bear Boots
                      price: 74.99
                      grams: '1300'
                      quantity: 3
                      tax_lines:
                      - price: 13.5
                        rate: 0.06
                        title: State tax
                    transactions:
                    - kind: sale
                      status: success
                      amount: 238.47
                    total_tax: 13.5
                    currency: EUR
                summary: Create a comprehensive order
              example6:
                value:
                  order:
                    line_items:
                    - title: Red Leather Coat
                      price: 129.99
                      grams: '1700'
                      quantity: 1
                    - title: Blue Suede Shoes
                      price: 85.95
                      grams: '750'
                      quantity: 1
                      taxable: false
                    - title: Raspberry Beret
                      price: 19.99
                      grams: '320'
                      quantity: 2
                    tax_lines:
                    - price: 10.2
                      rate: 0.06
                      title: State tax
                    - price: 4.25
                      rate: 0.025
                      title: County tax
                    total_tax: 14.45
                summary: Create an order with tax lines split across taxable line items
              example7:
                value:
                  order:
                    line_items:
                    - title: Clicky Keyboard
                      price: 99.99
                      grams: '600'
                      quantity: 1
                      tax_lines:
                      - price: 1
                        rate: 0.01
                        title: Keyboard tax
                    tax_lines:
                    - price: 6
                      rate: 0.06
                      title: State tax
                summary: Creating an order with tax lines both on line items and on the order fails and returns an error
              example8:
                value:
                  order:
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                    customer:
                      id: 207119551
                    financial_status: pending
                summary: Create a pending order with an existing customer
              example9:
                value:
                  order:
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                    customer:
                      first_name: Paul
                      last_name: Norman
                      email: paul.norman@example.com
                    billing_address:
                      first_name: John
                      last_name: Smith
                      address1: 123 Fake Street
                      phone: 555-555-5555
                      city: Fakecity
                      province: Ontario
                      country: Canada
                      zip: K2P 1L4
                    shipping_address:
                      first_name: Jane
                      last_name: Smith
                      address1: 123 Fake Street
                      phone: 777-777-7777
                      city: Fakecity
                      province: Ontario
                      country: Canada
                      zip: K2P 1L4
                    email: jane@example.com
                    transactions:
                    - kind: authorization
                      status: success
                      amount: 50
                    financial_status: partially_paid
                summary: Create a partially paid order with a new customer and addresses
              example10:
                value:
                  order:
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                    email: jane@example.com
                    phone: '18885551234'
                    billing_address:
                      first_name: John
                      last_name: Smith
                      address1: 123 Fake Street
                      phone: 555-555-5555
                      city: Fakecity
                      province: Ontario
                      country: Canada
                      zip: K2P 1L4
                    shipping_address:
                      first_name: Jane
                      last_name: Smith
                      address1: 123 Fake Street
                      phone: 777-777-7777
                      city: Fakecity
                      province: Ontario
                      country: Canada
                      zip: K2P 1L4
                    transactions:
                    - kind: sale
                      status: success
                      amount: 50
                    financial_status: paid
                    discount_codes:
                    - code: FAKE30
                      amount: '9.00'
                      type: percentage
                summary: Create an order and apply a discount
      summary: Shopify Creates An Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#create-2020-01
      parameters: []
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_orders
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/orders/{order_id}.json:
    get:
      summary: Shopify Retrieves A Specific Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#show-2020-01
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      - in: query
        name: fields
        description: Retrieve only certain fields, specified by a comma-separated list of fields names.
        schema: {}
        required: false
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_orders_param_order_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  order:
                    id: 450789469
                    tags: External, Inbound, Outbound
                summary: Update an order's tags
              example2:
                value:
                  order:
                    id: 450789469
                    note: Customer contacted us about a custom engraving on this iPod
                summary: Add a note to order
              example3:
                value:
                  order:
                    id: 450789469
                    note_attributes:
                    - name: colour
                      value: red
                summary: Add note attributes to an order
              example4:
                value:
                  order:
                    id: 450789469
                    email: a-different@email.com
                summary: Change an order's email address
              example5:
                value:
                  order:
                    id: 450789469
                    phone: '+15145556677'
                summary: Change an order's phone number
              example6:
                value:
                  order:
                    id: 450789469
                    buyer_accepts_marketing: true
                summary: Change whether the buyer accepts marketing
              example7:
                value:
                  order:
                    id: 450789469
                    metafields:
                    - key: new
                      value: newvalue
                      value_type: string
                      namespace: global
                summary: Add a metafield to an order
              example8:
                value:
                  order:
                    id: 450789469
                    shipping_address:
                      address1: 123 Ship Street
                      city: Shipsville
                summary: Update the shipping address of an order
              example9:
                value:
                  order:
                    id: 450789469
                    customer: null
                summary: Remove the customer from an order
      summary: Shopify Updates An Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#update-2020-01
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_update_orders_param_order_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes An Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#destroy-2020-01
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_delete_orders_param_order_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/orders/count.json:
    get:
      summary: Shopify Retrieves An Order Count
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#count-2020-01
      parameters:
      - in: query
        name: created_at_min
        description: 'Count orders created after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: created_at_max
        description: 'Count orders created before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count orders last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count orders last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: status
        description: "Count orders of a given status.\n                  (default: open)\n                    \n                        open: Count open orders.\n                        closed: Count closed orders.\n                        any: Count orders of any status."
        schema: {}
        required: false
      - in: query
        name: financial_status
        description: "Count orders of a given financial status.\n                  (default: any)\n                    \n                        authorized: Count authorized orders.\n                        pending: Count pending orders.\n                        paid: Count paid orders.\n                        refunded: Count refunded orders.\n                        voided: Count voided orders.\n                        any: Count orders of any financial status."
        schema: {}
        required: false
      - in: query
        name: fulfillment_status
        description: "Filter orders by their fulfillment status.\n                  (default: any)\n                    \n                        shipped: Show orders that have been shipped. Returns orders with fulfillment_status of fulfilled.\n                        partial: Show partially shipped orders.\n                        unshipped: Show orders that have not yet been shipped. Returns orders with fulfillment_status of null.\n                        any: Show orders of any fulfillment status.\n                        unfulfilled: Returns orders with fulfillment_status of null or partial."
        schema: {}
        required: false
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_orders_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/orders/{order_id}/close.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Close an order
      summary: Shopify Closes An Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#close-2020-01
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_orders_param_order_id_close
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/orders/{order_id}/open.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Re-open a closed order
      summary: Shopify Re-opens A Closed Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#open-2020-01
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_orders_param_order_id_open
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/orders.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  order:
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                summary: Create a simple order with only a product variant ID
              example2:
                value:
                  order:
                    email: foo@example.com
                    fulfillment_status: fulfilled
                    send_receipt: true
                    send_fulfillment_receipt: true
                    line_items:
                    - variant_id: 457924702
                      quantity: 1
                summary: Create a simple order, sending an order confirmation and a shipping confirmation to the customer
              example3:
                value:
                  order:
                    email: foo@example.com
                    fulfillment_status: fulfilled
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                summary: Create a simple order without sending an order receipt or a fulfillment receipt
              example4:
                value:
                  order:
                    email: foo@example.com
                    fulfillment_status: fulfilled
                    fulfillments:
                    - location_id: 48752903
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                summary: Create a simple order and fulfill it
              example5:
                value:
                  order:
                    line_items:
                    - title: Big Brown Bear Boots
                      price: 74.99
                      grams: '1300'
                      quantity: 3
                      tax_lines:
                      - price: 13.5
                        rate: 0.06
                        title: State tax
                    transactions:
                    - kind: sale
                      status: success
                      amount: 238.47
                    total_tax: 13.5
                    currency: EUR
                summary: Create a comprehensive order
              example6:
                value:
                  order:
                    line_items:
                    - title: Red Leather Coat
                      price: 129.99
                      grams: '1700'
                      quantity: 1
                    - title: Blue Suede Shoes
                      price: 85.95
                      grams: '750'
                      quantity: 1
                      taxable: false
                    - title: Raspberry Beret
                      price: 19.99
                      grams: '320'
                      quantity: 2
                    tax_lines:
                    - price: 10.2
                      rate: 0.06
                      title: State tax
                    - price: 4.25
                      rate: 0.025
                      title: County tax
                    total_tax: 14.45
                summary: Create an order with tax lines split across taxable line items
              example7:
                value:
                  order:
                    line_items:
                    - title: Clicky Keyboard
                      price: 99.99
                      grams: '600'
                      quantity: 1
                      tax_lines:
                      - price: 1
                        rate: 0.01
                        title: Keyboard tax
                    tax_lines:
                    - price: 6
                      rate: 0.06
                      title: State tax
                summary: Creating an order with tax lines both on line items and on the order fails and returns an error
              example8:
                value:
                  order:
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                    customer:
                      id: 207119551
                    financial_status: pending
                summary: Create a pending order with an existing customer
              example9:
                value:
                  order:
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                    customer:
                      first_name: Paul
                      last_name: Norman
                      email: paul.norman@example.com
                    billing_address:
                      first_name: John
                      last_name: Smith
                      address1: 123 Fake Street
                      phone: 555-555-5555
                      city: Fakecity
                      province: Ontario
                      country: Canada
                      zip: K2P 1L4
                    shipping_address:
                      first_name: Jane
                      last_name: Smith
                      address1: 123 Fake Street
                      phone: 777-777-7777
                      city: Fakecity
                      province: Ontario
                      country: Canada
                      zip: K2P 1L4
                    email: jane@example.com
                    transactions:
                    - kind: authorization
                      status: success
                      amount: 50
                    financial_status: partially_paid
                summary: Create a partially paid order with a new customer and addresses
              example10:
                value:
                  order:
                    line_items:
                    - variant_id: 447654529
                      quantity: 1
                    email: jane@example.com
                    phone: '18885551234'
                    billing_address:
                      first_name: John
                      last_name: Smith
                      address1: 123 Fake Street
                      phone: 555-555-5555
                      city: Fakecity
                      province: Ontario
                      country: Canada
                      zip: K2P 1L4
                    shipping_address:
                      first_name: Jane
                      last_name: Smith
                      address1: 123 Fake Street
                      phone: 777-777-7777
                      city: Fakecity
                      province: Ontario
                      country: Canada
                      zip: K2P 1L4
                    transactions:
                    - kind: sale
                      status: success
                      amount: 50
                    financial_status: paid
                    discount_codes:
                    - code: FAKE30
                      amount: '9.00'
                      type: percentage
                summary: Create an order and apply a discount
      summary: Shopify Creates An Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#create-2020-04
      parameters: []
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_create_orders
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/orders/{order_id}.json:
    get:
      summary: Shopify Retrieves A Specific Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#show-2020-04
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      - in: query
        name: fields
        description: Retrieve only certain fields, specified by a comma-separated list of fields names.
        schema: {}
        required: false
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_get_orders_param_order_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  order:
                    id: 450789469
                    tags: External, Inbound, Outbound
                summary: Update an order's tags
              example2:
                value:
                  order:
                    id: 450789469
                    note: Customer contacted us about a custom engraving on this iPod
                summary: Add a note to order
              example3:
                value:
                  order:
                    id: 450789469
                    note_attributes:
                    - name: colour
                      value: red
                summary: Add note attributes to an order
              example4:
                value:
                  order:
                    id: 450789469
                    email: a-different@email.com
                summary: Change an order's email address
              example5:
                value:
                  order:
                    id: 450789469
                    phone: '+15145556677'
                summary: Change an order's phone number
              example6:
                value:
                  order:
                    id: 450789469
                    buyer_accepts_marketing: true
                summary: Change whether the buyer accepts marketing
              example7:
                value:
                  order:
                    id: 450789469
                    metafields:
                    - key: new
                      value: newvalue
                      value_type: string
                      namespace: global
                summary: Add a metafield to an order
              example8:
                value:
                  order:
                    id: 450789469
                    shipping_address:
                      address1: 123 Ship Street
                      city: Shipsville
                summary: Update the shipping address of an order
              example9:
                value:
                  order:
                    id: 450789469
                    customer: null
                summary: Remove the customer from an order
      summary: Shopify Updates An Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#update-2020-04
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_update_orders_param_order_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes An Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#destroy-2020-04
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_delete_orders_param_order_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/orders/count.json:
    get:
      summary: Shopify Retrieves An Order Count
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#count-2020-04
      parameters:
      - in: query
        name: created_at_min
        description: 'Count orders created after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: created_at_max
        description: 'Count orders created before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count orders last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count orders last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: status
        description: "Count orders of a given status.\n                  (default: open)\n                    \n                        open: Count open orders.\n                        closed: Count closed orders.\n                        any: Count orders of any status."
        schema: {}
        required: false
      - in: query
        name: financial_status
        description: "Count orders of a given financial status.\n                  (default: any)\n                    \n                        authorized: Count authorized orders.\n                        pending: Count pending orders.\n                        paid: Count paid orders.\n                        refunded: Count refunded orders.\n                        voided: Count voided orders.\n                        any: Count orders of any financial status."
        schema: {}
        required: false
      - in: query
        name: fulfillment_status
        description: "Filter orders by their fulfillment status.\n                  (default: any)\n                    \n                        shipped: Show orders that have been shipped. Returns orders with fulfillment_status of fulfilled.\n                        partial: Show partially shipped orders.\n                        unshipped: Show orders that have not yet been shipped. Returns orders with fulfillment_status of null.\n                        any: Show orders of any fulfillment status.\n                        unfulfilled: Returns orders with fulfillment_status of null or partial."
        schema: {}
        required: false
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_get_orders_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/orders/{order_id}/close.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Close an order
      summary: Shopify Closes An Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#close-2020-04
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        description: order_id
      tags:
      - Order
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_create_orders_param_order_id_close
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/orders/{order_id}/open.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Re-open a closed order
      summary: Shopify Re-opens A Closed Order
      description: https://shopify.dev/docs/admin-api/rest/reference/orders/order#open-2020-04
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          type: string
        de

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