curl 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888.../blocks/aaaaaaaa.../plants' \
-H "Authorization: Bearer $WISEYIELD_API_KEY"
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields/${fieldId}/blocks/${blockId}/plants`,
{ headers: { Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}` } }
);
const { data: plants } = await res.json();
{
"data": [
{
"id": "ffffffff-1111-2222-3333-444444444444",
"blockId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"label": "Row 1, Tree 4",
"tagId": "QR-MDJ-0247",
"position": { "lat": 30.0444, "lng": 31.2357 },
"plantedAt": "2024-03-15T00:00:00.000Z",
"status": "alive",
"createdAt": "2024-03-15T08:00:00.000Z",
"updatedAt": "2026-05-10T14:30:00.000Z"
}
]
}
Plants
List plants in block
List per-plant records under a block. Plants are the opt-in QR-tagged asset layer for premium perennials.
GET
/
api
/
v1
/
farms
/
{id}
/
fields
/
{fieldId}
/
blocks
/
{blockId}
/
plants
curl 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888.../blocks/aaaaaaaa.../plants' \
-H "Authorization: Bearer $WISEYIELD_API_KEY"
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields/${fieldId}/blocks/${blockId}/plants`,
{ headers: { Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}` } }
);
const { data: plants } = await res.json();
{
"data": [
{
"id": "ffffffff-1111-2222-3333-444444444444",
"blockId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"label": "Row 1, Tree 4",
"tagId": "QR-MDJ-0247",
"position": { "lat": 30.0444, "lng": 31.2357 },
"plantedAt": "2024-03-15T00:00:00.000Z",
"status": "alive",
"createdAt": "2024-03-15T08:00:00.000Z",
"updatedAt": "2026-05-10T14:30:00.000Z"
}
]
}
GET https://www.wiseyield.co/api/v1/farms/{id}/fields/{fieldId}/blocks/{blockId}/plants
Authentication
Requires a key with thefields:read scope. See Authentication.
Path parameters
string
required
Farm UUID.
string
required
Field UUID.
string
required
Block UUID.
Response
array
Array of plant objects under the block. Soft-deleted plants are excluded.
Show Plant
Show Plant
string
UUID.
string
UUID of the parent block.
string
Within-block identifier (e.g. “Row 1, Tree 4” or “P-0001”).
string | null
QR / RFID / barcode identifier. Unique within a block when set.
object | null
{ lat: number, lng: number }. GPS position of the individual plant.string | null
ISO 8601.
string
One of
alive, sick, dead, replaced, removed.string | null
Free text, up to 2,000 characters.
string
ISO 8601.
string
ISO 8601.
curl 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888.../blocks/aaaaaaaa.../plants' \
-H "Authorization: Bearer $WISEYIELD_API_KEY"
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields/${fieldId}/blocks/${blockId}/plants`,
{ headers: { Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}` } }
);
const { data: plants } = await res.json();
{
"data": [
{
"id": "ffffffff-1111-2222-3333-444444444444",
"blockId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"label": "Row 1, Tree 4",
"tagId": "QR-MDJ-0247",
"position": { "lat": 30.0444, "lng": 31.2357 },
"plantedAt": "2024-03-15T00:00:00.000Z",
"status": "alive",
"createdAt": "2024-03-15T08:00:00.000Z",
"updatedAt": "2026-05-10T14:30:00.000Z"
}
]
}
Errors
| Status | When |
|---|---|
400 INVALID_ID | Any path UUID is malformed |
401 | Missing, malformed, expired, or revoked API key |
403 INSUFFICIENT_SCOPE | Key lacks fields:read scope |
404 NOT_FOUND | Farm, field, or block doesn’t exist or belongs to another user |
429 RATE_LIMIT_EXCEEDED | Per-user rate limit reached |
5xx | Server error |