Skip to main content

Create Report

Limited Access

This feature is currently available to select partners only. Contact us to request access.

Create a new cross examination questions report by uploading expert CVs and depositions along with case parameters. Cross-examination reports use the unified CreateReport API with the CrossExamination parameter.

ExpertData Structure

Each expert witness includes the following fields:

FieldTypeRequiredDescription
disciplinestringYes"accident_reconstruction", "biomechanics", or "both"
cvFileIdstringNo*File ID for expert's CV (uploaded via Files API)
depositionFileIdstringNo*File ID for expert's deposition transcript

*At least one file (CV or deposition) is required per expert

Request Parameters

ParameterTypeRequiredDescription
caseIdstringYesCase ID to associate the report with
typeReportTypeYesMust be cross_examination
crossExaminationCrossExaminationParamsYesCross-examination specific parameters

CrossExaminationParams

FieldTypeRequiredDescription
attorneySidestringYes"plaintiff" or "defense"
proceedingTypestringYes"deposition" or "trial"
questionSpecificitystringYes"general" or "general_and_specific"
expertsExpertData[]YesArray of expert witness data (1-10 experts)

Response

Returns:

  • reportId: Report identifier for status polling

Examples

Single Expert - Biomechanics

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

client := silentwitness.NewClient(silentwitness.Config{
APIKey: os.Getenv("SW_API_KEY"),
})
defer client.Close()

// First, upload expert files
cvFile, err := client.UploadFile(ctx, &silentwitness.UploadFileParams{
CaseID: "case_xyz789",
Filename: "expert_cv.pdf",
Content: cvBytes,
Purpose: silentwitness.FilePurposeCrossExamCV,
})

depositionFile, err := client.UploadFile(ctx, &silentwitness.UploadFileParams{
CaseID: "case_xyz789",
Filename: "expert_deposition.pdf",
Content: depositionBytes,
Purpose: silentwitness.FilePurposeCrossExamDeposition,
})

// Create cross examination report
response, err := client.CreateReport(ctx, &silentwitness.CreateReportParams{
CaseID: "case_xyz789",
Type: silentwitness.ReportTypeCrossExamination,
CrossExamination: &silentwitness.CrossExaminationReportParams{
AttorneySide: "plaintiff",
ProceedingType: "deposition",
QuestionSpecificity: "general_and_specific",
Experts: []silentwitness.ExpertDataParams{
{
Discipline: "biomechanics",
CVFileID: silentwitness.String(cvFile.FileID),
DepositionFileID: silentwitness.String(depositionFile.FileID),
},
},
},
})
if err != nil {
log.Fatal(err)
}

fmt.Printf("Report ID: %s\n", response.ReportID)

Multiple Experts - Different Disciplines

// Upload files for multiple experts
bioCV, _ := client.UploadFile(ctx, &silentwitness.UploadFileParams{
CaseID: "case_xyz789",
Filename: "biomechanics_expert_cv.pdf",
Content: bioCVBytes,
Purpose: silentwitness.FilePurposeCrossExamCV,
})

arCV, _ := client.UploadFile(ctx, &silentwitness.UploadFileParams{
CaseID: "case_xyz789",
Filename: "accident_recon_cv.pdf",
Content: arCVBytes,
Purpose: silentwitness.FilePurposeCrossExamCV,
})

arDepo, _ := client.UploadFile(ctx, &silentwitness.UploadFileParams{
CaseID: "case_xyz789",
Filename: "accident_recon_deposition.pdf",
Content: arDepoBytes,
Purpose: silentwitness.FilePurposeCrossExamDeposition,
})

// Create report for multiple experts
response, err := client.CreateReport(ctx, &silentwitness.CreateReportParams{
CaseID: "case_xyz789",
Type: silentwitness.ReportTypeCrossExamination,
CrossExamination: &silentwitness.CrossExaminationReportParams{
AttorneySide: "defense",
ProceedingType: "trial",
QuestionSpecificity: "general",
Experts: []silentwitness.ExpertDataParams{
{
Discipline: "biomechanics",
CVFileID: silentwitness.String(bioCV.FileID),
},
{
Discipline: "accident_reconstruction",
CVFileID: silentwitness.String(arCV.FileID),
DepositionFileID: silentwitness.String(arDepo.FileID),
},
},
},
})
if err != nil {
log.Fatal(err)
}

fmt.Printf("Report ID: %s\n", response.ReportID)

File Purpose Values

When uploading expert documents, use these purpose values:

PurposeGo ConstantDescription
cross_exam_expert_cvFilePurposeCrossExamCVExpert curriculum vitae or resume
cross_exam_expert_depositionFilePurposeCrossExamDepositionExpert deposition transcript

Errors

CodeDescription
INVALID_ARGUMENTInvalid parameters, missing required fields, or wrong file purposes
NOT_FOUNDCase or file IDs not found
PERMISSION_DENIEDFiles or case not accessible by this account
RESOURCE_EXHAUSTEDRate limit exceeded
UNAUTHENTICATEDInvalid or missing API key

Next Steps

After creating a report, poll for completion: