{ "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" } ]}
Schemas
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.
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.
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
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SuperDial API","description":"Submit requests and retrieve results programmatically.","colors":{"primary":"#4a43cd","light":"#6544CC","dark":"#3b2675"},"logo":{"light":"https://mintcdn.com/superdial-9fcd9934/KzxamTIEifVDF1yv/logo/light.svg?fit=max\u0026auto=format\u0026n=KzxamTIEifVDF1yv\u0026q=85\u0026s=77c15b72582931c99c221ee72f68f1dc","dark":"https://mintcdn.com/superdial-9fcd9934/KzxamTIEifVDF1yv/logo/dark.svg?fit=max\u0026auto=format\u0026n=KzxamTIEifVDF1yv\u0026q=85\u0026s=0d69085283efe37ca944e43fde55fa59","href":"/"},"favicon":"https://mintcdn.com/superdial-9fcd9934/KzxamTIEifVDF1yv/favicon.svg?fit=max\u0026auto=format\u0026n=KzxamTIEifVDF1yv\u0026q=85\u0026s=5dd418d27df909620d22251ba70ab764","api":{"playground":{"display":"simple"}},"footer":{"socials":{}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"superdial-9fcd9934","hasAudioNarration":false,"actualSubdomain":"superdial-9fcd9934","customDomains":["docs.superdial.com"],"gitSource":{"type":"github","owner":"superbill-inc","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad7d53d09956394faa895bf","collectionId":"b7242a03-8e69-4fcc-8cdf-6fa9ecd0124e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad7d53d09956394faa895bf"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad7d53d09956394faa895bf","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Guides","count":11},{"language":"default","tag":"API Reference","count":8},{"language":"default","tag":"Requests","count":7},{"language":"default","tag":"Schemas","count":5},{"language":"default","tag":"Get Started","count":3},{"language":"default","tag":"Payers","count":2},{"language":"default","tag":"Migration","count":1},{"language":"default","tag":"Authentication","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/schemas/retrieve-a-schema","slug":"/api-reference/schemas/retrieve-a-schema","pageMetadata":{"title":"Retrieve a schema","description":"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.\n\n`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.\n\n**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.\n\n**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.\n\n**`allowedValues` is not a closed set.** `CANNOT ANSWER - \u003creason>` 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.\n\n**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.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/schemas/{schemaId}","href":"/api-reference/schemas/retrieve-a-schema","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Returns the detail resource for one schema: its \", _jsx(_components.code, {\n children: \"name\"\n }), \", its \", _jsx(_components.code, {\n children: \"requestType\"\n }), \", and \", _jsx(_components.code, {\n children: \"resultsFields\"\n }), \" — every field the schema can produce in \", _jsx(_components.code, {\n children: \"results\"\n }), \" on \", _jsx(_components.code, {\n children: \"GET /v1/requests/{requestId}\"\n }), \". Use it to build an ingest mapping and a destination table before you run a request. Inputs are not included; use \", _jsx(_components.code, {\n children: \"GET /v1/schemas/{schemaId}/required-inputs\"\n }), \" for what to send.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"resultsFields\"\n }), \" is sorted by \", _jsx(_components.code, {\n children: \"name\"\n }), \". Each \", _jsx(_components.code, {\n children: \"name\"\n }), \" matches the \", _jsx(_components.code, {\n children: \"results\"\n }), \" key and the top-level \", _jsx(_components.code, {\n children: \"missingFields\"\n }), \" entries exactly. \", _jsx(_components.code, {\n children: \"callSteps[].missingFields\"\n }), \" 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.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"For this schema, the inventory is a superset of any one response.\"\n }), \" 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 \", _jsx(_components.code, {\n children: \"results\"\n }), \"; it is never \", _jsx(_components.code, {\n children: \"null\"\n }), \". Every column you build from this inventory must be nullable. Map on \", _jsx(_components.code, {\n children: \"name\"\n }), \", treat every field as optional, and ignore keys you do not map. The endpoint does not report which fields are gated.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"A chained request can return keys beyond this schema.\"\n }), \" A request can open a follow-up leg: a second call against a different schema, visible as an extra \", _jsx(_components.code, {\n children: \"callSteps\"\n }), \" entry. That leg’s captured values merge into the same top-level \", _jsx(_components.code, {\n children: \"results\"\n }), \" under the leg schema’s own field names. \", _jsx(_components.code, {\n children: \"resultsFields\"\n }), \" covers one schema and does not list them. Read \", _jsx(_components.code, {\n children: \"callSteps[].schemaId\"\n }), \" on a completed request, then call this endpoint again for that id.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [_jsx(_components.code, {\n children: \"allowedValues\"\n }), \" is not a closed set.\"]\n }), \" \", _jsx(_components.code, {\n children: \"CANNOT ANSWER - \u003creason>\"\n }), \" passes through verbatim as a string on any type, including \", _jsx(_components.code, {\n children: \"boolean\"\n }), \" and \", _jsx(_components.code, {\n children: \"multiple\"\n }), \", so a strict enum or boolean parse fails on it. Detect it by string prefix. It does not appear in \", _jsx(_components.code, {\n children: \"missingFields\"\n }), \": an explicit non-answer counts as answered.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Version drift.\"\n }), \" \", _jsx(_components.code, {\n children: \"resultsFields\"\n }), \" 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 \", _jsx(_components.code, {\n children: \"results\"\n }), \" 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.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Retrieve a schema","description":"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.\n\n`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.\n\n**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.\n\n**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.\n\n**`allowedValues` is not a closed set.** `CANNOT ANSWER - \u003creason>` 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.\n\n**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.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/schemas/{schemaId}","href":"/api-reference/schemas/retrieve-a-schema","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Schemas"],"summary":"Retrieve a schema","description":"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.\n\n`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.\n\n**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.\n\n**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.\n\n**`allowedValues` is not a closed set.** `CANNOT ANSWER - \u003creason>` 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.\n\n**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.","security":["8a6053b2-54ec-46a1-bd33-b8375aff0b35"],"parameters":["06a9393e-903a-4752-8210-92bc53c5e509"],"responses":{"200":"5cd9759a-c9e2-4ee2-83d5-a25e325ac7e8","400":"14421dc3-e56d-4cc2-b03e-4d03eb729a4c","401":"f75d8fee-e279-4169-95bf-62d9f6919aa4","404":"63b9225b-38cb-4f3f-ae34-626f83572156","500":"aca37fa6-0bc1-4ae8-8096-a80afd1f0b31"},"method":"get","type":"path","servers":["c4b175c6-68d7-4f5a-a035-5b49b0403a76"],"path":"/v1/schemas/{schemaId}","baseUrlOptions":["https://robodialer-service-api-9nc4t1p9.uc.gateway.dev"],"title":"Retrieve a schema","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"06a9393e-903a-4752-8210-92bc53c5e509":{"name":"schemaId","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"The schema ID (from `GET /v1/schemas`). Must be non-blank, ≤1500 characters, contain no `/`, and must not start with `_` or `.`.","uniqueKey":"","typeLabel":"string"},"description":"The schema ID (from `GET /v1/schemas`). Must be non-blank, ≤1500 characters, contain no `/`, and must not start with `_` or `.`."}},"responses":{"5cd9759a-c9e2-4ee2-83d5-a25e325ac7e8":{"description":"Detail for the schema, including every field it can return in `results`.","content":{"application/json":{"schema":{"type":"object","description":"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`.","required":["schemaId","name","requestType","resultsFields"],"properties":{"schemaId":{"type":"string","description":"Echoes the path parameter.","isRequired":true,"uniqueKey":"schemaId","typeLabel":"string"},"name":{"type":"string","description":"Human-readable schema name, the same value as in `GET /v1/schemas`. Falls back to the `schemaId` when the schema sets no name.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"requestType":{"type":"string","description":"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`.","isRequired":true,"uniqueKey":"requestType","typeLabel":"string"},"resultsFields":{"type":"array","items":{"type":"object","description":"One field a schema can return. `name` is the key that carries this field's value in `results` on `GET /v1/requests/{requestId}`. Optional keys are omitted, never `null`.","required":["name","label"],"properties":{"name":{"type":"string","description":"The `results` key for this field, and the value used in the top-level `missingFields`. Always present.","isRequired":true,"uniqueKey":"resultsFields.items.[INDEX].name","typeLabel":"string"},"label":{"type":"string","description":"Human-readable display name. Falls back to `name` when the schema sets none. Always present.","isRequired":true,"uniqueKey":"resultsFields.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","description":"What the field captures, usually the question the agent asks. May contain literal `{placeholder}` tokens; those are input *names*, never values. Omitted when empty.","uniqueKey":"resultsFields.items.[INDEX].description","typeLabel":"string"},"type":{"type":"string","description":"Declared value type. Wire shapes: `boolean` → JSON `true`/`false`; `date` → ISO `yyyy-mm-dd` string; `dollar`, `number`, `percentage` → **bare-numeric string OR JSON number; accept both** (`dollar` carries no `$`); `multiple` → one of `allowedValues`; `text`, `alphanumeric`, `address`, `phoneNumber`, `faxNumber` → string. Those eleven are the full vocabulary. A schema can still declare a type outside the list, which is returned as-is, so treat an unrecognised `type` as an opaque string. A value of `CANNOT ANSWER - \u003creason>` can arrive as a string on any type, including `boolean` and `multiple`. Omitted when the schema declares no type.","uniqueKey":"resultsFields.items.[INDEX].type","typeLabel":"string"},"allowedValues":{"type":"array","items":{"type":"string","uniqueKey":"resultsFields.items.[INDEX].allowedValues.items.[INDEX]","typeLabel":"string"},"description":"The declared choices, present on `multiple` fields. **Not a closed set**: `CANNOT ANSWER - \u003creason>` can arrive instead. Omitted when the schema declares no choices.","uniqueKey":"resultsFields.items.[INDEX].allowedValues","typeLabel":"string[]"}},"uniqueKey":"resultsFields.items.[INDEX]","typeLabel":"object"},"description":"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.","isRequired":true,"uniqueKey":"resultsFields","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"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"}]},"examples":{"Example":{"title":"Example","value":{"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"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"14421dc3-e56d-4cc2-b03e-4d03eb729a4c":{"description":"Invalid `schemaId` path parameter (empty, contains `/`, starts with `_` or `.`, or exceeds 1500 characters).","content":{"application/json":{"schema":{"type":"object","description":"Uniform error envelope returned by every non-2xx response from `/v1/requests` and `/v1/schemas`. The `error` field is a stable machine-readable code; the `message` field is a human-readable description safe to surface to end users; `details` (optional) carries the structured `missingInputs` / `invalidInputs` block on the `INVALID_INPUTS` path. Unmatched paths and unsupported HTTP methods fall back to the framework's default response (typically HTML); use a documented endpoint and method to receive this envelope.","required":["error","message"],"properties":{"error":{"type":"string","enum":["INVALID_REQUEST","INVALID_INPUTS","PAYER_NOT_FOUND","ACCOUNT_NOT_FOUND","SCHEMA_NOT_FOUND","REQUEST_NOT_FOUND","INTERNAL_ERROR","PAYER_LOOKUP_FAILURE","PAYER_REQUIRED_INPUTS_DISABLED"],"description":"Machine-readable error code for the HTTP envelope. See [Creating a Request → Error handling](/guides/creating-a-request#error-handling) for what each code means, when it fires, and how to handle it.","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error description. Never contains stack traces or internal identifiers.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"**Optional.** Currently set only for `INVALID_INPUTS`, where it contains `missingInputs` (array of field names) and/or `invalidInputs` (object mapping field name to reason). See the [Input Validation](/guides/input-validation) guide for the full set of rules behind these reasons.","properties":{"missingInputs":{"type":"array","description":"Field names that were required but absent, null, or empty/whitespace-only.","items":{"type":"string","uniqueKey":"details.missingInputs.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.missingInputs","typeLabel":"string[]"},"invalidInputs":{"type":"object","description":"Maps each rejected field name to a human-readable reason (e.g. `phoneNumber is not a valid U.S. phone number`, `claimChargeAmount is scientific notation`, `memberId contains invalid characters (curly braces)`, or a member-ID structure message).","additionalProperties":{"type":"string","uniqueKey":"details.invalidInputs.additionalProperties","typeLabel":"string"},"uniqueKey":"details.invalidInputs","typeLabel":"object"}},"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"INVALID_REQUEST","message":"The provided schemaId is invalid."},"examples":{"Example":{"title":"Example","value":{"error":"INVALID_REQUEST","message":"The provided schemaId is invalid."}}},"exampleType":"examples"}},"exampleType":"examples"},"f75d8fee-e279-4169-95bf-62d9f6919aa4":{"description":"Unauthorized: enforced by the API gateway. Returned when the `Authorization: Bearer \u003ctoken>` header is missing, malformed, or the token is invalid/expired.","headers":{"WWW-Authenticate":{"description":"Bearer realm and (when applicable) error code per RFC 6750.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error envelope returned by the API Gateway for auth failures and routing errors. Distinct from the service's own `ApiError` envelope: gateway responses use `{code, message}` because they're produced before the request reaches the service.","properties":{"code":{"type":"integer","description":"HTTP status code, repeated in the body.","example":401,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","description":"Human-readable error message from the gateway.","example":"Jwt is missing","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"missingAuth":{"title":"missingAuth","value":{"code":401,"message":"Jwt is missing"}}},"exampleType":"examples"}},"exampleType":"examples"},"63b9225b-38cb-4f3f-ae34-626f83572156":{"description":"Schema not found, or account not found.","content":{"application/json":{"schema":{"type":"object","description":"Uniform error envelope returned by every non-2xx response from `/v1/requests` and `/v1/schemas`. The `error` field is a stable machine-readable code; the `message` field is a human-readable description safe to surface to end users; `details` (optional) carries the structured `missingInputs` / `invalidInputs` block on the `INVALID_INPUTS` path. Unmatched paths and unsupported HTTP methods fall back to the framework's default response (typically HTML); use a documented endpoint and method to receive this envelope.","required":["error","message"],"properties":{"error":{"type":"string","enum":["INVALID_REQUEST","INVALID_INPUTS","PAYER_NOT_FOUND","ACCOUNT_NOT_FOUND","SCHEMA_NOT_FOUND","REQUEST_NOT_FOUND","INTERNAL_ERROR","PAYER_LOOKUP_FAILURE","PAYER_REQUIRED_INPUTS_DISABLED"],"description":"Machine-readable error code for the HTTP envelope. See [Creating a Request → Error handling](/guides/creating-a-request#error-handling) for what each code means, when it fires, and how to handle it.","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error description. Never contains stack traces or internal identifiers.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"**Optional.** Currently set only for `INVALID_INPUTS`, where it contains `missingInputs` (array of field names) and/or `invalidInputs` (object mapping field name to reason). See the [Input Validation](/guides/input-validation) guide for the full set of rules behind these reasons.","properties":{"missingInputs":{"type":"array","description":"Field names that were required but absent, null, or empty/whitespace-only.","items":{"type":"string","uniqueKey":"details.missingInputs.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.missingInputs","typeLabel":"string[]"},"invalidInputs":{"type":"object","description":"Maps each rejected field name to a human-readable reason (e.g. `phoneNumber is not a valid U.S. phone number`, `claimChargeAmount is scientific notation`, `memberId contains invalid characters (curly braces)`, or a member-ID structure message).","additionalProperties":{"type":"string","uniqueKey":"details.invalidInputs.additionalProperties","typeLabel":"string"},"uniqueKey":"details.invalidInputs","typeLabel":"object"}},"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"schemaNotFound":{"title":"schemaNotFound","value":{"error":"SCHEMA_NOT_FOUND","message":"No schema with that ID exists for your account."}},"accountNotFound":{"title":"accountNotFound","value":{"error":"ACCOUNT_NOT_FOUND","message":"No account is associated with this API key. Contact support if you believe this is an error."}}},"exampleType":"examples"}},"exampleType":"examples"},"aca37fa6-0bc1-4ae8-8096-a80afd1f0b31":{"description":"Internal server error. Also returned when the schema's stored version record is unreadable or carries no fields. An empty inventory is never returned as a `200`.","content":{"application/json":{"schema":{"type":"object","description":"Uniform error envelope returned by every non-2xx response from `/v1/requests` and `/v1/schemas`. The `error` field is a stable machine-readable code; the `message` field is a human-readable description safe to surface to end users; `details` (optional) carries the structured `missingInputs` / `invalidInputs` block on the `INVALID_INPUTS` path. Unmatched paths and unsupported HTTP methods fall back to the framework's default response (typically HTML); use a documented endpoint and method to receive this envelope.","required":["error","message"],"properties":{"error":{"type":"string","enum":["INVALID_REQUEST","INVALID_INPUTS","PAYER_NOT_FOUND","ACCOUNT_NOT_FOUND","SCHEMA_NOT_FOUND","REQUEST_NOT_FOUND","INTERNAL_ERROR","PAYER_LOOKUP_FAILURE","PAYER_REQUIRED_INPUTS_DISABLED"],"description":"Machine-readable error code for the HTTP envelope. See [Creating a Request → Error handling](/guides/creating-a-request#error-handling) for what each code means, when it fires, and how to handle it.","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error description. Never contains stack traces or internal identifiers.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"**Optional.** Currently set only for `INVALID_INPUTS`, where it contains `missingInputs` (array of field names) and/or `invalidInputs` (object mapping field name to reason). See the [Input Validation](/guides/input-validation) guide for the full set of rules behind these reasons.","properties":{"missingInputs":{"type":"array","description":"Field names that were required but absent, null, or empty/whitespace-only.","items":{"type":"string","uniqueKey":"details.missingInputs.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.missingInputs","typeLabel":"string[]"},"invalidInputs":{"type":"object","description":"Maps each rejected field name to a human-readable reason (e.g. `phoneNumber is not a valid U.S. phone number`, `claimChargeAmount is scientific notation`, `memberId contains invalid characters (curly braces)`, or a member-ID structure message).","additionalProperties":{"type":"string","uniqueKey":"details.invalidInputs.additionalProperties","typeLabel":"string"},"uniqueKey":"details.invalidInputs","typeLabel":"object"}},"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"INTERNAL_ERROR","message":"An internal error occurred. Please try again or contact support if the problem persists."},"examples":{"Example":{"title":"Example","value":{"error":"INTERNAL_ERROR","message":"An internal error occurred. Please try again or contact support if the problem persists."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"8a6053b2-54ec-46a1-bd33-b8375aff0b35":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token obtained from the /v1/auth endpoint","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"c4b175c6-68d7-4f5a-a035-5b49b0403a76":{"url":"https://robodialer-service-api-9nc4t1p9.uc.gateway.dev","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer token obtained from the /v1/auth endpoint","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token obtained from the /v1/auth endpoint","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"superdial-9fcd9934","siteName":"SuperDial API","title":"Retrieve a schema - SuperDial API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-20T20:55:30.675Z","originalFileLocation":"api-reference/schemas/retrieve-a-schema.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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\u0026#x27;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\u0026#x27;s captured values merge into the same top-level results under the leg schema\u0026#x27;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 - 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\u0026#x27;s current latest version. A request that already ran was pinned to the version that was latest at run time. So an older request\u0026#x27;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.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SuperDial API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Retrieve a schema - SuperDial API\">\u003cmeta data-mint-head property=\"og:description\" content=\"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\u0026#x27;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\u0026#x27;s captured values merge into the same top-level results under the leg schema\u0026#x27;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 - 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\u0026#x27;s current latest version. A request that already ran was pinned to the version that was latest at run time. So an older request\u0026#x27;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.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SuperDial API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://superdial-9fcd9934.mintlify.app/_mintlify/api/og/v2?division=Schemas\u0026amp;title=Retrieve+a+schema\u0026amp;description=Returns+the+detail+resource+for+one+schema%3A+its+%60name%60%2C+its+%60requestType%60%2C+and+%60resultsFields%60+%E2%80%94+every+field+the+schema+can+produce+in+%60results%60+on+%60GET+%2Fv1%2Freq\u0026amp;theme=31448c6dd75f433e32c468d2\u0026amp;signature=7917ed2e1f11c6574425f86ee8ce12712add069cda93f86f747178dbdd1a12bf\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Retrieve a schema - SuperDial API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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\u0026#x27;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\u0026#x27;s captured values merge into the same top-level results under the leg schema\u0026#x27;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 - 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\u0026#x27;s current latest version. A request that already ran was pinned to the version that was latest at run time. So an older request\u0026#x27;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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://superdial-9fcd9934.mintlify.app/_mintlify/api/og/v2?division=Schemas\u0026amp;title=Retrieve+a+schema\u0026amp;description=Returns+the+detail+resource+for+one+schema%3A+its+%60name%60%2C+its+%60requestType%60%2C+and+%60resultsFields%60+%E2%80%94+every+field+the+schema+can+produce+in+%60results%60+on+%60GET+%2Fv1%2Freq\u0026amp;theme=31448c6dd75f433e32c468d2\u0026amp;signature=7917ed2e1f11c6574425f86ee8ce12712add069cda93f86f747178dbdd1a12bf\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/superdial-9fcd9934/6yMBfZH-oph9iQDr/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SuperDial API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4a43cd\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/schemas/retrieve-a-schema.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.superdial.com/#organization\",\"name\":\"SuperDial API\",\"url\":\"https://docs.superdial.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/superdial-9fcd9934/KzxamTIEifVDF1yv/logo/light.svg?fit=max\u0026auto=format\u0026n=KzxamTIEifVDF1yv\u0026q=85\u0026s=77c15b72582931c99c221ee72f68f1dc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.superdial.com#website\",\"name\":\"SuperDial API\",\"url\":\"https://docs.superdial.com\",\"publisher\":{\"@id\":\"https://docs.superdial.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema#webpage\",\"url\":\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema\",\"name\":\"Retrieve a schema\",\"description\":\"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 - 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.\",\"dateModified\":\"2026-10-20T20:55:30.675Z\",\"isPartOf\":{\"@id\":\"https://docs.superdial.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Schemas\",\"item\":\"https://docs.superdial.com/api-reference/schemas/list-schemas\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Retrieve a schema\",\"item\":\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema#apireference\",\"headline\":\"Retrieve a schema\",\"name\":\"Retrieve a schema\",\"description\":\"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 - 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.\",\"url\":\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema\",\"mainEntityOfPage\":{\"@id\":\"https://docs.superdial.com/api-reference/schemas/retrieve-a-schema#webpage\"},\"dateModified\":\"2026-10-20T20:55:30.675Z\",\"publisher\":{\"@id\":\"https://docs.superdial.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.superdial.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SuperDial API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SuperDial API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Authentication","pages":[{"title":"Authenticate and get token","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/auth","href":"/api-reference/authentication/authenticate-and-get-token"}]},{"group":"Schemas","pages":[{"title":"List schemas","description":"Returns the schemas provisioned for your account. Each row carries a `requestType` (e.g. `claim-status`, `vob`) that identifies the kind of extraction the schema performs. Schemas that are no longer accessible for your account are filtered out.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/schemas","href":"/api-reference/schemas/list-schemas"},{"title":"Retrieve a schema","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/schemas/{schemaId}","href":"/api-reference/schemas/retrieve-a-schema"},{"title":"Required inputs for a schema","description":"Returns the input keys this schema declares: those required to submit a request against it, and those it accepts but does not require. Field names are returned verbatim. Use them as the keys of the `inputs` object on `POST /v1/requests`. Lists are sorted. Neither list constrains `inputs`: additional keys outside both are accepted and passed to the call as context. This is the baseline: if your account is enabled for per-payer required inputs, some payers require additional fields not listed here, reported as `INVALID_INPUTS` on `POST /v1/requests`.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/schemas/{schemaId}/required-inputs","href":"/api-reference/schemas/required-inputs-for-a-schema"},{"title":"Resolve payer names against a schema's required inputs","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/schemas/{schemaId}/required-payer-inputs","href":"/api-reference/schemas/resolve-payer-names-against-a-schemas-required-inputs"}]},{"group":"Requests","pages":[{"title":"List Requests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/requests","href":"/api-reference/requests/list-requests"},{"title":"Create a Request","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/requests","href":"/api-reference/requests/create-a-request"},{"title":"Retrieve a Request","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/requests/{requestId}","href":"/api-reference/requests/retrieve-a-request"}]}]}]},"basePath":"","title":"Retrieve a schema - SuperDial API","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}