curl --request GET \
--url https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/requests/{requestId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/requests/{requestId}"
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/requests/{requestId}', 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/requests/{requestId}",
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/requests/{requestId}"
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/requests/{requestId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/requests/{requestId}")
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{
"requestId": "8bF7xK2mP9qR4sT6uV0w",
"requestBatchId": "pH9kJ2lM4nB6vC8xZ7Qr",
"schemaId": "fWxzG4nqtpHsJxS5Lm3q",
"requestType": "claim-status",
"state": "SUCCESS",
"inputs": {
"payerName": "Sample Insurance Co",
"memberId": "TEST123456789",
"patientFirstName": "Sample",
"patientLastName": "Patient",
"patientDateOfBirth": "1990-01-15",
"beginningDateOfService": "2026-03-15",
"billingProviderName": "Test Clinic LLC",
"billingProviderTaxId": "999999999",
"renderingProviderName": "Dr Test Provider",
"renderingProviderNpi": "1234567890",
"claimChargeAmount": "150.00",
"phoneNumber": "2125551234"
},
"results": {
"claimStatus": "PAID",
"paidAmount": "150.00",
"checkNumber": "CHK998877",
"paidDate": "2026-04-10"
},
"missingFields": [],
"dateCreated": "2026-04-24T15:30:00.123456+00:00",
"completedAt": "2026-04-24T15:32:18.987654+00:00",
"dueDate": "2026-04-25T23:00:00+00:00",
"internalId": "claim_internal_001",
"internalTag": "march-batch",
"modality": "phone_only",
"data_completeness": null,
"error": null,
"to": "+12125551234",
"transcript": "SuperDial Agent: Hi, I'm calling to check on a claim status for member TEST123456789.\nRepresentative: Let me look that up for you...",
"recordingDownloadUrl": "https://storage.googleapis.com/sd-recordings/.../recording.mp3?X-Goog-Signature=...",
"callDuration": "00:08:42",
"callSummary": "Verified claim status as PAID. Check #CHK998877 issued on 2026-04-10 for $150.00.",
"callAuditSummary": "All claim status questions answered. Representative confirmed paid amount and check number."
}Retrieve a Request
Fetch details for a request by ID.
curl --request GET \
--url https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/requests/{requestId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/requests/{requestId}"
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/requests/{requestId}', 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/requests/{requestId}",
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/requests/{requestId}"
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/requests/{requestId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://robodialer-service-api-9nc4t1p9.uc.gateway.dev/v1/requests/{requestId}")
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{
"requestId": "8bF7xK2mP9qR4sT6uV0w",
"requestBatchId": "pH9kJ2lM4nB6vC8xZ7Qr",
"schemaId": "fWxzG4nqtpHsJxS5Lm3q",
"requestType": "claim-status",
"state": "SUCCESS",
"inputs": {
"payerName": "Sample Insurance Co",
"memberId": "TEST123456789",
"patientFirstName": "Sample",
"patientLastName": "Patient",
"patientDateOfBirth": "1990-01-15",
"beginningDateOfService": "2026-03-15",
"billingProviderName": "Test Clinic LLC",
"billingProviderTaxId": "999999999",
"renderingProviderName": "Dr Test Provider",
"renderingProviderNpi": "1234567890",
"claimChargeAmount": "150.00",
"phoneNumber": "2125551234"
},
"results": {
"claimStatus": "PAID",
"paidAmount": "150.00",
"checkNumber": "CHK998877",
"paidDate": "2026-04-10"
},
"missingFields": [],
"dateCreated": "2026-04-24T15:30:00.123456+00:00",
"completedAt": "2026-04-24T15:32:18.987654+00:00",
"dueDate": "2026-04-25T23:00:00+00:00",
"internalId": "claim_internal_001",
"internalTag": "march-batch",
"modality": "phone_only",
"data_completeness": null,
"error": null,
"to": "+12125551234",
"transcript": "SuperDial Agent: Hi, I'm calling to check on a claim status for member TEST123456789.\nRepresentative: Let me look that up for you...",
"recordingDownloadUrl": "https://storage.googleapis.com/sd-recordings/.../recording.mp3?X-Goog-Signature=...",
"callDuration": "00:08:42",
"callSummary": "Verified claim status as PAID. Check #CHK998877 issued on 2026-04-10 for $150.00.",
"callAuditSummary": "All claim status questions answered. Representative confirmed paid amount and check number."
}Authorizations
Bearer token obtained from the /v1/auth endpoint
Path Parameters
The request ID
Response
Request retrieved successfully. Single-request reads include phone-call enrichment fields (transcript, recordingDownloadUrl, etc.) when a representative call has completed.
The request's inputs, echoed back exactly as submitted on POST /v1/requests, including any additional keys outside the schema's required and optional lists. Values are strings.
Structured request output fields. Empty {} on PROCESSING and FAILURE; partially populated on PARTIAL; fully populated on SUCCESS.
Schema fields the request was unable to obtain. Populated on PARTIAL and FAILURE requests where extraction ran but came up short.
Time the request was created, ISO-8601 with UTC offset (e.g. "2026-04-24T15:30:00.123456+00:00").
Time the request reached a terminal state (SUCCESS, PARTIAL, or FAILURE). null while the request is still PROCESSING.
Date this request is scheduled to run, as an ISO-8601 timestamp (e.g. "2026-05-08T03:00:00+00:00"). Set at submission time based on your account's daily call capacity and any work already pending. null when no due date is set.
Optional. Echoed back from the request body if you supplied one at create time. The key is always present in this response (as null when not supplied), unlike on webhook payloads where the key is omitted entirely.
Optional. Echoed back from the request body if you supplied one at create time. The key is always present in this response (as null when not supplied), unlike on webhook payloads where the key is omitted entirely.
Completeness tier of a digital-only result. See data_completeness for current and reserved values.
minimum Structured error details. Populated on FAILURE; null on PROCESSING, SUCCESS, and PARTIAL (a PARTIAL request's primary call effort succeeded, so it has no single failure cause: use missingFields). See error object for the schema and the full errorCode taxonomy.
Show child attributes
Show child attributes
Payer/phone lookup for this request: the same six-field block returned on the POST /v1/requests create response. phoneNumberToUse is the number dialed; phoneNumberSource says where it came from. matched* fields are populated only when SuperDial dialed its own matched number.
Show child attributes
Show child attributes
The phone number that was dialed, echoed back in sanitized form. Present only once a representative phone call has completed (any terminal state), and only when the number was one you supplied (payerLookup.phoneNumberSource is input). When SuperDial dialed a number from its own payer directory (superdial or phoneBook), to is omitted; read the number from payerLookup.phoneNumberToUse instead, which is populated in every case and is also available before the call completes.
Full call transcript. Present only when a representative phone call has completed.
Signed URL for the call recording. Present only when a phone call has completed and a recording exists. The URL is short-lived: it expires 7 days after it is issued, and sooner on accounts configured for a shorter window. Download the recording rather than storing the URL, and fetch the request again if you need a fresh one.
Call duration in HH:MM:SS format. Present only when a phone call has completed and recording length data exists.
Optional. Outbound caller number (E.164): the line the call originated from. Present only when a phone call has completed AND your account has outbound-number visibility enabled. Contact your account team to turn this on.
AI-generated call summary. Present only when a representative phone call has completed.
AI-generated audit summary. Present only when a representative phone call has completed.
Prose summary of results for a SUCCESS or PARTIAL request that finished without a phone call (the electronic-only path). A phone-backed request carries callSummary instead. Null otherwise. Not a per-account setting, but a request only finishes without a phone call when electronic channels are enabled for your account, so this stays null on phone-only accounts.
Optional. One entry per dial attempt on the request's primary phone call. Does not span follow-up legs; see contributingCalls for those. Returned on the single-request read only, on a completed phone call, and only when your account has attempt details enabled. Contact your account team to turn this on.
Show child attributes
Show child attributes
Optional. Script version used for the call. Present only when a phone call has completed AND your account has script-version visibility enabled.
Optional. Whether the winning attempt was handled by the AI agent (true) or a human (false). Returned on the single-request read only, and only when your account has compliance fields enabled.
Optional. Attempt counts by type. Returned on the single-request read only, and only when your account has compliance fields enabled.
Show child attributes
Show child attributes
Optional. Audit metadata. Returned on the single-request read only, and only when your account has compliance fields enabled.
Show child attributes
Show child attributes
The individual phone calls behind this request's results: one entry per call, in the order they were placed. This is the detailed counterpart to the callSteps summary: each entry carries that one call's transcript, recording, duration, summary, and captured fields, plus a call sequence number and a callStep tying it to the step it belongs to. A request usually completes in one call but can take more (see Calls behind a request). Present only on the single-request read (GET /v1/requests/{requestId}) of a SUCCESS or PARTIAL request fulfilled by at least one phone call, a single-call request included. Omitted when no phone call produced a value (e.g. a digital_only result), and not returned by the list endpoint.
Show child attributes
Show child attributes
The steps SuperDial worked through to complete this request: a summary, one entry per step. Each step gathers one schema's fields and reports its own outcome. A request usually has a single step, but can have more, for example verifying benefits and then checking prior authorization on a separate call (see Calls behind a request). A single step can itself involve more than one call (a redial); numContributingCalls reports how many. This summarizes what was gathered; the captured values live in the top-level results, and the individual calls behind each step are in contributingCalls (tied back by callStep). Present on the single-request read (GET /v1/requests/{requestId}) of a completed phone request in any state: SUCCESS, PARTIAL, or FAILURE; the per-call contributingCalls/resultSources breakdown is added on SUCCESS and PARTIAL. Omitted for digital_only results, and not returned by the list endpoint.
Show child attributes
Show child attributes
Maps each field in results to the call number (contributingCalls[].call) of the phone call that produced its final value. Useful when a request spanned more than one call and you want to know which call each answer came from. Fields with no phone-call source (e.g. digital_only values) are omitted. Present alongside contributingCalls on the single-request read.
Show child attributes
Show child attributes