# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure Harvest Data API version: 1.0.0 extends: openapi/microsoft-azure-harvestdata-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 8 - target: $.paths['/harvest-data'].get update: x-apievangelist-phrasing: intent: List harvest data across all parties effect: read questions: - What harvest records do we have across every farmer and party in Azure Data Manager for Agriculture? - Can I find harvests with an average yield above a threshold across all parties? - Can I filter harvest data by operation date range? instructions: - text: List harvest data for all parties. - text: List harvest data across all parties with average yield of at least {minAvgYield}. slots: minAvgYield: query.minAvgYield - text: Show all harvests whose operation started after {minOperationStartDateTime}. slots: minOperationStartDateTime: query.minOperationStartDateTime method: generated generated: '2026-09-26' - target: $.paths['/harvest-data/cascade-delete/{jobId}'].get update: x-apievangelist-phrasing: intent: Check a harvest data cascade delete job effect: read questions: - Has my harvest data cascade delete job finished? - Where can I see the status of a job deleting harvest data and its children? instructions: - text: Get the harvest data cascade delete job {jobId}. slots: jobId: path.jobId - text: Check the status of harvest cascade delete job {jobId}. slots: jobId: path.jobId method: generated generated: '2026-09-26' - target: $.paths['/harvest-data/cascade-delete/{jobId}'].put update: x-apievangelist-phrasing: intent: Delete harvest data and its dependents effect: destructive questions: - How do I delete a harvest record along with everything that depends on it? - Can I run a cascade delete as a background job for one party's harvest data? instructions: - text: Start cascade delete job {jobId} for harvest data {harvestDataId} of party {partyId}. slots: jobId: path.jobId harvestDataId: query.harvestDataId partyId: query.partyId - text: Cascade-delete harvest {harvestDataId} for party {partyId}. slots: harvestDataId: query.harvestDataId partyId: query.partyId method: generated generated: '2026-09-26' - target: $.paths['/parties/{partyId}/harvest-data'].get update: x-apievangelist-phrasing: intent: List harvest data for one party effect: read questions: - What harvests have been recorded for a particular farmer? - Can I filter one party's harvests by average moisture? instructions: - text: List harvest data for party {partyId}. slots: partyId: path.partyId - text: Show party {partyId}'s harvests with total yield under {maxTotalYield}. slots: partyId: path.partyId maxTotalYield: query.maxTotalYield method: generated generated: '2026-09-26' - target: $.paths['/parties/{partyId}/harvest-data/{harvestDataId}'].get update: x-apievangelist-phrasing: intent: Get a party's harvest data record effect: read questions: - What yield, moisture and area were recorded for one specific harvest? - Can I look up a single harvest record for a farmer? instructions: - text: Get harvest data {harvestDataId} for party {partyId}. slots: harvestDataId: path.harvestDataId partyId: path.partyId - text: Show the yield figures for harvest {harvestDataId} of party {partyId}. slots: harvestDataId: path.harvestDataId partyId: path.partyId method: generated generated: '2026-09-26' - target: $.paths['/parties/{partyId}/harvest-data/{harvestDataId}'].delete update: x-apievangelist-phrasing: intent: Delete a harvest data record effect: destructive questions: - How do I delete just one harvest record without touching related data? - Can I remove a single harvest entry for a party directly? instructions: - text: Delete harvest data {harvestDataId} for party {partyId}. slots: harvestDataId: path.harvestDataId partyId: path.partyId - text: Remove the single harvest record {harvestDataId} from party {partyId}. slots: harvestDataId: path.harvestDataId partyId: path.partyId method: generated generated: '2026-09-26' - target: $.paths['/parties/{partyId}/harvest-data/{harvestDataId}'].patch update: x-apievangelist-phrasing: intent: Record or update harvest data effect: write questions: - How do I record a harvest's total yield and area for a farmer? - Can I link a harvest record to a field boundary? instructions: - text: Record harvest {harvestDataId} for party {partyId} with total yield {totalYield}. slots: harvestDataId: path.harvestDataId partyId: path.partyId totalYield: requestBody.totalYield - text: Update harvest {harvestDataId} of party {partyId} to boundary {associatedBoundaryId}. slots: harvestDataId: path.harvestDataId partyId: path.partyId associatedBoundaryId: requestBody.associatedBoundaryId method: generated generated: '2026-09-26' - target: $.paths['/harvest-data:search'].post update: x-apievangelist-phrasing: intent: Search harvest data by geometry effect: read questions: - Which harvests intersect a particular field shape or polygon? - Can I search harvest data by location instead of by party? instructions: - text: Search harvest data intersecting geometry {intersectsWithGeometry}. slots: intersectsWithGeometry: requestBody.intersectsWithGeometry - text: Find harvests for party {partyId} that overlap {intersectsWithGeometry}. slots: partyId: requestBody.partyId intersectsWithGeometry: requestBody.intersectsWithGeometry method: generated generated: '2026-09-26'