Medusa Order Edits API

An order edit is a change to an order's details, such as items, shipping methods, and more. Changes made by an order edit are only applied on the order once they're confirmed. The order's previous version is retained due to versioning. These API routes allow admin users to make edits to an order and manage those edits.

Operations 11

POST /admin/order-edits Create Order Edit #
DELETE /admin/order-edits/{id} Cancel Order Edit #
POST /admin/order-edits/{id}/confirm Confirm Order Edit #
POST /admin/order-edits/{id}/items Add Items to Order Edit #
POST /admin/order-edits/{id}/items/item/{item_id} Update Order Item Quantity of Order Edit #
POST /admin/order-edits/{id}/items/{action_id} Update an Item in an Order Edit #
DELETE /admin/order-edits/{id}/items/{action_id} Remove Item from Order Edit #
POST /admin/order-edits/{id}/request Request Order Edit #
POST /admin/order-edits/{id}/shipping-method Add Shipping Method to Order Edit #
POST /admin/order-edits/{id}/shipping-method/{action_id} Update Shipping Method of an Order Edit #
DELETE /admin/order-edits/{id}/shipping-method/{action_id} Remove Shipping Method from Order Edit #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/medusa-order-edits-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

medusa-order-edits-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.19.0
  title: Medusa Admin Order Edits API
  license:
    name: MIT
    url: https://github.com/medusajs/medusa/blob/develop/LICENSE
  description: 'An order edit is a change to an order''s details, such as items, shipping methods, and more.


    Changes made by an order edit are only applied on the order once they''re confirmed.


    The order''s previous version is retained due to versioning.


    These API routes allow admin users to make edits to an order and manage those edits.

    '
servers:
- url: http://localhost:9000
- url: https://api.medusajs.com
tags:
- name: Order Edits
  description: 'An order edit is a change to an order''s details, such as items, shipping methods, and more.


    Changes made by an order edit are only applied on the order once they''re confirmed.


    The order''s previous version is retained due to versioning.


    These API routes allow admin users to make edits to an order and manage those edits.

    '
  externalDocs:
    description: Learn more about the Order Module
    url: https://docs.medusajs.com/resources/commerce-modules/order
