Skip to main content
Leaf connects to Trimble Agriculture using OAuth 2.0. Once connected, Leaf syncs growers, farms, fields, machine files, and field operations for the Leaf user.

Prerequisites

  1. A Trimble Agriculture developer account. Register here.
  2. Your application’s clientId and clientSecret from Trimble.
  3. A grower’s refreshToken obtained through the Trimble OAuth 2.0 consent flow.

Setup steps

  1. Complete the Trimble 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",
      "refreshToken": "grower-refresh-token"
    }' \
    'https://api.withleaf.io/services/usermanagement/api/users/{leafUserId}/trimble-credentials'
  1. Leaf validates the token and begins syncing. Check credential status with GET /users/{leafUserId}/trimble-credentials.

Credentials schema

Create request body:
FieldTypeRequiredDescription
clientIdstringYesYour application’s client ID from Trimble
clientSecretstringYesYour application’s client secret
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",
  "accessToken": "str",
  "refreshToken": "str"
}

Endpoints

Base URL: https://api.withleaf.io/services/usermanagement/api
ActionMethodPath
Get credentialsGET/users/{leafUserId}/trimble-credentials
Create credentialsPOST/users/{leafUserId}/trimble-credentials
Delete credentialsDELETE/users/{leafUserId}/trimble-credentials
Get credential eventsGET/users/{leafUserId}/trimble-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}/trimble-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 or the refresh token expired. Have the grower re-authorize through Trimble’s OAuth flow.

What to do next

Last modified on March 19, 2026