curl --request PUT \
--url https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements \
--header 'Content-Type: application/json' \
--data '
[
{
"sizeRangeSizeId": 123,
"designerComment": "<string>",
"lines": [
{
"lineId": 123,
"companyMeasurement": 123,
"newMeasurement": 123
}
]
}
]
'import requests
url = "https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements"
payload = [
{
"sizeRangeSizeId": 123,
"designerComment": "<string>",
"lines": [
{
"lineId": 123,
"companyMeasurement": 123,
"newMeasurement": 123
}
]
}
]
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify([
{
sizeRangeSizeId: 123,
designerComment: '<string>',
lines: [{lineId: 123, companyMeasurement: 123, newMeasurement: 123}]
}
])
};
fetch('https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements', 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://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements",
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([
[
'sizeRangeSizeId' => 123,
'designerComment' => '<string>',
'lines' => [
[
'lineId' => 123,
'companyMeasurement' => 123,
'newMeasurement' => 123
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements"
payload := strings.NewReader("[\n {\n \"sizeRangeSizeId\": 123,\n \"designerComment\": \"<string>\",\n \"lines\": [\n {\n \"lineId\": 123,\n \"companyMeasurement\": 123,\n \"newMeasurement\": 123\n }\n ]\n }\n]")
req, _ := http.NewRequest("PUT", url, payload)
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://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements")
.header("Content-Type", "application/json")
.body("[\n {\n \"sizeRangeSizeId\": 123,\n \"designerComment\": \"<string>\",\n \"lines\": [\n {\n \"lineId\": 123,\n \"companyMeasurement\": 123,\n \"newMeasurement\": 123\n }\n ]\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"sizeRangeSizeId\": 123,\n \"designerComment\": \"<string>\",\n \"lines\": [\n {\n \"lineId\": 123,\n \"companyMeasurement\": 123,\n \"newMeasurement\": 123\n }\n ]\n }\n]"
response = http.request(request)
puts response.read_body{
"status": "success",
"code": "<string>",
"data": [
{
"sizeRangeSizeId": 123,
"sizeRangeSizeName": "<string>",
"unit": "<string>",
"designerComment": "<string>",
"properties": [
"<string>"
],
"lines": [
{
"lineId": 123,
"name": "<string>",
"requestedMeasurement": 123,
"companyMeasurement": 123,
"supplierMeasurement": 123,
"newMeasurement": 123,
"tolerance": 123
}
]
}
]
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}Replace the measured values for a sample request
Full-replace write of a sample request’s own measured grid. The body is an array, one entry per requested size, each carrying its lines addressed by lineId, and optionally the designer’s per-size fit comment. Only companyMeasurement (the designer’s measured actual), newMeasurement (the wanted value), and designerComment are writable; a null clears the value. As a full replace, designerComment is written verbatim, so seed it back from the read to preserve it. The read-only fields of the read contract — requestedMeasurement, supplierMeasurement, tolerance and name — are not accepted (sending one is a 400). As a full replace the body must cover every requested size and every active line exactly once; a deactivated line (which has no lineId) cannot be written. A size or line not on the request, incomplete coverage, or a request in the Commented state returns 422. A changed newMeasurement is also written back to the matching line of the style’s master measurement chart, and that line is re-graded; a re-grade that would leave the chart line invalid returns 422. The write is not checked against the client’s earlier read, so a change made since that read is overwritten; 409 is returned only when another write changes the measured values or designer comments while this write is in progress. Re-read and retry. The write records the changed values and comments in the sample request’s measurement change history in the audit log. It does not change the sample request’s status or dates and emits no notification. A failed write commits nothing.
curl --request PUT \
--url https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements \
--header 'Content-Type: application/json' \
--data '
[
{
"sizeRangeSizeId": 123,
"designerComment": "<string>",
"lines": [
{
"lineId": 123,
"companyMeasurement": 123,
"newMeasurement": 123
}
]
}
]
'import requests
url = "https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements"
payload = [
{
"sizeRangeSizeId": 123,
"designerComment": "<string>",
"lines": [
{
"lineId": 123,
"companyMeasurement": 123,
"newMeasurement": 123
}
]
}
]
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify([
{
sizeRangeSizeId: 123,
designerComment: '<string>',
lines: [{lineId: 123, companyMeasurement: 123, newMeasurement: 123}]
}
])
};
fetch('https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements', 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://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements",
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([
[
'sizeRangeSizeId' => 123,
'designerComment' => '<string>',
'lines' => [
[
'lineId' => 123,
'companyMeasurement' => 123,
'newMeasurement' => 123
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements"
payload := strings.NewReader("[\n {\n \"sizeRangeSizeId\": 123,\n \"designerComment\": \"<string>\",\n \"lines\": [\n {\n \"lineId\": 123,\n \"companyMeasurement\": 123,\n \"newMeasurement\": 123\n }\n ]\n }\n]")
req, _ := http.NewRequest("PUT", url, payload)
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://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements")
.header("Content-Type", "application/json")
.body("[\n {\n \"sizeRangeSizeId\": 123,\n \"designerComment\": \"<string>\",\n \"lines\": [\n {\n \"lineId\": 123,\n \"companyMeasurement\": 123,\n \"newMeasurement\": 123\n }\n ]\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"sizeRangeSizeId\": 123,\n \"designerComment\": \"<string>\",\n \"lines\": [\n {\n \"lineId\": 123,\n \"companyMeasurement\": 123,\n \"newMeasurement\": 123\n }\n ]\n }\n]"
response = http.request(request)
puts response.read_body{
"status": "success",
"code": "<string>",
"data": [
{
"sizeRangeSizeId": 123,
"sizeRangeSizeName": "<string>",
"unit": "<string>",
"designerComment": "<string>",
"properties": [
"<string>"
],
"lines": [
{
"lineId": 123,
"name": "<string>",
"requestedMeasurement": 123,
"companyMeasurement": 123,
"supplierMeasurement": 123,
"newMeasurement": 123,
"tolerance": 123
}
]
}
]
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}Headers
Path Parameters
Identifier of the style the sample request belongs to.
Identifier of the sample request whose measured values are replaced.
Body
Identifier of the requested size this array entry writes, matching sizeRangeSizeId from the read.
The designer's fit comment for this size, text only. Written verbatim on a full replace, so seed it back from the read to preserve it. Null or empty clears it.
The writable measured values for each active line of this size. Must cover every active line of the size exactly once.
Show child attributes
Show child attributes
Response
OK
The coarse outcome of the request, indicating whether it succeeded or failed.
success, error The specific machine-readable outcome code, such as ok on success or the most specific error code on failure. Always lowercase on the wire.
The response payload, either a single object for a by-id read or an array for a bulk operation. Omitted from the body when there is no value.
Show child attributes
Show child attributes