paths:
  /admin/order-edits:
    post:
      operationId: PostOrderEdits
      summary: Create Order Edit
      description: Create an order edit.
      x-authenticated: true
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminPostOrderEditsReqSchema'
      x-codeSamples:
      - lang: JavaScript
        label: JS SDK
        source: "import Medusa from \"@medusajs/js-sdk\"\n\nexport const sdk = new Medusa({\n  baseUrl: import.meta.env.VITE_BACKEND_URL || \"/\",\n  debug: import.meta.env.DEV,\n  auth: {\n    type: \"session\",\n  },\n})\n\nsdk.admin.orderEdit.initiateRequest({\n  order_id: \"order_123\"\n})\n.then(({ order_change }) => {\n  console.log(order_change)\n})"
      - lang: Shell
        label: cURL
        source: "curl -X POST '{backend_url}/admin/order-edits' \\\n-H 'Authorization: Bearer {jwt_token}' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{\n  \"order_id\": \"{value}\",\n  \"metadata\": {}\n}'"
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: beginOrderEditOrderWorkflow
      x-events: []
  /admin/order-edits/{id}:
    delete:
      operationId: DeleteOrderEditsId
      summary: Cancel Order Edit
      description: Cancel a requested order edit.
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      x-codeSamples:
      - lang: JavaScript
        label: JS SDK
        source: "import Medusa from \"@medusajs/js-sdk\"\n\nexport const sdk = new Medusa({\n  baseUrl: import.meta.env.VITE_BACKEND_URL || \"/\",\n  debug: import.meta.env.DEV,\n  auth: {\n    type: \"session\",\n  },\n})\n\nsdk.admin.orderEdit.cancelRequest(\"order_123\")\n.then(({ deleted }) => {\n  console.log(deleted)\n})"
      - lang: Shell
        label: cURL
        source: 'curl -X DELETE ''{backend_url}/admin/order-edits/{id}'' \

          -H ''Authorization: Bearer {jwt_token}'''
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: The deletion's details.
                required:
                - id
                - object
                - deleted
                properties:
                  id:
                    type: string
                    title: id
                    description: The order edit's ID.
                  object:
                    type: string
                    title: object
                    description: The name of the deleted object.
                    default: order-edit
                  deleted:
                    type: boolean
                    title: deleted
                    description: Whether the order edit was deleted.
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: cancelBeginOrderEditWorkflow
      x-events:
      - name: order-edit.canceled
        payload: "```ts\n{\n  order_id, // The ID of the order\n  actions, // (array) The [actions](https://docs.medusajs.com/resources/references/fulfillment/interfaces/fulfillment.OrderChangeActionDTO) to edit the order\n}\n```"
        description: Emitted when an order edit request is canceled.
        deprecated: false
        since: 2.8.0
  /admin/order-edits/{id}/confirm:
    post:
      operationId: PostOrderEditsIdConfirm
      summary: Confirm Order Edit
      description: Confirm an order edit request and apply the changes on the order.
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      x-codeSamples:
      - lang: JavaScript
        label: JS SDK
        source: "import Medusa from \"@medusajs/js-sdk\"\n\nexport const sdk = new Medusa({\n  baseUrl: import.meta.env.VITE_BACKEND_URL || \"/\",\n  debug: import.meta.env.DEV,\n  auth: {\n    type: \"session\",\n  },\n})\n\nsdk.admin.orderEdit.confirm(\"order_123\")\n.then(({ order_preview }) => {\n  console.log(order_preview)\n})"
      - lang: Shell
        label: cURL
        source: 'curl -X POST ''{backend_url}/admin/order-edits/{id}/confirm'' \

          -H ''Authorization: Bearer {jwt_token}'''
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: confirmOrderEditRequestWorkflow
      x-events:
      - name: order-edit.confirmed
        payload: "```ts\n{\n  order_id, // The ID of the order\n  actions, // (array) The [actions](https://docs.medusajs.com/resources/references/fulfillment/interfaces/fulfillment.OrderChangeActionDTO) to edit the order\n  no_notification, // (boolean) Whether the customer shouldn't be notified of the order edit, as stored on the order change when the edit was requested. Available since v2.19.0.\n}\n```"
        description: Emitted when an order edit request is confirmed.
        deprecated: false
        since: 2.8.0
      - name: reservation-item.created
        payload: "```ts\n{\n  id, // The ID of the reservation\n  order_id, // (optional) The ID of the order, if the reservation was created by an order flow\n}\n```"
        description: Emitted when reservations are created.
        deprecated: false
        since: 2.18.0
      - name: reservation-item.deleted
        payload: "```ts\n{\n  id, // The ID of the reservation\n  order_id, // (optional) The ID of the order, if the reservation was deleted by an order flow\n}\n```"
        description: Emitted when reservations are deleted.
        deprecated: false
        since: 2.18.0
  /admin/order-edits/{id}/items:
    post:
      operationId: PostOrderEditsIdItems
      summary: Add Items to Order Edit
      x-sidebar-summary: Add Items
      description: Add new items to an order edit. These items will have the action `ITEM_ADD`.
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminPostOrderEditsAddItemsReqSchema'
      x-codeSamples:
      - lang: JavaScript
        label: JS SDK
        source: "import Medusa from \"@medusajs/js-sdk\"\n\nexport const sdk = new Medusa({\n  baseUrl: import.meta.env.VITE_BACKEND_URL || \"/\",\n  debug: import.meta.env.DEV,\n  auth: {\n    type: \"session\",\n  },\n})\n\nsdk.admin.orderEdit.addItems(\"order_123\", {\n  items: [\n    {\n      variant_id: \"variant_123\",\n      quantity: 1\n    }\n  ]\n})\n.then(({ order_preview }) => {\n  console.log(order_preview)\n})"
      - lang: Shell
        label: cURL
        source: 'curl -X POST ''{backend_url}/admin/order-edits/{id}/items'' \

          -H ''Authorization: Bearer {jwt_token}'''
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: orderEditAddNewItemWorkflow
      x-events: []
  /admin/order-edits/{id}/items/item/{item_id}:
    post:
      operationId: PostOrderEditsIdItemsItemItem_id
      summary: Update Order Item Quantity of Order Edit
      x-sidebar-summary: Update Item Quantity
      description: 'Update an existing order item''s quantity of an order edit.

        You can also use this API route to remove an item from an order by setting its quantity to `0`.

        '
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        description: The order edit's item id.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminPostOrderEditsUpdateItemQuantityReqSchema'
      x-codeSamples:
      - lang: JavaScript
        label: JS SDK
        source: "import Medusa from \"@medusajs/js-sdk\"\n\nexport const sdk = new Medusa({\n  baseUrl: import.meta.env.VITE_BACKEND_URL || \"/\",\n  debug: import.meta.env.DEV,\n  auth: {\n    type: \"session\",\n  },\n})\n\nsdk.admin.orderEdit.updateOriginalItem(\n  \"order_123\",\n  \"orli_123\",\n  {\n    quantity: 1\n  }\n)\n.then(({ order_preview }) => {\n  console.log(order_preview)\n})"
      - lang: Shell
        label: cURL
        source: "curl -X POST '{backend_url}/admin/order-edits/{id}/items/item/{item_id}' \\\n-H 'Authorization: Bearer {jwt_token}' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{\n  \"quantity\": 7564330046324736\n}'"
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: orderEditUpdateItemQuantityWorkflow
      x-events: []
  /admin/order-edits/{id}/items/{action_id}:
    post:
      operationId: PostOrderEditsIdItemsAction_id
      summary: Update an Item in an Order Edit
      x-sidebar-summary: Update Item
      description: 'Update an added item in the order edit by the ID of the item''s `ITEM_ADD` action.


        Every item has an `actions` property, whose value is an array of actions. You can check the action''s name using its `action` property, and use the value of the `id` property.

        '
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      - name: action_id
        in: path
        description: The ID of the new item's `ITEM_ADD` action.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminPostOrderEditsItemsActionReqSchema'
      x-codeSamples:
      - lang: JavaScript
        label: JS SDK
        source: "import Medusa from \"@medusajs/js-sdk\"\n\nexport const sdk = new Medusa({\n  baseUrl: import.meta.env.VITE_BACKEND_URL || \"/\",\n  debug: import.meta.env.DEV,\n  auth: {\n    type: \"session\",\n  },\n})\n\nsdk.admin.orderEdit.updateAddedItem(\n  \"order_123\",\n  \"orli_123\",\n  {\n    quantity: 1\n  }\n)\n.then(({ order_preview }) => {\n  console.log(order_preview)\n})"
      - lang: Shell
        label: cURL
        source: 'curl -X POST ''{backend_url}/admin/order-edits/{id}/items/{action_id}'' \

          -H ''Authorization: Bearer {jwt_token}'''
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: updateOrderEditAddItemWorkflow
      x-events: []
    delete:
      operationId: DeleteOrderEditsIdItemsAction_id
      summary: Remove Item from Order Edit
      x-sidebar-summary: Remove Item
      description: 'Remove an added item in the order edit by the ID of the item''s `ITEM_ADD` action.


        Every item has an `actions` property, whose value is an array of actions. You can check the action''s name using its `action` property, and use the value of the `id` property.

        '
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      - name: action_id
        in: path
        description: The ID of the new item's `ITEM_ADD` action.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      x-codeSamples:
      - lang: JavaScript
        label: JS SDK
        source: "import Medusa from \"@medusajs/js-sdk\"\n\nexport const sdk = new Medusa({\n  baseUrl: import.meta.env.VITE_BACKEND_URL || \"/\",\n  debug: import.meta.env.DEV,\n  auth: {\n    type: \"session\",\n  },\n})\n\nsdk.admin.orderEdit.removeAddedItem(\n  \"order_123\",\n  \"orli_123\",\n)\n.then(({ order_preview }) => {\n  console.log(order_preview)\n})"
      - lang: Shell
        label: cURL
        source: 'curl -X DELETE ''{backend_url}/admin/order-edits/{id}/items/{action_id}'' \

          -H ''Authorization: Bearer {jwt_token}'''
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: removeItemOrderEditActionWorkflow
      x-events: []
  /admin/order-edits/{id}/request:
    post:
      operationId: PostOrderEditsIdRequest
      summary: Request Order Edit
      description: Change the status of an active order edit to requested.
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      x-codeSamples:
      - lang: JavaScript
        label: JS SDK
        source: "import Medusa from \"@medusajs/js-sdk\"\n\nexport const sdk = new Medusa({\n  baseUrl: import.meta.env.VITE_BACKEND_URL || \"/\",\n  debug: import.meta.env.DEV,\n  auth: {\n    type: \"session\",\n  },\n})\n\nsdk.admin.orderEdit.request(\"order_123\", {\n  no_notification: false\n})\n.then(({ order_preview }) => {\n  console.log(order_preview)\n})"
      - lang: Shell
        label: cURL
        source: 'curl -X POST ''{backend_url}/admin/order-edits/{id}/request'' \

          -H ''Authorization: Bearer {jwt_token}'''
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: requestOrderEditRequestWorkflow
      x-events:
      - name: order-edit.requested
        payload: "```ts\n{\n  order_id, // The ID of the order\n  actions, // (array) The [actions](https://docs.medusajs.com/resources/references/fulfillment/interfaces/fulfillment.OrderChangeActionDTO) to edit the order\n  no_notification, // (boolean) Whether the customer shouldn't be notified of the requested order edit. Available since v2.19.0.\n}\n```"
        description: Emitted when an order edit is requested.
        deprecated: false
        since: 2.8.0
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminRequestOrderEdit'
  /admin/order-edits/{id}/shipping-method:
    post:
      operationId: PostOrderEditsIdShippingMethod
      summary: Add Shipping Method to Order Edit
      x-sidebar-summary: Add Shipping Method
      description: Add a shipping method to an exchange. The shipping method will have a `SHIPPING_ADD` action.
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminPostOrderEditsShippingReqSchema'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "curl -X POST '{backend_url}/admin/order-edits/{id}/shipping-method' \\\n-H 'Authorization: Bearer {jwt_token}' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{\n  \"shipping_option_id\": \"{value}\"\n}'"
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: createOrderEditShippingMethodWorkflow
      x-events: []
  /admin/order-edits/{id}/shipping-method/{action_id}:
    post:
      operationId: PostOrderEditsIdShippingMethodAction_id
      summary: Update Shipping Method of an Order Edit
      x-sidebar-summary: Update Shipping Method
      description: 'Update a shipping method in the order edit by the ID of the method''s `SHIPPING_ADD` action.


        Every shipping method has an `actions` property, whose value is an array of actions. You can check the action''s name using its `action` property, and use the value of the `id` property.

        '
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      - name: action_id
        in: path
        description: The ID of the shipping method's `SHIPPING_ADD` action.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminPostOrderEditsShippingActionReqSchema'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: 'curl -X POST ''{backend_url}/admin/order-edits/{id}/shipping-method/{action_id}'' \

          -H ''Authorization: Bearer {jwt_token}'''
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: updateOrderEditShippingMethodWorkflow
      x-events: []
    delete:
      operationId: DeleteOrderEditsIdShippingMethodAction_id
      summary: Remove Shipping Method from Order Edit
      x-sidebar-summary: Remove Shipping Method
      description: 'Remove a shipping method in the order edit by the ID of the method''s `SHIPPING_ADD` action.


        Every shipping method has an `actions` property, whose value is an array of actions. You can check the action''s name using its `action` property, and use the value of the `id` property.

        '
      x-authenticated: true
      parameters:
      - name: id
        in: path
        description: The ID of the order that is being edited.
        required: true
        schema:
          type: string
      - name: action_id
        in: path
        description: The ID of the shipping method's `SHIPPING_ADD` action.
        required: true
        schema:
          type: string
      security:
      - api_token: []
      - cookie_auth: []
      - jwt_token: []
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: 'curl -X DELETE ''{backend_url}/admin/order-edits/{id}/shipping-method/{action_id}'' \

          -H ''Authorization: Bearer {jwt_token}'''
      tags:
      - Order Edits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrderEditPreviewResponse'
        '400':
          $ref: '#/components/responses/400_error'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/not_found_error'
        '409':
          $ref: '#/components/responses/invalid_state_error'
        '422':
          $ref: '#/components/responses/invalid_request_error'
        '500':
          $ref: '#/components/responses/500_error'
      x-workflow: removeOrderEditShippingMethodWorkflow
      x-events: []
