curl --request PUT \
--url https://api.duvo.ai/v2/queues/{queue_id}/json-schema \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"schema": {},
"change_summary": "<string>",
"expected_schema_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.duvo.ai/v2/queues/{queue_id}/json-schema"
payload = {
"schema": {},
"change_summary": "<string>",
"expected_schema_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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({
schema: {},
change_summary: '<string>',
expected_schema_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.duvo.ai/v2/queues/{queue_id}/json-schema', 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.duvo.ai/v2/queues/{queue_id}/json-schema",
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([
'schema' => [
],
'change_summary' => '<string>',
'expected_schema_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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.duvo.ai/v2/queues/{queue_id}/json-schema"
payload := strings.NewReader("{\n \"schema\": {},\n \"change_summary\": \"<string>\",\n \"expected_schema_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.duvo.ai/v2/queues/{queue_id}/json-schema")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"schema\": {},\n \"change_summary\": \"<string>\",\n \"expected_schema_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.duvo.ai/v2/queues/{queue_id}/json-schema")
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 \"schema\": {},\n \"change_summary\": \"<string>\",\n \"expected_schema_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"guarded": true,
"schema": {
"family_id": "<string>",
"family_name": "<string>",
"schema_id": "<string>",
"version": 123,
"schema": {},
"fields": [
{
"path": "<string>",
"types": [
"<string>"
],
"required": true
}
],
"change_summary": "<string>",
"created_at": "<string>",
"frozen": true
}
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Replace Queue Json Schema
Replace a queue’s Case schema with a new version. Every declared field is frozen against automated change, so this is the only way one can be edited. Every object schema, including nested objects, must set additionalProperties to false or the request fails with 400 “Object schemas must set additionalProperties to false”.
curl --request PUT \
--url https://api.duvo.ai/v2/queues/{queue_id}/json-schema \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"schema": {},
"change_summary": "<string>",
"expected_schema_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.duvo.ai/v2/queues/{queue_id}/json-schema"
payload = {
"schema": {},
"change_summary": "<string>",
"expected_schema_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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({
schema: {},
change_summary: '<string>',
expected_schema_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.duvo.ai/v2/queues/{queue_id}/json-schema', 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.duvo.ai/v2/queues/{queue_id}/json-schema",
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([
'schema' => [
],
'change_summary' => '<string>',
'expected_schema_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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.duvo.ai/v2/queues/{queue_id}/json-schema"
payload := strings.NewReader("{\n \"schema\": {},\n \"change_summary\": \"<string>\",\n \"expected_schema_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.duvo.ai/v2/queues/{queue_id}/json-schema")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"schema\": {},\n \"change_summary\": \"<string>\",\n \"expected_schema_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.duvo.ai/v2/queues/{queue_id}/json-schema")
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 \"schema\": {},\n \"change_summary\": \"<string>\",\n \"expected_schema_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"guarded": true,
"schema": {
"family_id": "<string>",
"family_name": "<string>",
"schema_id": "<string>",
"version": 123,
"schema": {},
"fields": [
{
"path": "<string>",
"types": [
"<string>"
],
"required": true
}
],
"change_summary": "<string>",
"created_at": "<string>",
"frozen": true
}
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"validationErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
API key authentication. Get your API key from the Duvo dashboard.
Path Parameters
The queue's unique identifier
Body
A JSON Schema 2020-12 subset. The root must have type "object"; every object schema, including nested objects, must set additionalProperties to false or the request fails with 400 "Object schemas must set additionalProperties to false". Allowed types: object, array, string, number, integer, boolean, null. Allowed keywords: $schema, $defs, $ref, type, properties, required, additionalProperties, items, enum, const, description, format, minimum, maximum, minLength, maxLength, minItems, maxItems. Allowed formats: date, date-time, email, uuid. Property names must match /^[A-Za-z_][A-Za-z0-9_]{0,63}$/, and every array needs items. Schemas are limited to 65,536 bytes, 16 nested levels, and 256 declared or expanded fields; case JSON payloads are limited to 8 MiB and 10,000 items per array. Minimal valid example: {"type":"object","additionalProperties":false,"properties":{}}.
Show child attributes
Show child attributes
A short note about what changed and why (1–500 characters).
1 - 500Only replace the schema if its current ID matches this value.
Was this page helpful?