Skip to main content
Leaf connects to Climate FieldView using OAuth 2.0. Once connected, Leaf syncs farms, fields, machine files, and field operations for the Leaf user. Climate FieldView does not have a grower-level hierarchy, so data syncs at the farm and field level.

Prerequisites

  1. A Climate FieldView developer account. Become a partner.
  2. Your application’s clientId, clientSecret, and apiKey from Climate FieldView.
  3. A grower’s refreshToken obtained through the Climate FieldView OAuth 2.0 consent flow.

Setup steps

  1. Complete the Climate FieldView OAuth 2.0 flow to obtain a refreshToken for the grower’s account.
  2. POST the credentials to Leaf:
curl -X POST \
    -H 'Authorization: Bearer YOUR_TOKEN' \
    -H 'Content-Type: application/json' \
    -d '{
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret",
      "apiKey": "your-api-key",
      "refreshToken": "grower-refresh-token"
    }' \
    'https://api.withleaf.io/services/usermanagement/api/users/{leafUserId}/climate-field-view-credentials'
  1. Leaf validates the token and begins syncing. Check credential status with GET /users/{leafUserId}/climate-field-view-credentials.

Credentials schema

Create request body:
FieldTypeRequiredDescription
clientIdstringYesYour application’s client ID from Climate FieldView
clientSecretstringYesYour application’s client secret
apiKeystringYesYour application’s API key
refreshTokenstringYesThe grower’s OAuth refresh token
Response:
{
  "id": "uuid",
  "status": "str",
  "createdTime": "yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'",
  "tokenMetadata": {"scopes": ["str"]},
  "clientId": "str",
  "clientSecret": "str",
  "apiKey": "str",
  "refreshToken": "str",
  "accessToken": "str"
}

Endpoints

Base URL: https://api.withleaf.io/services/usermanagement/api
ActionMethodPath
Get credentialsGET/users/{leafUserId}/climate-field-view-credentials
Create credentialsPOST/users/{leafUserId}/climate-field-view-credentials
Delete credentialsDELETE/users/{leafUserId}/climate-field-view-credentials
Get credential eventsGET/users/{leafUserId}/climate-field-view-credentials/events

Troubleshooting

Use the events endpoint to inspect credential health:
curl -X GET \
    -H 'Authorization: Bearer YOUR_TOKEN' \
    'https://api.withleaf.io/services/usermanagement/api/users/{leafUserId}/climate-field-view-credentials/events'
Event logs are retained for 30 days. Once the credential is deleted or disassociated from the Leaf user, the logs are no longer available.
Common issues:
  • Status changes to invalid: The grower may have revoked access in Climate FieldView, or the refresh token expired. Have the grower re-authorize.
  • No grower hierarchy: Climate FieldView does not expose a grower level in its FMIS structure. Data is organized by farms and fields only.

What to do next

Last modified on March 19, 2026