curl -X PUT 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888.../blocks/aaaaaaaa...' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "harvested" }'
{
"data": {
"id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"status": "harvested",
"updatedAt": "2026-05-17T17:15:00.000Z"
}
}
Blocks
Update block
Update mutable fields on a block. Only provided fields are touched.
PUT
/
api
/
v1
/
farms
/
{id}
/
fields
/
{fieldId}
/
blocks
/
{blockId}
curl -X PUT 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888.../blocks/aaaaaaaa...' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "harvested" }'
{
"data": {
"id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"status": "harvested",
"updatedAt": "2026-05-17T17:15:00.000Z"
}
}
PUT https://www.wiseyield.co/api/v1/farms/{id}/fields/{fieldId}/blocks/{blockId}
Authentication
Requires a key with thefields:write scope.
Path parameters
string
required
Farm UUID.
string
required
Field UUID.
string
required
Block UUID.
Request body
All fields are optional. Only fields you include in the body are updated. To re-parent the block to a different crop, the newcropId must belong to the same field.
string
UUID. Must belong to the block’s current field.
string
UUID. Pass
null to clear.string
1–200 characters.
string
Up to 2,000 characters. Pass
null to clear.string
Calendar date as
YYYY-MM-DD. A full ISO 8601 datetime is accepted too, but only its date part is kept. Pass null to clear.integer
1–1,000,000. Pass
null to clear.number
0–10,000 meters. Pass
null to clear.number
0–10,000 meters. Pass
null to clear.number
0–1,000,000 plants/ha. Pass
null to clear.number
0–1,000,000. Pass
null to clear.string
One of
planned, planted, established, mature, declined, harvested, removed.string
Up to 5,000 characters. Pass
null to clear.Response
Returns the updated block wrapped underdata.
curl -X PUT 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888.../blocks/aaaaaaaa...' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "harvested" }'
{
"data": {
"id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"status": "harvested",
"updatedAt": "2026-05-17T17:15:00.000Z"
}
}
Errors
| Status | When |
|---|---|
400 INVALID_ID | Any path UUID is malformed |
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, field, block, or new cropId doesn’t exist or doesn’t belong to the resolved hierarchy |
429 RATE_LIMIT_EXCEEDED | Per-user rate limit reached |
5xx | Server error |