curl --request PUT \
--url https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/sample-types \
--header 'Content-Type: application/json' \
--data '
[
{
"id": 123,
"name": "<string>",
"commentDeadline": 123,
"position": 123,
"notifySettings": []
}
]
'import requests
url = "https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/sample-types"
payload = [
{
"id": 123,
"name": "<string>",
"commentDeadline": 123,
"position": 123,
"notifySettings": []
}
]
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([
{
id: 123,
name: '<string>',
commentDeadline: 123,
position: 123,
notifySettings: []
}
])
};
fetch('https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/sample-types', 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/sample-types",
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([
[
'id' => 123,
'name' => '<string>',
'commentDeadline' => 123,
'position' => 123,
'notifySettings' => [
]
]
]),
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/sample-types"
payload := strings.NewReader("[\n {\n \"id\": 123,\n \"name\": \"<string>\",\n \"commentDeadline\": 123,\n \"position\": 123,\n \"notifySettings\": []\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/sample-types")
.header("Content-Type", "application/json")
.body("[\n {\n \"id\": 123,\n \"name\": \"<string>\",\n \"commentDeadline\": 123,\n \"position\": 123,\n \"notifySettings\": []\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/sample-types")
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 \"id\": 123,\n \"name\": \"<string>\",\n \"commentDeadline\": 123,\n \"position\": 123,\n \"notifySettings\": []\n }\n]"
response = http.request(request)
puts response.read_body{
"status": "success",
"code": "<string>",
"data": [
{
"id": 123,
"name": "<string>",
"state": "active",
"commentDeadline": 123,
"position": 123,
"notifySettings": [
"requested"
],
"properties": [
"<string>"
]
}
]
}{
"status": "success",
"code": "<string>",
"error": {
"operation": "<string>",
"total_items": 123,
"failed_items": 123,
"summary": "<string>",
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"operation": "<string>",
"total_items": 123,
"failed_items": 123,
"summary": "<string>",
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"operation": "<string>",
"total_items": 123,
"failed_items": 123,
"summary": "<string>",
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"operation": "<string>",
"total_items": 123,
"failed_items": 123,
"summary": "<string>",
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}Bulk-update (full replace) / bulk-delete sample types
Updates one or more sample types in a single transaction. PUT is a full replace: every field on each item is written verbatim (name and state required; commentDeadline null clears; notifySettings null/empty clears to ‘no statuses notify’) — use PATCH for partial updates. Items whose body carries state=deleted are hard-deleted instead (REST §4.3 state-change bulk-delete) and need only an id; update and delete items may be mixed in the same array. Any per-item failure rolls back the entire batch. A row that exists in no organization yields a per-index 404; a row that exists but belongs to a different organization yields a per-index 403, with not-found taking precedence over cross-org across the batch. Deleted rows are returned with state=deleted in the response (the row itself is gone).
curl --request PUT \
--url https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/sample-types \
--header 'Content-Type: application/json' \
--data '
[
{
"id": 123,
"name": "<string>",
"commentDeadline": 123,
"position": 123,
"notifySettings": []
}
]
'import requests
url = "https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/sample-types"
payload = [
{
"id": 123,
"name": "<string>",
"commentDeadline": 123,
"position": 123,
"notifySettings": []
}
]
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([
{
id: 123,
name: '<string>',
commentDeadline: 123,
position: 123,
notifySettings: []
}
])
};
fetch('https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/sample-types', 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/sample-types",
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([
[
'id' => 123,
'name' => '<string>',
'commentDeadline' => 123,
'position' => 123,
'notifySettings' => [
]
]
]),
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/sample-types"
payload := strings.NewReader("[\n {\n \"id\": 123,\n \"name\": \"<string>\",\n \"commentDeadline\": 123,\n \"position\": 123,\n \"notifySettings\": []\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/sample-types")
.header("Content-Type", "application/json")
.body("[\n {\n \"id\": 123,\n \"name\": \"<string>\",\n \"commentDeadline\": 123,\n \"position\": 123,\n \"notifySettings\": []\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/api/sample-types")
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 \"id\": 123,\n \"name\": \"<string>\",\n \"commentDeadline\": 123,\n \"position\": 123,\n \"notifySettings\": []\n }\n]"
response = http.request(request)
puts response.read_body{
"status": "success",
"code": "<string>",
"data": [
{
"id": 123,
"name": "<string>",
"state": "active",
"commentDeadline": 123,
"position": 123,
"notifySettings": [
"requested"
],
"properties": [
"<string>"
]
}
]
}{
"status": "success",
"code": "<string>",
"error": {
"operation": "<string>",
"total_items": 123,
"failed_items": 123,
"summary": "<string>",
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"operation": "<string>",
"total_items": 123,
"failed_items": 123,
"summary": "<string>",
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"operation": "<string>",
"total_items": 123,
"failed_items": 123,
"summary": "<string>",
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"operation": "<string>",
"total_items": 123,
"failed_items": 123,
"summary": "<string>",
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}{
"status": "success",
"code": "<string>",
"error": {
"details": [
{
"type": "<string>",
"field": "<string>",
"value": "<string>"
}
]
}
}Headers
Body
Unique identifier of the sample type to update or delete in this batch item.
Display name of the sample type. Required and non-empty on a full-replace PUT and preserved by a PATCH that does not touch it. It must not contain a dot.
Lifecycle state of the sample type to set on update. Required on a full-replace PUT and cannot be removed by a PATCH.
active, inactive, deleted Number of days after the sample is received within which comments should be posted. On a PUT, null or omitted clears the deadline; a PATCH preserves it unless the field is touched.
Server-controlled 1-based display order among the organization's sample types. It must be null or omitted on writes; a non-null value is rejected.
Sample-request statuses that trigger a supplier-contact notification. On a PUT, null or empty clears all and a non-empty list sets exactly those; a PATCH preserves the set unless touched.
requested, sent, received, commented, cancelled, confirmed, planned 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