Sowings
Create and manage Sowings. Sowing records are vital for traceability. Using the Seeds API, and the Seed Suppliers API, you can trace a seed lot all the way back to the source. Use the Bulk Harvest API to log your harvest weights, in bulk, and the Sowing Disposal API and Sowing Disposal Approve API to log any trays you've thrown away. Finally, the Sowing Report API will give you a full report of every sowing for a specific product. This allows you to see what seeds performed the best, what conditions gave you the best yields, and so much more.
Sowing Get
POSThttps://api.gofarmflow.com/sowing-get
Returns details for a single sowing record.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | Sowing's ID |
Example Request
{
"id": "123"
}
Sowing Create
POSThttps://api.gofarmflow.com/sowing-create
Creates a sowing record.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
seed-id |
integer | Required | Seed's ID |
growing-medium-id |
integer | Required | Growing Medium's ID |
growing-medium-notes |
string | Optional | Internal notes on the growing medium used |
plant-date |
date | Required | The date when this sowing record was planted |
seeding-weight |
decimal | Required | The amount of seed that was used |
soak-hours |
decimal | Optional | The amount of time (in hours) that the seed was soaked prior to sowing |
harvest-date |
date | Optional | The date when this sowing record was harvested (optional) |
harvest-weight |
decimal | Optional | The harvest weight you got from this sowing (optional) |
loss-weight |
decimal | Optional | The harvest weight you lost from this sowing (optional) |
harvest-notes |
string | Optional | Internal notes for this sowing (optional) |
Example Request
{
"seed-id": "123",
"growing-medium-id": "321",
"growing-medium-notes": "soil was a little wet",
"plant-date": "2026-01-01",
"seeding-weight": "20",
"soak-hours": "0",
"harvest-date": "",
"harvest-weight": "",
"loss-weight": "",
"harvest-notes": ""
}
Sowing Update
POSThttps://api.gofarmflow.com/sowing-update
Updates a sowing record.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | Sowing's ID |
seed-id |
integer | Required | Seed's ID |
growing-medium-id |
integer | Required | Growing Medium's ID |
growing-medium-notes |
string | Optional | Internal notes on the growing medium used |
plant-date |
date | Required | The date when this sowing record was planted |
seeding-weight |
decimal | Required | The amount of seed that was used |
soak-hours |
decimal | Optional | The amount of time (in hours) that the seed was soaked prior to sowing |
harvest-date |
date | Optional | The date when this sowing record was harvested (optional) |
harvest-weight |
decimal | Optional | The harvest weight you got from this sowing (optional) |
loss-weight |
decimal | Optional | The harvest weight you lost from this sowing (optional) |
harvest-notes |
string | Optional | Internal notes for this sowing (optional) |
Example Request
{
"id": "345",
"seed-id": "123",
"growing-medium-id": "321",
"growing-medium-notes": "soil was a little wet",
"plant-date": "2026-01-01",
"seeding-weight": "20",
"soak-hours": "4",
"harvest-date": "2026-01-11",
"harvest-weight": "10",
"loss-weight": "0",
"harvest-notes": "Tray was a little wet"
}
Sowing Delete
POSThttps://api.gofarmflow.com/sowing-delete
Deletes a sowing record. For regulatory purposes, sowing records that have been marked as disposed of, and have been approved cannot be deleted.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | Sowing's ID |
Example Request
{
"id": "123"
}
Sowing Report
POSThttps://api.gofarmflow.com/sowing-report
Returns full details for the history of sowing records for a given product.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
product-id |
integer | Required | Product's ID |
plant-date-start |
date | Optional | Optionally sort by start date |
plant-date-end |
date | Optional | Optionally sort by end date |
sort |
string | Optional | Optionally sort the results (accepts: ASC or DESC, for ascending and descending order |
max-records |
integer | Optional | Optionally return a number of records |
Example Request
{
"product-id": "123",
"plant-date-start": "2026-01-01",
"plant-date-end": "2026-12-31",
"sort": "DESC",
"max-records": "50"
}
Bulk Harvest
POSThttps://api.gofarmflow.com/bulk-harvest
Adds harvest records for multiple sowings at once, all for the same product. FarmFlow uses the average of all of the trays, and updates the closest matching records (by harvest date).
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
product-id |
integer | Required | Product's ID |
number-of-trays |
decimal | Required | Number of trays harvested |
total-weight |
decimal | Required | Total amount of weight harvested |
Example Request
{
"product-id": "123",
"number-of-trays": "15",
"total-weight": "150.65"
}
Sowing Disposal
POSThttps://api.gofarmflow.com/sowing-dispose
Marks a sowing record as being disposed of.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | Sowing's ID |
disposed-by |
integer | Required | Team Member's ID |
disposal-reason |
integer | Required | Disposal Reason's ID |
Example Request
{
"id": "123",
"disposed-by": "321",
"disposal-reason": "234"
}
Sowing Disposal Approve
POSThttps://api.gofarmflow.com/sowing-dispose-approve
Marks a disposed of sowing record as approved. Sowing records that have not been marked as disposed of cannot be approved until they are marked as disposed of. Use the Sowing Disposal API to mark a sowing record as disposed of, before approval.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | Sowing's ID |
approved-by |
integer | Required | Approving Team Member's ID |
Example Request
{
"id": "123",
"approved-by": "321"
}