Update shipment
curl --request PATCH \
--url https://sandbox-api.easecustoms.com/v1/shipments/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"referenceNumber": "<string>",
"localReferenceNo": "<string>",
"remarks": "<string>",
"totalWeight": 123,
"totalPrice": 123
}
'import requests
url = "https://sandbox-api.easecustoms.com/v1/shipments/{id}"
payload = {
"referenceNumber": "<string>",
"localReferenceNo": "<string>",
"remarks": "<string>",
"totalWeight": 123,
"totalPrice": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
referenceNumber: '<string>',
localReferenceNo: '<string>',
remarks: '<string>',
totalWeight: 123,
totalPrice: 123
})
};
fetch('https://sandbox-api.easecustoms.com/v1/shipments/{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://sandbox-api.easecustoms.com/v1/shipments/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'referenceNumber' => '<string>',
'localReferenceNo' => '<string>',
'remarks' => '<string>',
'totalWeight' => 123,
'totalPrice' => 123
]),
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://sandbox-api.easecustoms.com/v1/shipments/{id}"
payload := strings.NewReader("{\n \"referenceNumber\": \"<string>\",\n \"localReferenceNo\": \"<string>\",\n \"remarks\": \"<string>\",\n \"totalWeight\": 123,\n \"totalPrice\": 123\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://sandbox-api.easecustoms.com/v1/shipments/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"referenceNumber\": \"<string>\",\n \"localReferenceNo\": \"<string>\",\n \"remarks\": \"<string>\",\n \"totalWeight\": 123,\n \"totalPrice\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.easecustoms.com/v1/shipments/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"referenceNumber\": \"<string>\",\n \"localReferenceNo\": \"<string>\",\n \"remarks\": \"<string>\",\n \"totalWeight\": 123,\n \"totalPrice\": 123\n}"
response = http.request(request)
puts response.read_body{
"shipmentId": 99,
"referenceNumber": "180-43189021",
"localReferenceNo": "PO-2026-001",
"remarks": "Updated by external API",
"totalWeight": 500,
"totalPrice": 9800,
"status": "draft",
"createdAt": "2026-06-22T17:00:00.000Z",
"updatedAt": "2026-06-22T17:05:00.000Z"
}
Shipments
Update shipment
Update editable shipment fields while shipment status allows modifications.
PATCH
/
v1
/
shipments
/
{id}
Update shipment
curl --request PATCH \
--url https://sandbox-api.easecustoms.com/v1/shipments/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"referenceNumber": "<string>",
"localReferenceNo": "<string>",
"remarks": "<string>",
"totalWeight": 123,
"totalPrice": 123
}
'import requests
url = "https://sandbox-api.easecustoms.com/v1/shipments/{id}"
payload = {
"referenceNumber": "<string>",
"localReferenceNo": "<string>",
"remarks": "<string>",
"totalWeight": 123,
"totalPrice": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
referenceNumber: '<string>',
localReferenceNo: '<string>',
remarks: '<string>',
totalWeight: 123,
totalPrice: 123
})
};
fetch('https://sandbox-api.easecustoms.com/v1/shipments/{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://sandbox-api.easecustoms.com/v1/shipments/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'referenceNumber' => '<string>',
'localReferenceNo' => '<string>',
'remarks' => '<string>',
'totalWeight' => 123,
'totalPrice' => 123
]),
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://sandbox-api.easecustoms.com/v1/shipments/{id}"
payload := strings.NewReader("{\n \"referenceNumber\": \"<string>\",\n \"localReferenceNo\": \"<string>\",\n \"remarks\": \"<string>\",\n \"totalWeight\": 123,\n \"totalPrice\": 123\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://sandbox-api.easecustoms.com/v1/shipments/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"referenceNumber\": \"<string>\",\n \"localReferenceNo\": \"<string>\",\n \"remarks\": \"<string>\",\n \"totalWeight\": 123,\n \"totalPrice\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.easecustoms.com/v1/shipments/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"referenceNumber\": \"<string>\",\n \"localReferenceNo\": \"<string>\",\n \"remarks\": \"<string>\",\n \"totalWeight\": 123,\n \"totalPrice\": 123\n}"
response = http.request(request)
puts response.read_body{
"shipmentId": 99,
"referenceNumber": "180-43189021",
"localReferenceNo": "PO-2026-001",
"remarks": "Updated by external API",
"totalWeight": 500,
"totalPrice": 9800,
"status": "draft",
"createdAt": "2026-06-22T17:00:00.000Z",
"updatedAt": "2026-06-22T17:05:00.000Z"
}
Update editable shipment fields while shipment status allows modifications.
Path Parameters
number
required
The unique shipment ID.
Body
string
The unique reference number of the shipment.
string
The local reference number or Purchase Order number.
string
Additional remarks or notes for the shipment.
number
The total gross weight of the shipment.
number
The total value or price of the shipment.
{
"shipmentId": 99,
"referenceNumber": "180-43189021",
"localReferenceNo": "PO-2026-001",
"remarks": "Updated by external API",
"totalWeight": 500,
"totalPrice": 9800,
"status": "draft",
"createdAt": "2026-06-22T17:00:00.000Z",
"updatedAt": "2026-06-22T17:05:00.000Z"
}
⌘I