generated: '2026-09-13' method: generated source: openapi/agrology-public-api-openapi.yml + https://github.com/agrology/public-api-docs/blob/main/README.md api: Agrology Public API v2 base_url: https://api.agrology.ag/v2 provider_published_skills: false provider_published_agents_md: false note: >- Agrology publishes no Agent Skills and no AGENTS.md. These four are GENERATED by API Evangelist from the provider's own OpenAPI 3.0.1 and README. Every path and method quoted in them appears verbatim in openapi/agrology-public-api-openapi.yml; no operation was invented. The spec assigns operationIds to only 5 of its 90 operations (showLibraryChart, updateLibraryChart, deleteLibraryChart, listLibraryChartsByCustomerID, createLibraryChart), none of which falls in these flows, so the skills bind by METHOD + PATH rather than by operationId — which is the provider's gap, not a shortcut taken here. skills: - name: agrology-pull-field-telemetry file: agrology-pull-field-telemetry.md description: Pull measured sensor telemetry for a site or node over a time range, with the metric vocabulary resolved first and the time-range grammar applied correctly. read_only: true operations: 7 covers: - GET /access - GET /historical/ground-truth/metrics - GET /historical/ground-truth/device-types - GET /historical/ground-truth/{siteID}/{timeRange} - GET /historical/ground-truth/{siteID}/node/{nodeID}/{timeRange} - GET /historical/ground-truth/{siteID}/device/{deviceID}/{timeRange} - GET /historical/ground-truth/{siteID}/devices - name: agrology-map-fields-geojson file: agrology-map-fields-geojson.md description: Retrieve field and sensor-node geometry as RFC 7946 GeoJSON and follow its templated links from mapped geometry through to telemetry. read_only: true operations: 6 covers: - GET /access - GET /geojson/sites - GET /geojson/customer/{customerID} - GET /geojson/site/{siteID} - GET /sites - GET /nodes - name: agrology-frost-and-heat-watch file: agrology-frost-and-heat-watch.md description: Watch microclimate and weather forecasts for frost, extreme heat and irrigation stress, and reconcile them against the alerts Agrology raises on its own thresholds. read_only: true operations: 10 covers: - GET /access - GET /predictions/microclimate/metrics - GET /predictions/weather/metrics - GET /predictions/microclimate/{siteID} - GET /predictions/microclimate/{siteID}/{timeRange} - GET /predictions/microclimate/{siteID}/node/{nodeID} - GET /predictions/weather/{siteID} - GET /predictions/weather/{siteID}/{timeRange} - GET /alerts/customer/{customerID} - GET /historical/ground-truth/{siteID}/{timeRange} - name: agrology-manage-experiments file: agrology-manage-experiments.md description: Create and run field experiments — trial versus control groups of sensor nodes with tracked metrics — and read back the computed time series, with the irreversibility of every delete made explicit. read_only: false destructive: true operations: 15 covers: - GET /access - GET /experiments/customer/{customerID} - POST /experiments/customer/{customerID} - GET /experiments/{customerID}/{id} - PUT /experiments/{customerID}/{id} - DELETE /experiments/{customerID}/{id} - POST /experiments/groups/{customerID}/{experimentID} - GET /experiments/groups/{customerID}/{experimentID} - POST /experiments/members/{customerID}/{experimentID}/{groupID}/{nodeID} - GET /experiments/members/{customerID}/experiment-id/{experimentID} - POST /experiments/metrics/{customerID}/experiment-id/{experimentID} - GET /experiments/data/{customerID}/e/{experimentID}/{resolution}/{timeRange} - GET /experiments/data/{customerID}/e/{experimentID}/g/{groupID}/{resolution}/{timeRange} - POST /experiments/data/{customerID}/e/{experimentID}/run - POST /experiments/data/{customerID}/e/{experimentID}/regenerate shared_rules: note: >- Every skill repeats these because an agent may load only one of them. rules: - Call GET /access first — authorization is an entity access list, not OAuth scopes. - Identifier shapes are not uniform; never validate a customerID or siteID as a UUID. - Metric ids are runtime data from the /metrics endpoints, not a fixed schema. - The time range is a path segment; the hyphen is required even when the end is omitted. - There is no pagination; the time range and the filters are the only volume control. - No idempotency on any of the 31 writes — never blind-retry a collection POST. - Only DELETE /dashboards/{owner}/{id} is reversible; every other delete is permanent. - No operation declares a 4xx or 5xx; errors are untyped. - A missing credential returns 403 (the README says 401); an invalid one returns 401. - No rate limits and no Retry-After are published. - Historical values are restated when models are retrained; record the fetch time.