Magento 2 API (Updated 2024): Manage Special Prices

Table of Contents

Magento provides REST endpoints that allow you to update multiple special prices

Today I will show you how to set, get and delete special prices using Magento 2 API. You can efficiently schedule special prices for one or more products in a store’s catalog. 

Set Special Price

The call sets special prices for the following product types:

  • Simple
  • Bundle
  • Virtual
  • Downloadable

You can set multiple special prices in a single call or set just 1 special price as shown in the example below.

Step 1: Generate Admin Access Token

Endpoint: POST <host>/rest/V1/integration/admin/token

Enter your admin username and password in Body sections, then click Send.

{
  "username": "string",
  "password": "string"
}

Response: access token

Step 2: Set Special Price

Create a new request and enter the admin access token

Authorization: Bearer token

Endpoint: POST <host>/rest/<store_code>/V1/products/special-price

Payload:

{
  "prices": [
    {
      "price": 19,
      "store_id": 0,
      "price_from": "2021-09-22 00:00:00",
      "price_to": "2021-09-24 23:59:59",
      "sku": "24-MB02"
    }
  ]
}

Response:

An empty array.

[]

The response of set a special prices call
The response of set a special prices call

Step 3: Verify The Special Price

In Store, Search 24-MB02 (24-MB02 is SKU of the product I set a special price for). And look at the Special price in the price area.

The result of set a special prices call
The result of set a special prices call

Get Special Prices

The following call returns the special price information for a SKU value.

Step 1: Generate Admin Access Token

Endpoint: POST <host>/rest/V1/integration/admin/token

Enter your admin username and password in Body sections, then click Send.

{
  "username": "string",
  "password": "string"
}

Response: access token

Step 2: Get Special Prices

Create a new request and enter the admin access token

Authorization: Bearer token

Endpoint: POST <host>/rest/<store_code>/V1/products/special-price-information

Payload:

{
  "skus": [
    "24-MB02"
  ]
}

Response:

[
    {
        "price":19,
        "store_id": 0,
        "sku": "24-MB02",
        "price_from": "2021-09-22 00:00:00",
        "price_to": "2021-09-24 23:59:59"
    }
]
The response of get a special prices call
The response of get a special prices call

Delete a special price

Step 1: Generate Admin Access Token

Endpoint: POST <host>/rest/V1/integration/admin/token

Enter your admin username and password in Body sections, then click Send.

{
  "username": "string",
  "password": "string"
}

Response: access token

Step 2: Delete A Special Price

Create a new request and enter the admin access token

Authorization: Bearer token

Endpoint: POST <host>/rest/<store_code>/V1/products/special-price-delete

Payload:

{
  "prices": [
    {
      "price": 19,
      "store_id": 0,
      "price_from": "2021-09-22 00:00:00",
      "price_to": "2021-09-24 23:59:59",
      "sku": "24-MB02"
    }
  ]
}

Response:

An empty array.

[]

The response of delete a special prices call
The response of delete a special prices call

Step 3: Verify The Result

In Store, Search 24-MB02 (24-MB02 is the SKU of the product I set a special price for). The special price was deleted.

The result of delete a special prices call
The result of delete a special prices call
Magento 2 API Manage Special Prices

Above, I have just provided you with many steps to Manage special prices. I hope it will be helpful for you when managing special prices using Magento API. For more information, you can refer to Magento DevDocs. If you have any questions or new ideas, feel free to leave a comment below.