curl --request PATCH \
--url http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId} \
--header 'Content-Type: application/json-patch+json' \
--data '
[
{
"path": "<string>",
"value": "<unknown>"
}
]
'import requests
url = "http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}"
payload = [
{
"path": "<string>",
"value": "<unknown>"
}
]
headers = {"Content-Type": "application/json-patch+json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json-patch+json'},
body: JSON.stringify([{path: '<string>', value: '<unknown>'}])
};
fetch('http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}', 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 => "http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}",
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([
[
'path' => '<string>',
'value' => '<unknown>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json-patch+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 := "http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}"
payload := strings.NewReader("[\n {\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Content-Type", "application/json-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}")
.header("Content-Type", "application/json-patch+json")
.body("[\n {\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json-patch+json'
request.body = "[\n {\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"status": "<unknown>",
"code": "<string>",
"data": {
"id": 123,
"name": "<string>",
"customId": "<string>",
"description": "<string>",
"brand": {
"id": 123,
"name": "<string>"
},
"organization": {
"id": 123,
"name": "<string>"
},
"supplier": {
"id": 123,
"name": "<string>"
},
"companyContactPerson": {
"id": "<string>",
"name": "<string>"
},
"supplierContactPerson": {
"id": "<string>",
"name": "<string>"
},
"adminUnit": {
"id": 123,
"name": "<string>",
"properties": [
"<string>"
]
},
"logo": {
"id": "<string>",
"url": "<string>"
},
"lastUpdated": "2023-11-07T05:31:56Z",
"deadline": "2023-11-07T05:31:56Z",
"etd": "2023-11-07T05:31:56Z",
"erpItemId": "<string>",
"defaultQty": 123,
"nameGeneratorExtraText": "<string>",
"physicalReferenceNumber": "<string>",
"categories": [
{
"id": 123,
"name": "<string>",
"state": "<unknown>",
"usedInItems": 123,
"beginDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"properties": [
"<string>"
]
}
],
"customFields": [
{
"id": 123,
"customId1": "<string>",
"type": "<string>",
"name": "<string>",
"value": {
"id": 123,
"value": "<string>",
"customId": "<string>"
},
"values": [
{
"id": 123,
"value": "<string>",
"customId": "<string>"
}
],
"perColorValues": [
{
"styleColorId": 123,
"value": {
"id": 123,
"value": "<string>",
"customId": "<string>"
},
"values": [
{
"id": 123,
"value": "<string>",
"customId": "<string>"
}
]
}
]
}
],
"properties": [
"<string>"
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}Partially updates a single item by ID (RFC 6902 JSON Patch).
Applies a JSON Patch document (RFC 6902) to an item owned by the current organization. PATCH is a partial update: a field an operation touches is written, an omitted field is preserved (preserve-on-omit). A ‘replace’ to null on a nullable scalar (customId, description, nameGeneratorExtraText) clears that column; supply a non-null value or omit the field to preserve it. Collections (categories, customFields) follow RFC 6902 replace-set semantics when touched: the resulting array is the full desired set — ‘replace /categories []’ clears all associations, ‘replace /categories [x]’ makes x the sole association — while an omitted collection preserves all existing associations. The route id is authoritative: a ‘replace /id’ to a different value returns 409 and the body id is otherwise ignored. Required fields (name, brand, companyContactPerson) cannot be cleared and defaultQty must stay non-null and >= 0 — violating this returns 400. Supplier users may only patch /description; touching any other field returns 403. Touching /readyForExport (possible false->true flip) or /customFields triggers the mandatory-custom-field check (DL-58912). A failed ‘test’ operation returns 409; any other operation that cannot be applied to the resource returns 422. Cross-organization access returns 403 (an authenticated-but-not-authorized denial), matching GET.
curl --request PATCH \
--url http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId} \
--header 'Content-Type: application/json-patch+json' \
--data '
[
{
"path": "<string>",
"value": "<unknown>"
}
]
'import requests
url = "http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}"
payload = [
{
"path": "<string>",
"value": "<unknown>"
}
]
headers = {"Content-Type": "application/json-patch+json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json-patch+json'},
body: JSON.stringify([{path: '<string>', value: '<unknown>'}])
};
fetch('http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}', 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 => "http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}",
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([
[
'path' => '<string>',
'value' => '<unknown>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json-patch+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 := "http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}"
payload := strings.NewReader("[\n {\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Content-Type", "application/json-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}")
.header("Content-Type", "application/json-patch+json")
.body("[\n {\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/items/{itemId}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json-patch+json'
request.body = "[\n {\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"status": "<unknown>",
"code": "<string>",
"data": {
"id": 123,
"name": "<string>",
"customId": "<string>",
"description": "<string>",
"brand": {
"id": 123,
"name": "<string>"
},
"organization": {
"id": 123,
"name": "<string>"
},
"supplier": {
"id": 123,
"name": "<string>"
},
"companyContactPerson": {
"id": "<string>",
"name": "<string>"
},
"supplierContactPerson": {
"id": "<string>",
"name": "<string>"
},
"adminUnit": {
"id": 123,
"name": "<string>",
"properties": [
"<string>"
]
},
"logo": {
"id": "<string>",
"url": "<string>"
},
"lastUpdated": "2023-11-07T05:31:56Z",
"deadline": "2023-11-07T05:31:56Z",
"etd": "2023-11-07T05:31:56Z",
"erpItemId": "<string>",
"defaultQty": 123,
"nameGeneratorExtraText": "<string>",
"physicalReferenceNumber": "<string>",
"categories": [
{
"id": 123,
"name": "<string>",
"state": "<unknown>",
"usedInItems": 123,
"beginDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"properties": [
"<string>"
]
}
],
"customFields": [
{
"id": 123,
"customId1": "<string>",
"type": "<string>",
"name": "<string>",
"value": {
"id": 123,
"value": "<string>",
"customId": "<string>"
},
"values": [
{
"id": 123,
"value": "<string>",
"customId": "<string>"
}
],
"perColorValues": [
{
"styleColorId": 123,
"value": {
"id": 123,
"value": "<string>",
"customId": "<string>"
},
"values": [
{
"id": 123,
"value": "<string>",
"customId": "<string>"
}
]
}
]
}
],
"properties": [
"<string>"
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "<unknown>",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}