curl -X POST 'https://www.wiseyield.co/api/v1/farms/11111111-2222-3333-4444-555555555555/fields' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "North Field", "area": 4.2, "soilType": "sandy loam", "status": "active" }'
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields`,
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: 'North Field', area: 4.2 }),
}
);
const { data: field } = await res.json();
import os, requests
res = requests.post(
f'https://www.wiseyield.co/api/v1/farms/{farm_id}/fields',
headers={
'Authorization': f"Bearer {os.environ['WISEYIELD_API_KEY']}",
'Content-Type': 'application/json',
},
json={'name': 'North Field', 'area': 4.2},
)
field = res.json()['data']
{
"data": {
"id": "88888888-9999-aaaa-bbbb-cccccccccccc",
"farmId": "11111111-2222-3333-4444-555555555555",
"name": "North Field",
"area": "4.2",
"soilType": "sandy loam",
"status": "active",
"createdAt": "2026-05-17T17:00:00.000Z"
}
}
{
"error": "Validation failed",
"code": "VALIDATION_ERROR",
"details": {
"area": ["Area must be a positive number"],
"name": ["Name is required"]
}
}
Fields
Create field
Create a field on a farm owned by the authenticated user.
POST
/
api
/
v1
/
farms
/
{id}
/
fields
curl -X POST 'https://www.wiseyield.co/api/v1/farms/11111111-2222-3333-4444-555555555555/fields' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "North Field", "area": 4.2, "soilType": "sandy loam", "status": "active" }'
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields`,
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: 'North Field', area: 4.2 }),
}
);
const { data: field } = await res.json();
import os, requests
res = requests.post(
f'https://www.wiseyield.co/api/v1/farms/{farm_id}/fields',
headers={
'Authorization': f"Bearer {os.environ['WISEYIELD_API_KEY']}",
'Content-Type': 'application/json',
},
json={'name': 'North Field', 'area': 4.2},
)
field = res.json()['data']
{
"data": {
"id": "88888888-9999-aaaa-bbbb-cccccccccccc",
"farmId": "11111111-2222-3333-4444-555555555555",
"name": "North Field",
"area": "4.2",
"soilType": "sandy loam",
"status": "active",
"createdAt": "2026-05-17T17:00:00.000Z"
}
}
{
"error": "Validation failed",
"code": "VALIDATION_ERROR",
"details": {
"area": ["Area must be a positive number"],
"name": ["Name is required"]
}
}
POST https://www.wiseyield.co/api/v1/farms/{id}/fields
Authentication
Requires a key with thefields:write scope.
Path parameters
string
required
Farm UUID.
Request body
string
required
1–200 characters.
number | string
required
Positive number in the farm’s
areaUnit.string
Up to 2,000 characters.
object
GeoJSON
Polygon ({ type: "Polygon", coordinates: number[][][] }).string
Up to 100 characters.
number | string
Soil pH.
string
default:"active"
One of
active, fallow, preparing, planted.string
Up to 5,000 characters.
Response
Returns the created field wrapped underdata. See List fields for the full field reference.
curl -X POST 'https://www.wiseyield.co/api/v1/farms/11111111-2222-3333-4444-555555555555/fields' \
-H "Authorization: Bearer $WISEYIELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "North Field", "area": 4.2, "soilType": "sandy loam", "status": "active" }'
const res = await fetch(
`https://www.wiseyield.co/api/v1/farms/${farmId}/fields`,
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: 'North Field', area: 4.2 }),
}
);
const { data: field } = await res.json();
import os, requests
res = requests.post(
f'https://www.wiseyield.co/api/v1/farms/{farm_id}/fields',
headers={
'Authorization': f"Bearer {os.environ['WISEYIELD_API_KEY']}",
'Content-Type': 'application/json',
},
json={'name': 'North Field', 'area': 4.2},
)
field = res.json()['data']
{
"data": {
"id": "88888888-9999-aaaa-bbbb-cccccccccccc",
"farmId": "11111111-2222-3333-4444-555555555555",
"name": "North Field",
"area": "4.2",
"soilType": "sandy loam",
"status": "active",
"createdAt": "2026-05-17T17:00:00.000Z"
}
}
{
"error": "Validation failed",
"code": "VALIDATION_ERROR",
"details": {
"area": ["Area must be a positive number"],
"name": ["Name is required"]
}
}
Errors
| Status | When |
|---|---|
400 VALIDATION_ERROR | Body validation failed (details carries per-field messages) |
401 | Missing, malformed, expired, or revoked API key |
403 INSUFFICIENT_SCOPE | Key lacks fields:write scope |
404 NOT_FOUND | Farm doesn’t exist or is not owned by the user |
429 RATE_LIMIT_EXCEEDED | Per-user rate limit reached |
5xx | Server error |