components:
  schemas:
    AdminProductOptionValue:
      type: object
      description: The product option value's details.
      x-schemaName: AdminProductOptionValue
      required:
      - id
      - value
      properties:
        id:
          type: string
          title: id
          description: The value's ID.
        value:
          type: string
          title: value
          description: The value.
        option:
          $ref: '#/components/schemas/AdminProductOption'
        option_id:
          type: string
          title: option_id
          description: The ID of the option this value belongs to.
        metadata:
          type: object
          description: The value's metadata, can hold custom key-value pairs.
          externalDocs:
            url: https://docs.medusajs.com/api/admin#manage-metadata
            description: Learn how to manage metadata
        created_at:
          type: string
          format: date-time
          title: created_at
          description: The date the value was created.
        updated_at:
          type: string
          format: date-time
          title: updated_at
          description: The date the value was updated.
        deleted_at:
          type: string
          format: date-time
          title: deleted_at
          description: The date the value was deleted.
        rank:
          type: number
          title: rank
          description: The rank of the value among other option values.
    BaseCollection:
      type: object
      description: The product collection's details.
      x-schemaName: BaseCollection
      required:
      - id
      - title
      - handle
      - created_at
      - updated_at
      - deleted_at
      - metadata
      properties:
        id:
          type: string
          title: id
          description: The collection's ID.
        title:
          type: string
          title: title
          description: The collection's title.
        handle:
          type: string
          title: handle
          description: The collection's handle.
        created_at:
          type: string
          format: date-time
          title: created_at
          description: The collection's creation date.
        updated_at:
          type: string
          format: date-time
          title: updated_at
          description: The collection's update date.
        deleted_at:
          type: string
          format: date-time
          title: deleted_at
          description: The collection's deletion date.
        products:
          type: array
          description: The collection's products.
          items:
            type: object
        metadata:
          type: object
          description: The collection's metadata, used to store custom key-value pairs.
          externalDocs:
            url: https://docs.medusajs.com/api/store#manage-metadata
            description: Learn how to manage metadata
        external_id:
          type: string
          title: external_id
          description: The collection's external ID used to link it with external systems.
    AdminRegionCountry:
      type: object
      description: The country's details.
      x-schemaName: AdminRegionCountry
      required:
      - id
      properties:
        id:
          type: string
          title: id
          description: The country's ID.
        iso_2:
          type: string
          title: iso_2
          description: The country's iso 2.
          example: us
        iso_3:
          type: string
          title: iso_3
          description: The country's iso 3.
          example: usa
        num_code:
          type: string
          title: num_code
          description: The country's num code.
          example: 840
        name:
          type: string
          title: name
          description: The country's name.
        display_name:
          type: string
          title: display_name
          description: The country's display name.
    BaseOrderItemDetail:
      type: object
      description: The item's detail.
      x-schemaName: BaseOrderItemDetail
      required:
      - id
      - item_id
      - item
      - quantity
      - fulfilled_quantity
      - delivered_quantity
      - shipped_quantity
      - return_requested_quantity
      - return_received_quantity
      - return_dismissed_quantity
      - written_off_quantity
      - metadata
      - created_at
      - updated_at
      properties:
        id:
          type: string
          title: id
          description: the detail's ID.
        item_id:
          type: string
          title: id
          description: the ID of the associated line item.
        item:
          type: object
        quantity:
          type: number
          title: quantity
          description: The item's quantity.
        fulfilled_quantity:
          type: number
          title: fulfilled_quantity
          description: The item's fulfilled quantity.
        delivered_quantity:
          type: number
          title: fulfilled_quantity
          description: The item's delivered quantity.
        shipped_quantity:
          type: number
          title: shipped_quantity
          description: The item's shipped quantity.
        return_requested_quantity:
          type: number
          title: return_requested_quantity
          description: The item's quantity that's requested to be returned.
        return_received_quantity:
          type: number
          title: return_received_quantity
          description: The item's quantity that's returned and added to the underlying variant's stocked quantity.
        return_dismissed_quantity:
          type: number
          title: return_dismissed_quantity
          description: The item's quantity that's returned but damaged. So, it's not added to the underlying variant's stocked quantity.
        written_off_quantity:
          type: number
          title: written_off_quantity
          description: The item's quantity that's removed from the order.
        metadata:
          type: object
          title: metadata
          description: The item's metadata, can hold custom key-value pairs.
        created_at:
          type: string
          format: date-time
          title: created_at
          description: The date the detail was created.
        updated_at:
          type: string
    

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