Get Result
Poll for cross examination report status and retrieve the download URL when processing is complete.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
reportId | string | Yes | Report ID from Create Report response |
Response Fields
| Field | Type | Description |
|---|---|---|
reportId | string | Unique report identifier |
status | string | Report status: "pending", "processing", "completed", or "failed" |
reportUrl | string | Download URL (only when status is "completed") |
Status Values
- pending: Report queued for processing
- processing: AI is generating cross examination questions
- completed: Report ready for download
- failed: Report generation failed (check error logs)
Examples
Polling for Completion
- Go
- TypeScript
import (
"time"
"github.com/silentwitness/go-sdk"
)
silentwitness.Key = "sk_test_..."
reportId := "ceq_xyz789"
// Poll until completed
for {
result, err := silentwitness.CrossExamination.GetResult(ctx, &silentwitness.GetCrossExaminationResultRequest{
ReportId: reportId,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Status: %s\n", result.Status)
if result.Status == "completed" {
fmt.Printf("Report URL: %s\n", *result.ReportUrl)
break
}
if result.Status == "failed" {
log.Fatal("Report generation failed")
}
// Wait 5 seconds before checking again
time.Sleep(5 * time.Second)
}
import { setApiKey, getCrossExaminationResult } from "@silentwitness/typescript-sdk";
setApiKey("sk_test_...");
const reportId = "ceq_xyz789";
// Poll until completed
while (true) {
const result = await getCrossExaminationResult({ reportId });
console.log(`Status: ${result.status}`);
if (result.status === "completed") {
console.log(`Report URL: ${result.reportUrl}`);
break;
}
if (result.status === "failed") {
throw new Error("Report generation failed");
}
// Wait 5 seconds before checking again
await new Promise(resolve => setTimeout(resolve, 5000));
}
Single Status Check
- Go
- TypeScript
import "github.com/silentwitness/go-sdk"
silentwitness.Key = "sk_test_..."
result, err := silentwitness.CrossExamination.GetResult(ctx, &silentwitness.GetCrossExaminationResultRequest{
ReportId: "ceq_xyz789",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Status: %s\n", result.Status)
if result.Status == "completed" && result.ReportUrl != nil {
fmt.Printf("Download: %s\n", *result.ReportUrl)
}
import { setApiKey, getCrossExaminationResult } from "@silentwitness/typescript-sdk";
setApiKey("sk_test_...");
const result = await getCrossExaminationResult({
reportId: "ceq_xyz789"
});
console.log(`Status: ${result.status}`);
if (result.status === "completed" && result.reportUrl) {
console.log(`Download: ${result.reportUrl}`);
}
Errors
| Code | Description |
|---|---|
NOT_FOUND | Report ID not found |
PERMISSION_DENIED | Report not accessible by this account |
UNAUTHENTICATED | Invalid or missing API key |