# Agrology Public API v2

**Canonical:** https://apis.io/apis/agrology/agrology-public-api-v2/  
**Provider:** Agrology — https://apis.io/providers/agrology/  
**Base URL:** https://api.agrology.ag/v2  
**Documentation:** https://github.com/agrology/public-api-docs

Agrology Public API v2 is published by [Agrology](https://apis.io/providers/agrology/) on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include Agriculture, Sensors, Weather, Soil, and Predictions. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, and rate-limit docs.

The Agrology Public API v2 exposes site and node configuration, GeoJSON geometry, historical ground-truth sensor telemetry, historical and forecast weather service data, ML-derived synthetic microclimate metrics, microclimate predictions, customer alerts, report definitions and runs, library charts, dashboards, customer inputs and field experiments. All requests are authenticated with a Cognito-issued bearer JWT or an Agrology-issued x-api-key.

## Operations (60 of 90)

| Method | Path | Summary |
|---|---|---|
| POST | `/feedback` | Submit Feedback to Agrology |
| GET | `/access` | — |
| GET | `/metrics` | — |
| GET | `/sites` | — |
| GET | `/nodes` | — |
| GET | `/geojson/sites` | — |
| GET | `/geojson/site/{siteID}` | — |
| GET | `/geojson/customer/{customerID}` | — |
| 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` | — |
| GET | `/historical/weather/metrics` | — |
| GET | `/historical/weather/{siteID}/{timeRange}` | — |
| GET | `/historical/weather/{siteID}/node/{nodeID}/{timeRange}` | — |
| GET | `/predictions/weather/metrics` | — |
| GET | `/predictions/weather/{siteID}` | — |
| GET | `/predictions/weather/{siteID}/node/{nodeID}` | — |
| GET | `/predictions/weather/{siteID}/{timeRange}` | — |
| GET | `/predictions/weather/{siteID}/node/{nodeID}/{timeRange}` | — |
| GET | `/predictions/microclimate/metrics` | — |
| GET | `/predictions/microclimate/{siteID}` | — |
| GET | `/predictions/microclimate/{siteID}/node/{nodeID}` | — |
| GET | `/predictions/microclimate/{siteID}/{timeRange}` | — |
| GET | `/predictions/microclimate/{siteID}/node/{nodeID}/{timeRange}` | — |
| GET | `/summaries/microclimate/customer/{customerID}` | — |
| GET | `/synthetics/microclimate/metrics` | — |
| GET | `/synthetics/microclimate/{siteID}/{timeRange}` | — |
| GET | `/synthetics/microclimate/{siteID}/node/{nodeID}/{timeRange}` | — |
| GET | `/alerts/customer/{customerID}` | Lists alerts for a given customer |
| GET | `/fileserver/site/{siteID}` | — |
| GET | `/fileserver/customer/{customerID}` | — |
| GET | `/fileserver/customer/{customerID}/shared` | — |
| PUT | `/report-definitions/{customerID}/{id}` | Update a specific ReportDefinition |
| DELETE | `/report-definitions/{customerID}/{id}` | Delete a specific ReportDefinition |
| GET | `/report-definitions/customer/{customerID}` | Lists ReportDefinitions whose CustomerID matches the provided value |
| POST | `/report-definitions/customer/{customerID}` | Create a new ReportDefinition |
| GET | `/report-runs/{customerID}/{id}` | Get info about a specific ReportRun |
| GET | `/report-runs/customer/{customerID}` | Lists ReportRuns whose CustomerID matches the provided value |
| POST | `/report-runs/customer/{customerID}` | Create a new ReportRun |
| GET | `/report-runs/report-definition-id/{customerID}/{reportDefinitionID}` | Lists ReportRuns whose ReportDefinitionID matches the provided value |
| GET | `/library-charts/{customerID}/{id}` | Get info about a specific LibraryChart |
| PUT | `/library-charts/{customerID}/{id}` | Update a specific LibraryChart |
| DELETE | `/library-charts/{customerID}/{id}` | Delete a specific LibraryChart |
| GET | `/library-charts/customer/{customerID}` | Lists LibraryCharts whose CustomerID matches the provided value |
| POST | `/library-charts/customer/{customerID}` | Create a new LibraryChart |
| GET | `/experiments/{customerID}/{id}` | Get info about a specific Experiment |
| PUT | `/experiments/{customerID}/{id}` | Update a specific Experiment |
| DELETE | `/experiments/{customerID}/{id}` | Delete a specific Experiment |
| GET | `/experiments/customer/{customerID}` | Lists Experiments whose CustomerID matches the provided value |
| POST | `/experiments/customer/{customerID}` | Create a new Experiment |
| GET | `/experiments/groups/{customerID}/{experimentID}/{id}` | Get info about a specific ExperimentGroup |
| PUT | `/experiments/groups/{customerID}/{experimentID}/{id}` | Update a specific ExperimentGroup |
| DELETE | `/experiments/groups/{customerID}/{experimentID}/{id}` | Delete a specific ExperimentGroup |
| GET | `/experiments/groups/{customerID}/{experimentID}` | Lists ExperimentGroups whose ExperimentID matches the provided value |
| POST | `/experiments/groups/{customerID}/{experimentID}` | Create a new ExperimentGroup |
| GET | `/experiments/members/{customerID}/{experimentID}/{groupID}/{nodeID}` | Get info about a specific ExperimentMember |
| POST | `/experiments/members/{customerID}/{experimentID}/{groupID}/{nodeID}` | Create a new ExperimentMember |

…and 30 more operations. They are listed in full on the page.

## Machine-readable artifacts (17)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/openapi/agrology-public-api-openapi.yml
- **Documentation** — https://github.com/agrology/public-api-docs/blob/main/README.md
- **APIReference** — https://github.com/agrology/public-api-docs/blob/main/openapi.yml
- **SourceCode** — https://github.com/agrology/public-api-docs
- **Overlay** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/overlays/agrology-public-api-overlay.yaml
- **Authentication** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/authentication/agrology-authentication.yml
- **OAuthScopes** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/scopes/agrology-scopes.yml
- **Conventions** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/conventions/agrology-conventions.yml
- **ErrorCatalog** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/errors/agrology-problem-types.yml
- **DataModel** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/data-model/agrology-data-model.yml
- **Examples** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/examples/agrology-public-api-examples.yml
- **Conformance** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/conformance/agrology-conformance.yml
- **Lifecycle** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/lifecycle/agrology-lifecycle.yml
- **RateLimits** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/rate-limits/agrology-rate-limits.yml
- **Plans** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/plans/agrology-plans-pricing.yml
- **AgentSkill** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/skills/_index.yml
- **APIsJSON** — https://raw.githubusercontent.com/api-evangelist/agrology/refs/heads/main/apis.yml

## Tags

Agriculture, Sensors, Weather, Soil, Predictions, Geospatial, Time Series

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/agrology/agrology-public-api-v2/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/agrology/.
