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"
}