| scanId | string | Required | ID of the scan that produced the opportunity. |
| opportunityId | string | Required | ID of the opportunity within the scan. |
| opportunity | string | Required | Human-readable opportunity headline. |
| targetOrganization | string | Conditional | Agency, buyer, recipient, partner, or other organization to pursue. At least this field or targetAccount is required. |
| targetAccount | string | Conditional | CRM-oriented alias for the target organization. At least this field or targetOrganization is required. |
| source | string | Required | Name of the public source behind the signal. |
| signalType | string | Optional | Display label for the source category, such as Active procurement or Funded buyer. |
| recordClass | "current" | "evidence" | Required | Separates verified live postings from historical funded-buyer evidence. |
| currentValidatedAt | string | Current only | ISO timestamp of the latest source validation. Omitted for evidence records. |
| awardYear | number | Evidence only | Public award year when the historical record provides one. |
| periodEnd | string | Evidence only | Historical period-of-performance end. This is not a deadline. |
| opportunityType | string | Optional | Estimated commercial opportunity classification. |
| buyerPartnerType | string | Optional | Classification of the likely buyer, recipient, partner, or channel target. |
| revenueMotion | string | Required | Recommended route to revenue, such as Sell to Agency, Direct Apply, or Partner with Recipient. |
| actionability | string | Optional | Actionability label: High Actionability, Medium Actionability, or Low Actionability. |
| actionabilityScore | number | Optional | Numeric actionability score generated by Opportunity Scanner. |
| contactPath | string | Optional | Human-readable label for the recommended route to the right office or person. |
| contactStrategy | string | Required | Machine-friendly contact strategy used to route the opportunity. |
| recommendedContactRoles | string[] | Optional | Recommended job functions or roles to locate. |
| nextStep | string | Optional | Human-readable next step. Currently mirrors nextBestAction. |
| nextBestAction | string | Required | The recommended immediate action for the opportunity owner. |
| manualResearchInstruction | string | Optional | Specific research instruction when more qualification is useful. |
| crmNote | string | Required | Context formatted for a CRM note or account activity. |
| outreachAngle | string | Optional | Suggested source-backed angle for outreach or internal positioning. |
| followUpTask | string | Optional | Suggested follow-up task for the opportunity owner. |
| timeSensitivity | string | Optional | Timing classification generated from the source and pursuit context. |
| pursuitDifficulty | string | Optional | Estimated difficulty of pursuing the opportunity. |
| workflowPayloadReady | boolean | Required | Always true for a delivered webhook. Opportunities that are not ready are rejected before delivery. |
| workflowPayloadReason | string | Required | Explanation of why the opportunity is ready for workflow or what must be checked first. |
| sourceStatus | string | Optional | Current status classification for the source record. |
| sourceDeadline | string | Current only | Verified future close date for a current record. Never delivered for funded-buyer evidence. |
| sourceEvidence | string | Required | Evidence summary grounded in the public source record. |
| sourceUrl | string | Optional | Public source URL. Included when a full-report opportunity is sent. |