curl --request POST \
--url https://api.duvo.ai/v2/queues/{queue_id}/json-schema \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"schema": {}
}
'import requests
url = "https://api.duvo.ai/v2/queues/{queue_id}/json-schema"
payload = {
"name": "<string>",
"schema": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', schema: {}})
};
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 => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'schema' => [
]
]),
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 \"name\": \"<string>\",\n \"schema\": {}\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.duvo.ai/v2/queues/{queue_id}/json-schema")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"schema\": {}\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::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"schema\": {}\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>"
}
]
}Create Queue Json Schema
Declare a queue’s first Case schema by hand, so a person can type a queue up front instead of waiting for its producing agent to declare the shape. Fails if the queue already has a schema — replace an existing one with PUT. 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 POST \
--url https://api.duvo.ai/v2/queues/{queue_id}/json-schema \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"schema": {}
}
'import requests
url = "https://api.duvo.ai/v2/queues/{queue_id}/json-schema"
payload = {
"name": "<string>",
"schema": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', schema: {}})
};
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 => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'schema' => [
]
]),
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 \"name\": \"<string>\",\n \"schema\": {}\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.duvo.ai/v2/queues/{queue_id}/json-schema")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"schema\": {}\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::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"schema\": {}\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 human-readable name for the Case schema (1–100 characters).
1 - 100A 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
Was this page helpful?