Skip to main content
PUT
/
api
/
v1
/
farms
/
{id}
/
fields
/
{fieldId}
/
blocks
/
{blockId}
/
plants
/
{plantId}
curl -X PUT 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888.../blocks/aaaaaaaa.../plants/ffffffff...' \
  -H "Authorization: Bearer $WISEYIELD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "status": "sick", "notes": "Yellowing fronds — see pic 2026-05-17" }'
{
  "data": {
    "id": "ffffffff-1111-2222-3333-444444444444",
    "status": "sick",
    "notes": "Yellowing fronds — see pic 2026-05-17",
    "updatedAt": "2026-05-17T17:25:00.000Z"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.wiseyield.co/llms.txt

Use this file to discover all available pages before exploring further.

PUT https://www.wiseyield.co/api/v1/farms/{id}/fields/{fieldId}/blocks/{blockId}/plants/{plantId}

Authentication

Requires a key with the fields:write scope.

Path parameters

id
string
required
Farm UUID.
fieldId
string
required
Field UUID.
blockId
string
required
Block UUID.
plantId
string
required
Plant UUID.

Request body

All fields are optional. Only fields you include in the body are updated.
label
string
1–100 characters.
tagId
string
1–200 characters. Pass null to clear. Unique within the block.
position
object
{ lat, lng }. Pass null to clear.
plantedAt
string
ISO 8601. Pass null to clear.
status
string
One of alive, sick, dead, replaced, removed.
notes
string
Up to 2,000 characters. Pass null to clear.

Response

Returns the updated plant wrapped under data.
curl -X PUT 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888.../blocks/aaaaaaaa.../plants/ffffffff...' \
  -H "Authorization: Bearer $WISEYIELD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "status": "sick", "notes": "Yellowing fronds — see pic 2026-05-17" }'
{
  "data": {
    "id": "ffffffff-1111-2222-3333-444444444444",
    "status": "sick",
    "notes": "Yellowing fronds — see pic 2026-05-17",
    "updatedAt": "2026-05-17T17:25:00.000Z"
  }
}

Errors

StatusWhen
400 INVALID_IDAny path UUID is malformed
400 VALIDATION_ERRORBody validation failed
401Missing, malformed, expired, or revoked API key
403 INSUFFICIENT_SCOPEKey lacks fields:write scope
404 NOT_FOUNDFarm, field, block, or plant doesn’t exist or belongs to another user
409 CONFLICTtagId collision with another plant in the same block
429 RATE_LIMIT_EXCEEDEDPer-user rate limit reached
5xxServer error