curl --request PUT \
--url https://api.salesive.com/api/v1/shipping/options/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"price": 2000,
"enabled": false
}
'import requests
url = "https://api.salesive.com/api/v1/shipping/options/{id}"
payload = {
"price": 2000,
"enabled": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({price: 2000, enabled: false})
};
fetch('https://api.salesive.com/api/v1/shipping/options/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.salesive.com/api/v1/shipping/options/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'price' => 2000,
'enabled' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.salesive.com/api/v1/shipping/options/{id}"
payload := strings.NewReader("{\n \"price\": 2000,\n \"enabled\": false\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.salesive.com/api/v1/shipping/options/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"price\": 2000,\n \"enabled\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salesive.com/api/v1/shipping/options/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"price\": 2000,\n \"enabled\": false\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"success": true,
"message": "Update a shipping option",
"data": {
"_id": "6650a1f2c3d4e5f601020304",
"name": "Standard Shipping",
"description": "3-5 business day delivery",
"type": "custom",
"price": 2000,
"match": "all",
"couriers": [],
"triggers": [
{
"type": "totalAmount",
"operator": ">=",
"value": 10000
}
],
"enabled": false,
"shop": "6630b2a1d4e5f60102030405",
"deleted": false,
"createdAt": "2026-05-20T10:00:00.000Z",
"updatedAt": "2026-06-28T09:30:00.000Z"
}
}{
"status": 401,
"success": false,
"message": "Authentication required",
"data": null
}{
"status": 403,
"success": false,
"message": "Insufficient scope",
"data": null
}Update a shipping option
Update a shipping option. Requires the WRITE_SHIPPING scope.
curl --request PUT \
--url https://api.salesive.com/api/v1/shipping/options/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"price": 2000,
"enabled": false
}
'import requests
url = "https://api.salesive.com/api/v1/shipping/options/{id}"
payload = {
"price": 2000,
"enabled": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({price: 2000, enabled: false})
};
fetch('https://api.salesive.com/api/v1/shipping/options/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.salesive.com/api/v1/shipping/options/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'price' => 2000,
'enabled' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.salesive.com/api/v1/shipping/options/{id}"
payload := strings.NewReader("{\n \"price\": 2000,\n \"enabled\": false\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.salesive.com/api/v1/shipping/options/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"price\": 2000,\n \"enabled\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salesive.com/api/v1/shipping/options/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"price\": 2000,\n \"enabled\": false\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"success": true,
"message": "Update a shipping option",
"data": {
"_id": "6650a1f2c3d4e5f601020304",
"name": "Standard Shipping",
"description": "3-5 business day delivery",
"type": "custom",
"price": 2000,
"match": "all",
"couriers": [],
"triggers": [
{
"type": "totalAmount",
"operator": ">=",
"value": 10000
}
],
"enabled": false,
"shop": "6630b2a1d4e5f60102030405",
"deleted": false,
"createdAt": "2026-05-20T10:00:00.000Z",
"updatedAt": "2026-06-28T09:30:00.000Z"
}
}{
"status": 401,
"success": false,
"message": "Authentication required",
"data": null
}{
"status": 403,
"success": false,
"message": "Insufficient scope",
"data": null
}WRITE_SHIPPING scope.Authorizations
Installed-app access token (prefix app_), issued by the OAuth install flow. The store is bound to the token server-side — never send a shop id.
Path Parameters
ObjectId of the shipping option.
Body
Display name of the shipping option.
Description shown to shoppers.
One of auto or manual.
Flat shipping price (minimum 0).
How triggers combine: all or any.
Courier codes to restrict the option to.
Eligibility rules (same shape as on create).
Whether the option is active.
Pickup address string.
Pickup coordinates { lat, lng }.
Response
Update a shipping option.
Standard Salesive response envelope. The operation-specific payload is carried in data.
HTTP status code, echoed in the body.
Whether the request succeeded.
Human-readable result message.
A configured shipping option. For options of type auto, the store-level shipping configuration is merged into the object.
Show child attributes
Show child attributes
Was this page helpful?

