naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Azure AgFoodPlatform Data Plane Service — HarvestData description: 'Microsoft Azure Azure AgFoodPlatform Data Plane Service — HarvestData. 7 operations. Lead operation: Microsoft Azure Get Harvest Data. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - HarvestData created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: azure-agfoodplatform-data-plane-service-harvestdata baseUri: '' description: Microsoft Azure Azure AgFoodPlatform Data Plane Service — HarvestData business capability. Self-contained, no shared references. resources: - name: harvest-data path: /harvest-data operations: - name: microsoftazureharvestdatalist method: GET description: Microsoft Azure Get Harvest Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: minTotalYield in: query type: number description: Minimum Yield value(inclusive). - name: maxTotalYield in: query type: number description: Maximum Yield value (inclusive). - name: minAvgYield in: query type: number description: Minimum AvgYield value(inclusive). - name: maxAvgYield in: query type: number description: Maximum AvgYield value (inclusive). - name: minTotalWetMass in: query type: number description: Minimum Total WetMass value(inclusive). - name: maxTotalWetMass in: query type: number description: Maximum Total WetMass value (inclusive). - name: minAvgWetMass in: query type: number description: Minimum AvgWetMass value(inclusive). - name: maxAvgWetMass in: query type: number description: Maximum AvgWetMass value (inclusive). - name: minAvgMoisture in: query type: number description: Minimum AvgMoisture value(inclusive). - name: maxAvgMoisture in: query type: number description: Maximum AvgMoisture value (inclusive). - name: minAvgSpeed in: query type: number description: Minimum AvgSpeed value(inclusive). - name: maxAvgSpeed in: query type: number description: Maximum AvgSpeed value (inclusive). - name: sources in: query type: array description: Sources of the operation data. - name: associatedBoundaryIds in: query type: array description: Boundary IDs associated with operation data. - name: minOperationStartDateTime in: query type: string description: 'Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: maxOperationStartDateTime in: query type: string description: 'Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: minOperationEndDateTime in: query type: string description: 'Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: maxOperationEndDateTime in: query type: string description: 'Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: minOperationModifiedDateTime in: query type: string description: 'Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: maxOperationModifiedDateTime in: query type: string description: 'Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: minArea in: query type: number description: Minimum area for which operation was applied (inclusive). - name: maxArea in: query type: number description: Maximum area for which operation was applied (inclusive). - name: ids in: query type: array description: Ids of the resource. - name: names in: query type: array description: Names of the resource. - name: propertyFilters in: query type: array description: "Filters on key-value pairs within the Properties object.\r" - name: statuses in: query type: array description: Statuses of the resource. - name: minCreatedDateTime in: query type: string description: Minimum creation date of resource (inclusive). - name: maxCreatedDateTime in: query type: string description: Maximum creation date of resource (inclusive). - name: minLastModifiedDateTime in: query type: string description: Minimum last modified date of resource (inclusive). - name: maxLastModifiedDateTime in: query type: string description: Maximum last modified date of resource (inclusive). - name: maxPageSize in: query type: integer description: "Maximum number of items needed (inclusive).\r" - name: skipToken in: query type: string description: Skip token for getting next set of results. - name: api-version in: query type: string description: The requested API version required: true - name: harvest-data-cascade-delete-jobId path: /harvest-data/cascade-delete/{jobId} operations: - name: microsoftazureharvestdatacreatecascadedeletejob method: PUT description: Microsoft Azure Put Harvest Data Cascade Delete Jobid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jobId in: path type: string description: Job Id supplied by end user. required: true - name: partyId in: query type: string description: Id of the party. required: true - name: harvestDataId in: query type: string description: Id of the harvest data. required: true - name: api-version in: query type: string description: The requested API version required: true - name: microsoftazureharvestdatagetcascadedeletejobdetails method: GET description: Microsoft Azure Get Harvest Data Cascade Delete Jobid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jobId in: path type: string description: Id of the job. required: true - name: api-version in: query type: string description: The requested API version required: true - name: parties-partyId-harvest-data path: /parties/{partyId}/harvest-data operations: - name: microsoftazureharvestdatalistbypartyid method: GET description: Microsoft Azure Get Parties Partyid Harvest Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: partyId in: path type: string description: ID of the associated party. required: true - name: minTotalYield in: query type: number description: Minimum Yield value(inclusive). - name: maxTotalYield in: query type: number description: Maximum Yield value (inclusive). - name: minAvgYield in: query type: number description: Minimum AvgYield value(inclusive). - name: maxAvgYield in: query type: number description: Maximum AvgYield value (inclusive). - name: minTotalWetMass in: query type: number description: Minimum Total WetMass value(inclusive). - name: maxTotalWetMass in: query type: number description: Maximum Total WetMass value (inclusive). - name: minAvgWetMass in: query type: number description: Minimum AvgWetMass value(inclusive). - name: maxAvgWetMass in: query type: number description: Maximum AvgWetMass value (inclusive). - name: minAvgMoisture in: query type: number description: Minimum AvgMoisture value(inclusive). - name: maxAvgMoisture in: query type: number description: Maximum AvgMoisture value (inclusive). - name: minAvgSpeed in: query type: number description: Minimum AvgSpeed value(inclusive). - name: maxAvgSpeed in: query type: number description: Maximum AvgSpeed value (inclusive). - name: sources in: query type: array description: Sources of the operation data. - name: associatedBoundaryIds in: query type: array description: Boundary IDs associated with operation data. - name: minOperationStartDateTime in: query type: string description: 'Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: maxOperationStartDateTime in: query type: string description: 'Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: minOperationEndDateTime in: query type: string description: 'Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: maxOperationEndDateTime in: query type: string description: 'Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: minOperationModifiedDateTime in: query type: string description: 'Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: maxOperationModifiedDateTime in: query type: string description: 'Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).' - name: minArea in: query type: number description: Minimum area for which operation was applied (inclusive). - name: maxArea in: query type: number description: Maximum area for which operation was applied (inclusive). - name: ids in: query type: array description: Ids of the resource. - name: names in: query type: array description: Names of the resource. - name: propertyFilters in: query type: array description: "Filters on key-value pairs within the Properties object.\r" - name: statuses in: query type: array description: Statuses of the resource. - name: minCreatedDateTime in: query type: string description: Minimum creation date of resource (inclusive). - name: maxCreatedDateTime in: query type: string description: Maximum creation date of resource (inclusive). - name: minLastModifiedDateTime in: query type: string description: Minimum last modified date of resource (inclusive). - name: maxLastModifiedDateTime in: query type: string description: Maximum last modified date of resource (inclusive). - name: maxPageSize in: query type: integer description: "Maximum number of items needed (inclusive).\r" - name: skipToken in: query type: string description: Skip token for getting next set of results. - name: api-version in: query type: string description: The requested API version required: true - name: parties-partyId-harvest-data-harvestDataId path: /parties/{partyId}/harvest-data/{harvestDataId} operations: - name: microsoftazureharvestdataget method: GET description: Microsoft Azure Get Parties Partyid Harvest Data Harvestdataid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: partyId in: path type: string description: ID of the associated party resource. required: true - name: harvestDataId in: path type: string description: ID of the harvest data resource. required: true - name: api-version in: query type: string description: The requested API version required: true - name: microsoftazureharvestdatacreateorupdate method: PATCH description: Microsoft Azure Patch Parties Partyid Harvest Data Harvestdataid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: partyId in: path type: string description: ID of the party. required: true - name: harvestDataId in: path type: string description: ID of the harvest data resource. required: true - name: api-version in: query type: string description: The requested API version required: true - name: harvestData in: body type: string description: Harvest data resource payload to create or update. required: true - name: microsoftazureharvestdatadelete method: DELETE description: Microsoft Azure Delete Parties Partyid Harvest Data Harvestdataid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: partyId in: path type: string description: ID of the associated party resource. required: true - name: harvestDataId in: path type: string description: ID of the harvest data. required: true - name: api-version in: query type: string description: The requested API version required: true exposes: - type: rest namespace: azure-agfoodplatform-data-plane-service-harvestdata-rest port: 8080 description: REST adapter for Microsoft Azure Azure AgFoodPlatform Data Plane Service — HarvestData. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/harvest-data name: harvest-data description: REST surface for harvest-data. operations: - method: GET name: microsoftazureharvestdatalist description: Microsoft Azure Get Harvest Data call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatalist with: minTotalYield: rest.minTotalYield maxTotalYield: rest.maxTotalYield minAvgYield: rest.minAvgYield maxAvgYield: rest.maxAvgYield minTotalWetMass: rest.minTotalWetMass maxTotalWetMass: rest.maxTotalWetMass minAvgWetMass: rest.minAvgWetMass maxAvgWetMass: rest.maxAvgWetMass minAvgMoisture: rest.minAvgMoisture maxAvgMoisture: rest.maxAvgMoisture minAvgSpeed: rest.minAvgSpeed maxAvgSpeed: rest.maxAvgSpeed sources: rest.sources associatedBoundaryIds: rest.associatedBoundaryIds minOperationStartDateTime: rest.minOperationStartDateTime maxOperationStartDateTime: rest.maxOperationStartDateTime minOperationEndDateTime: rest.minOperationEndDateTime maxOperationEndDateTime: rest.maxOperationEndDateTime minOperationModifiedDateTime: rest.minOperationModifiedDateTime maxOperationModifiedDateTime: rest.maxOperationModifiedDateTime minArea: rest.minArea maxArea: rest.maxArea ids: rest.ids names: rest.names propertyFilters: rest.propertyFilters statuses: rest.statuses minCreatedDateTime: rest.minCreatedDateTime maxCreatedDateTime: rest.maxCreatedDateTime minLastModifiedDateTime: rest.minLastModifiedDateTime maxLastModifiedDateTime: rest.maxLastModifiedDateTime maxPageSize: rest.maxPageSize skipToken: rest.skipToken api-version: rest.api-version outputParameters: - type: object mapping: $. - path: /v1/harvest-data/cascade-delete/{jobid} name: harvest-data-cascade-delete-jobid description: REST surface for harvest-data-cascade-delete-jobId. operations: - method: PUT name: microsoftazureharvestdatacreatecascadedeletejob description: Microsoft Azure Put Harvest Data Cascade Delete Jobid call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatacreatecascadedeletejob with: jobId: rest.jobId partyId: rest.partyId harvestDataId: rest.harvestDataId api-version: rest.api-version outputParameters: - type: object mapping: $. - method: GET name: microsoftazureharvestdatagetcascadedeletejobdetails description: Microsoft Azure Get Harvest Data Cascade Delete Jobid call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatagetcascadedeletejobdetails with: jobId: rest.jobId api-version: rest.api-version outputParameters: - type: object mapping: $. - path: /v1/parties/{partyid}/harvest-data name: parties-partyid-harvest-data description: REST surface for parties-partyId-harvest-data. operations: - method: GET name: microsoftazureharvestdatalistbypartyid description: Microsoft Azure Get Parties Partyid Harvest Data call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatalistbypartyid with: partyId: rest.partyId minTotalYield: rest.minTotalYield maxTotalYield: rest.maxTotalYield minAvgYield: rest.minAvgYield maxAvgYield: rest.maxAvgYield minTotalWetMass: rest.minTotalWetMass maxTotalWetMass: rest.maxTotalWetMass minAvgWetMass: rest.minAvgWetMass maxAvgWetMass: rest.maxAvgWetMass minAvgMoisture: rest.minAvgMoisture maxAvgMoisture: rest.maxAvgMoisture minAvgSpeed: rest.minAvgSpeed maxAvgSpeed: rest.maxAvgSpeed sources: rest.sources associatedBoundaryIds: rest.associatedBoundaryIds minOperationStartDateTime: rest.minOperationStartDateTime maxOperationStartDateTime: rest.maxOperationStartDateTime minOperationEndDateTime: rest.minOperationEndDateTime maxOperationEndDateTime: rest.maxOperationEndDateTime minOperationModifiedDateTime: rest.minOperationModifiedDateTime maxOperationModifiedDateTime: rest.maxOperationModifiedDateTime minArea: rest.minArea maxArea: rest.maxArea ids: rest.ids names: rest.names propertyFilters: rest.propertyFilters statuses: rest.statuses minCreatedDateTime: rest.minCreatedDateTime maxCreatedDateTime: rest.maxCreatedDateTime minLastModifiedDateTime: rest.minLastModifiedDateTime maxLastModifiedDateTime: rest.maxLastModifiedDateTime maxPageSize: rest.maxPageSize skipToken: rest.skipToken api-version: rest.api-version outputParameters: - type: object mapping: $. - path: /v1/parties/{partyid}/harvest-data/{harvestdataid} name: parties-partyid-harvest-data-harvestdataid description: REST surface for parties-partyId-harvest-data-harvestDataId. operations: - method: GET name: microsoftazureharvestdataget description: Microsoft Azure Get Parties Partyid Harvest Data Harvestdataid call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdataget with: partyId: rest.partyId harvestDataId: rest.harvestDataId api-version: rest.api-version outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazureharvestdatacreateorupdate description: Microsoft Azure Patch Parties Partyid Harvest Data Harvestdataid call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatacreateorupdate with: partyId: rest.partyId harvestDataId: rest.harvestDataId api-version: rest.api-version harvestData: rest.harvestData outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazureharvestdatadelete description: Microsoft Azure Delete Parties Partyid Harvest Data Harvestdataid call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatadelete with: partyId: rest.partyId harvestDataId: rest.harvestDataId api-version: rest.api-version outputParameters: - type: object mapping: $. - type: mcp namespace: azure-agfoodplatform-data-plane-service-harvestdata-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Azure AgFoodPlatform Data Plane Service — HarvestData. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-harvest-data description: Microsoft Azure Get Harvest Data hints: readOnly: true destructive: false idempotent: true call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatalist with: minTotalYield: tools.minTotalYield maxTotalYield: tools.maxTotalYield minAvgYield: tools.minAvgYield maxAvgYield: tools.maxAvgYield minTotalWetMass: tools.minTotalWetMass maxTotalWetMass: tools.maxTotalWetMass minAvgWetMass: tools.minAvgWetMass maxAvgWetMass: tools.maxAvgWetMass minAvgMoisture: tools.minAvgMoisture maxAvgMoisture: tools.maxAvgMoisture minAvgSpeed: tools.minAvgSpeed maxAvgSpeed: tools.maxAvgSpeed sources: tools.sources associatedBoundaryIds: tools.associatedBoundaryIds minOperationStartDateTime: tools.minOperationStartDateTime maxOperationStartDateTime: tools.maxOperationStartDateTime minOperationEndDateTime: tools.minOperationEndDateTime maxOperationEndDateTime: tools.maxOperationEndDateTime minOperationModifiedDateTime: tools.minOperationModifiedDateTime maxOperationModifiedDateTime: tools.maxOperationModifiedDateTime minArea: tools.minArea maxArea: tools.maxArea ids: tools.ids names: tools.names propertyFilters: tools.propertyFilters statuses: tools.statuses minCreatedDateTime: tools.minCreatedDateTime maxCreatedDateTime: tools.maxCreatedDateTime minLastModifiedDateTime: tools.minLastModifiedDateTime maxLastModifiedDateTime: tools.maxLastModifiedDateTime maxPageSize: tools.maxPageSize skipToken: tools.skipToken api-version: tools.api-version outputParameters: - type: object mapping: $. - name: microsoft-azure-put-harvest-data description: Microsoft Azure Put Harvest Data Cascade Delete Jobid hints: readOnly: false destructive: false idempotent: true call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatacreatecascadedeletejob with: jobId: tools.jobId partyId: tools.partyId harvestDataId: tools.harvestDataId api-version: tools.api-version outputParameters: - type: object mapping: $. - name: microsoft-azure-get-harvest-data-2 description: Microsoft Azure Get Harvest Data Cascade Delete Jobid hints: readOnly: true destructive: false idempotent: true call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatagetcascadedeletejobdetails with: jobId: tools.jobId api-version: tools.api-version outputParameters: - type: object mapping: $. - name: microsoft-azure-get-parties-partyid description: Microsoft Azure Get Parties Partyid Harvest Data hints: readOnly: true destructive: false idempotent: true call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatalistbypartyid with: partyId: tools.partyId minTotalYield: tools.minTotalYield maxTotalYield: tools.maxTotalYield minAvgYield: tools.minAvgYield maxAvgYield: tools.maxAvgYield minTotalWetMass: tools.minTotalWetMass maxTotalWetMass: tools.maxTotalWetMass minAvgWetMass: tools.minAvgWetMass maxAvgWetMass: tools.maxAvgWetMass minAvgMoisture: tools.minAvgMoisture maxAvgMoisture: tools.maxAvgMoisture minAvgSpeed: tools.minAvgSpeed maxAvgSpeed: tools.maxAvgSpeed sources: tools.sources associatedBoundaryIds: tools.associatedBoundaryIds minOperationStartDateTime: tools.minOperationStartDateTime maxOperationStartDateTime: tools.maxOperationStartDateTime minOperationEndDateTime: tools.minOperationEndDateTime maxOperationEndDateTime: tools.maxOperationEndDateTime minOperationModifiedDateTime: tools.minOperationModifiedDateTime maxOperationModifiedDateTime: tools.maxOperationModifiedDateTime minArea: tools.minArea maxArea: tools.maxArea ids: tools.ids names: tools.names propertyFilters: tools.propertyFilters statuses: tools.statuses minCreatedDateTime: tools.minCreatedDateTime maxCreatedDateTime: tools.maxCreatedDateTime minLastModifiedDateTime: tools.minLastModifiedDateTime maxLastModifiedDateTime: tools.maxLastModifiedDateTime maxPageSize: tools.maxPageSize skipToken: tools.skipToken api-version: tools.api-version outputParameters: - type: object mapping: $. - name: microsoft-azure-get-parties-partyid-2 description: Microsoft Azure Get Parties Partyid Harvest Data Harvestdataid hints: readOnly: true destructive: false idempotent: true call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdataget with: partyId: tools.partyId harvestDataId: tools.harvestDataId api-version: tools.api-version outputParameters: - type: object mapping: $. - name: microsoft-azure-patch-parties-partyid description: Microsoft Azure Patch Parties Partyid Harvest Data Harvestdataid hints: readOnly: false destructive: false idempotent: true call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatacreateorupdate with: partyId: tools.partyId harvestDataId: tools.harvestDataId api-version: tools.api-version harvestData: tools.harvestData outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-parties-partyid description: Microsoft Azure Delete Parties Partyid Harvest Data Harvestdataid hints: readOnly: false destructive: true idempotent: true call: azure-agfoodplatform-data-plane-service-harvestdata.microsoftazureharvestdatadelete with: partyId: tools.partyId harvestDataId: tools.harvestDataId api-version: tools.api-version outputParameters: - type: object mapping: $.