curl --request GET \
--url https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}', 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://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"schemaId": "fWxzG4nqtpHsJxS5Lm3q",
"name": "Claim Status (Commercial)",
"requestType": "claim-status",
"resultsFields": [
{
"name": "checkNumber",
"label": "Check Number",
"description": "What is the check number?",
"type": "alphanumeric"
},
{
"name": "claimReceived",
"label": "Claim Received",
"description": "Did the payer receive the claim?",
"type": "boolean"
},
{
"name": "claimStatus",
"label": "Claim Status",
"description": "What is the status of the claim?",
"type": "multiple",
"allowedValues": [
"PAID",
"DENIED",
"PENDING"
]
},
{
"name": "paidAmount",
"label": "Paid Amount",
"description": "What amount was paid on the claim?",
"type": "dollar"
},
{
"name": "paidDate",
"label": "Paid Date",
"description": "On what date was the claim paid?",
"type": "date"
}
]
}Retrieve a schema
Returns the detail resource for one schema: its name, its requestType, and resultsFields — every field the schema can produce in results on GET /v1/requests/{requestId}. Use it to build an ingest mapping and a destination table before you run a request. Inputs are not included; use GET /v1/schemas/{schemaId}/required-inputs for what to send.
resultsFields is sorted by name. Each name matches the results key and the top-level missingFields entries exactly. callSteps[].missingFields is a different list — it falls back to raw question text for a skipped question that carries no alias — so do not join it against this inventory.
For this schema, the inventory is a superset of any one response. Most fields on a large schema are gated on another field’s answer, so they are absent on any given request. An unanswered field is absent from results; it is never null. Every column you build from this inventory must be nullable. Map on name, treat every field as optional, and ignore keys you do not map. The endpoint does not report which fields are gated.
A chained request can return keys beyond this schema. A request can open a follow-up leg: a second call against a different schema, visible as an extra callSteps entry. That leg’s captured values merge into the same top-level results under the leg schema’s own field names. resultsFields covers one schema and does not list them. Read callSteps[].schemaId on a completed request, then call this endpoint again for that id.
allowedValues is not a closed set. CANNOT ANSWER - <reason> passes through verbatim as a string on any type, including boolean and multiple, so a strict enum or boolean parse fails on it. Detect it by string prefix. It does not appear in missingFields: an explicit non-answer counts as answered.
Version drift. resultsFields describes the schema’s current latest version. A request that already ran was pinned to the version that was latest at run time. So an older request’s results can carry keys this endpoint no longer lists, or omit keys it now lists. Read the endpoint again and diff the field list to find a change.
curl --request GET \
--url https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}', 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://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/schemas/{schemaId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"schemaId": "fWxzG4nqtpHsJxS5Lm3q",
"name": "Claim Status (Commercial)",
"requestType": "claim-status",
"resultsFields": [
{
"name": "checkNumber",
"label": "Check Number",
"description": "What is the check number?",
"type": "alphanumeric"
},
{
"name": "claimReceived",
"label": "Claim Received",
"description": "Did the payer receive the claim?",
"type": "boolean"
},
{
"name": "claimStatus",
"label": "Claim Status",
"description": "What is the status of the claim?",
"type": "multiple",
"allowedValues": [
"PAID",
"DENIED",
"PENDING"
]
},
{
"name": "paidAmount",
"label": "Paid Amount",
"description": "What amount was paid on the claim?",
"type": "dollar"
},
{
"name": "paidDate",
"label": "Paid Date",
"description": "On what date was the claim paid?",
"type": "date"
}
]
}Authorizations
Bearer token obtained from the /v1/auth endpoint
Path Parameters
The schema ID (from GET /v1/schemas). Must be non-blank, ≤1500 characters, contain no /, and must not start with _ or ..
Response
Detail for the schema, including every field it can return in results.
Success response from GET /v1/schemas/{schemaId}. New keys may be added over time; ignore ones you do not recognise. Inputs are deliberately not included — see GET /v1/schemas/{schemaId}/required-inputs.
Echoes the path parameter.
Human-readable schema name, the same value as in GET /v1/schemas. Falls back to the schemaId when the schema sets no name.
The request type this schema produces (e.g. vob, claim-status), the same value as in GET /v1/schemas. Informational: derived from the schema, not something you supply on POST /v1/requests, which is keyed on schemaId.
Every field this schema can return in results, sorted by name, describing the schema's current latest version. Never empty: a schema with no readable fields returns 500. A superset of the keys any single request contributes from this schema. A chained request can also carry a follow-up schema's keys, which are not listed here.
Show child attributes
Show child attributes