curl -X PUT 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888...' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "preparing", "notes": "Tilled, ready for planting" }'
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields/${fieldId}`,
{
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: 'preparing' }),
}
);
const { data: field } = await res.json();
import os, requests
res = requests.put(
f'https://www.wiseyield.co/api/v1/farms/{farm_id}/fields/{field_id}',
headers={
'Authorization': f"Bearer {os.environ['WISEYIELD_API_KEY']}",
'Content-Type': 'application/json',
},
json={'status': 'preparing'},
)
field = res.json()['data']
{
"data": {
"id": "88888888-9999-aaaa-bbbb-cccccccccccc",
"farmId": "11111111-2222-3333-4444-555555555555",
"name": "North Field",
"status": "preparing",
"notes": "Tilled, ready for planting",
"updatedAt": "2026-05-17T17:05:00.000Z"
}
}
Fields
Update field
Update mutable fields on a field. Only provided fields are touched.
PUT
/
api
/
v1
/
farms
/
{id}
/
fields
/
{fieldId}
curl -X PUT 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888...' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "preparing", "notes": "Tilled, ready for planting" }'
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields/${fieldId}`,
{
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: 'preparing' }),
}
);
const { data: field } = await res.json();
import os, requests
res = requests.put(
f'https://www.wiseyield.co/api/v1/farms/{farm_id}/fields/{field_id}',
headers={
'Authorization': f"Bearer {os.environ['WISEYIELD_API_KEY']}",
'Content-Type': 'application/json',
},
json={'status': 'preparing'},
)
field = res.json()['data']
{
"data": {
"id": "88888888-9999-aaaa-bbbb-cccccccccccc",
"farmId": "11111111-2222-3333-4444-555555555555",
"name": "North Field",
"status": "preparing",
"notes": "Tilled, ready for planting",
"updatedAt": "2026-05-17T17:05:00.000Z"
}
}
PUT https://www.wiseyield.co/api/v1/farms/{id}/fields/{fieldId}
Authentication
Requires a key with thefields:write scope.
Path parameters
string
required
Farm UUID.
string
required
Field UUID.
Request body
All fields are optional. Only fields you include in the body are updated.string
1–200 characters.
string
Up to 2,000 characters. Pass
null to clear.number | string
Positive number in the farm’s
areaUnit.object
GeoJSON
Polygon. Pass null to clear.string
Up to 100 characters. Pass
null to clear.number | string
Pass
null to clear.string
One of
active, fallow, preparing, planted.string
Up to 5,000 characters. Pass
null to clear.Irrigation overrides (Blueprint §9.4)
These override the farm-wide irrigation defaults for this field.number
Liters/hour per emitter, 0–100.
integer
0–50.
number
0–20 meters.
string
One of
drip, sprinkler, flood, pivot, manual, none.Response
Returns the updated field wrapped underdata.
curl -X PUT 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888...' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "preparing", "notes": "Tilled, ready for planting" }'
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields/${fieldId}`,
{
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: 'preparing' }),
}
);
const { data: field } = await res.json();
import os, requests
res = requests.put(
f'https://www.wiseyield.co/api/v1/farms/{farm_id}/fields/{field_id}',
headers={
'Authorization': f"Bearer {os.environ['WISEYIELD_API_KEY']}",
'Content-Type': 'application/json',
},
json={'status': 'preparing'},
)
field = res.json()['data']
{
"data": {
"id": "88888888-9999-aaaa-bbbb-cccccccccccc",
"farmId": "11111111-2222-3333-4444-555555555555",
"name": "North Field",
"status": "preparing",
"notes": "Tilled, ready for planting",
"updatedAt": "2026-05-17T17:05:00.000Z"
}
}
Errors
| Status | When |
|---|---|
400 INVALID_ID | {id} or {fieldId} is not a valid UUID |
400 VALIDATION_ERROR | Body validation failed |
401 | Missing, malformed, expired, or revoked API key |
403 INSUFFICIENT_SCOPE | Key lacks fields:write scope |
404 NOT_FOUND | Farm or field doesn’t exist, is soft-deleted, or belongs to another user |
429 RATE_LIMIT_EXCEEDED | Per-user rate limit reached |
5xx | Server error |