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
- OAuth client credentials (
clientKey and clientSecret) for the CLAAS partner/OFT API.
- A grower’s
refreshToken obtained through the CLAAS OAuth 2.0 consent flow.
Setup steps
- Complete the CLAAS OAuth 2.0 flow to obtain a
refreshToken for the grower’s account.
- 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'
- Leaf validates the credentials and begins syncing. Check credential status with
GET /users/{leafUserId}/claas-credentials.
Credentials schema
Create request body:
| Field | Type | Required | Description |
|---|
clientKey | string | Yes | Your application’s client key from CLAAS |
clientSecret | string | Yes | Your application’s client secret |
refreshToken | string | Yes | The grower’s OAuth refresh token |
clientEnvironment | string | No | STAGE 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
| Action | Method | Path |
|---|
| Get credentials | GET | /users/{leafUserId}/claas-credentials |
| Create credentials | POST | /users/{leafUserId}/claas-credentials |
| Delete credentials | DELETE | /users/{leafUserId}/claas-credentials |
| Get credential events | GET | /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