Skip to main content

Get Result

Poll for research scrutinizer report status and retrieve the download URL when processing is complete.

Request Parameters

ParameterTypeRequiredDescription
reportIdstringYesReport ID from Create Report response

Response Fields

FieldTypeDescription
reportIdstringUnique report identifier
statusstringReport status: "pending", "processing", "completed", or "failed"
reportUrlstringDownload URL (only when status is "completed")

Status Values

  • pending: Report queued for processing
  • processing: AI is analyzing research documents
  • completed: Report ready for download
  • failed: Report generation failed (check error logs)

Examples

Polling for Completion

import (
"time"
"github.com/silentwitness/go-sdk"
)

silentwitness.Key = "sk_test_..."

reportId := "rs_xyz789"

// Poll until completed
for {
result, err := silentwitness.ResearchScrutinizer.GetResult(ctx, &silentwitness.GetResearchScrutinizerResultRequest{
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 10 seconds before checking again
time.Sleep(10 * time.Second)
}

Single Status Check

import "github.com/silentwitness/go-sdk"

silentwitness.Key = "sk_test_..."

result, err := silentwitness.ResearchScrutinizer.GetResult(ctx, &silentwitness.GetResearchScrutinizerResultRequest{
ReportId: "rs_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)
}

Errors

CodeDescription
NOT_FOUNDReport ID not found
PERMISSION_DENIEDReport not accessible by this account
UNAUTHENTICATEDInvalid or missing API key