Skip to main content
Leaf connects to the CLAAS partner API using OAuth 2.0. Once connected, Leaf syncs equipment outbox files (ISO 11783 / ISOXML format) and processes them through the standard operations pipeline.

Prerequisites

  1. OAuth client credentials (clientKey and clientSecret) for the CLAAS partner/OFT API.
  2. A grower’s refreshToken obtained through the CLAAS OAuth 2.0 consent flow.

Setup steps

  1. Complete the CLAAS 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 '{
      "clientKey": "your-client-key",
      "clientSecret": "your-client-secret",
      "refreshToken": "grower-refresh-token",
      "clientEnvironment": "PRODUCTION"
    }' \
    'https://api.withleaf.io/services/usermanagement/api/users/{leafUserId}/claas-credentials'
  1. Leaf validates the credentials and begins syncing. Check credential status with GET /users/{leafUserId}/claas-credentials.

Credentials schema

Create request body:
FieldTypeRequiredDescription
clientKeystringYesYour application’s client key from CLAAS
clientSecretstringYesYour application’s client secret
refreshTokenstringYesThe grower’s OAuth refresh token
clientEnvironmentstringNoSTAGE or PRODUCTION. Defaults to STAGE if omitted
Response:
{
  "id": "uuid",
  "status": "str",
  "createdTime": "yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'",
  "clientKey": "str",
  "clientSecret": "str",
  "refreshToken": "str",
  "clientEnvironment": "PRODUCTION"
}

Endpoints

Base URL: https://api.withleaf.io/services/usermanagement/api
ActionMethodPath
Get credentialsGET/users/{leafUserId}/claas-credentials
Create credentialsPOST/users/{leafUserId}/claas-credentials
Delete credentialsDELETE/users/{leafUserId}/claas-credentials
Get credential eventsGET/users/{leafUserId}/claas-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}/claas-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 the CLAAS OAuth flow.
  • STAGE vs. PRODUCTION mismatch: Make sure clientEnvironment matches the environment your CLAAS app is registered in. If omitted, Leaf defaults to STAGE.

What to do next

Last modified on March 23, 2026