Skip to main content

Report request

Steps​

  1. Get a template ID from intelligenceReportTemplates.
  2. Call requestCompanyIntelligenceReport with companyId and templateId. Add an idempotencyKey so a retry returns the same report.
  3. Store report.id from the response.
  4. Poll the report status. See Report status and retrieval.

Sample request​

mutation RequestReport {
requestCompanyIntelligenceReport(
input: {
companyId: "<company-id>"
templateId: "<template-id>"
name: "Example Industries — supplier risk"
idempotencyKey: "report-2026-09-02-001"
}
) {
report {
id
name
generationStatus
requestedAt
}
errors {
__typename
... on Error {
message
}
}
}
}

Sample response​

{
"data": {
"requestCompanyIntelligenceReport": {
"report": {
"id": "<report-id>",
"name": "Example Industries — supplier risk",
"generationStatus": "IN_PROGRESS",
"requestedAt": "2026-09-02T09:05:00Z"
},
"errors": []
}
}
}

Next call: use report.id in intelligenceReport(id).

Error example​

A report for the same company and template inside the cooldown window returns RecentIntelligenceReportExistsError. report is null.

{
"data": {
"requestCompanyIntelligenceReport": {
"report": null,
"errors": [
{
"__typename": "RecentIntelligenceReportExistsError",
"message": "A report for this company and template was generated recently"
}
]
}
}
}