CropSense

Search documentation

Search for a command to run...

API Reference

Farm Activities

Plan, track, and complete farm operations like planting and spraying.

get/activities/{activity_id}

Get a farm activity by id

Requires an Authorization: Bearer header.

Parameters

activity_idstringpathrequired

Response 200

activity_idstringrequired
farm_idstringrequired
field_idstringrequired
field_namestringoptional
crop_idstringoptional
activity_typeenum<string>required
activity_statusenum<string>required
start_datestring<date-time>required
end_datestring<date-time>optional
activity_dataobjectoptional
activity_notesstringoptional
is_activebooleanoptional
created_atstring<date-time>optional
updated_atstring<date-time>optional
GET /activities/{activity_id}
curl -X GET "https://api.cropsense.africa/activities/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response · 200
{
  "activity_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
  "farm_id": "3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a",
  "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
  "field_name": "field_name",
  "crop_id": "cassava-01",
  "activity_type": "tilling",
  "activity_status": "planned",
  "start_date": "2026-06-15T09:30:00Z",
  "end_date": "2026-06-15T09:30:00Z",
  "activity_data": {},
  "activity_notes": "activity_notes",
  "is_active": true,
  "created_at": "2026-06-15T09:30:00Z",
  "updated_at": "2026-06-15T09:30:00Z"
}
put/activities/{activity_id}

Update a farm activity by id

Requires an Authorization: Bearer header.

Parameters

activity_idstringpathrequired

Request body

field_idstringoptional
activity_typeenum<string>optional

Farm activity type enum

tillingplantingharvestingirrigatingfertilizingpest_controlweedingother
activity_statusenum<string>optional

Farm activity status enum

plannedin_progresscompletedcancelledfailed
start_datestring<date-time>optional
end_datestring<date-time>optional
activity_dataobjectoptional
activity_notesstringoptional

Response 200

activity_idstringrequired
farm_idstringrequired
field_idstringrequired
field_namestringoptional
crop_idstringoptional
activity_typeenum<string>required
activity_statusenum<string>required
start_datestring<date-time>required
end_datestring<date-time>optional
activity_dataobjectoptional
activity_notesstringoptional
is_activebooleanoptional
created_atstring<date-time>optional
updated_atstring<date-time>optional
PUT /activities/{activity_id}
curl -X PUT "https://api.cropsense.africa/activities/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
    "activity_type": "tilling",
    "activity_status": "planned",
    "start_date": "2026-06-15T09:30:00Z",
    "end_date": "2026-06-15T09:30:00Z",
    "activity_data": {},
    "activity_notes": "activity_notes"
  }'
Example response · 200
{
  "activity_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
  "farm_id": "3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a",
  "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
  "field_name": "field_name",
  "crop_id": "cassava-01",
  "activity_type": "tilling",
  "activity_status": "planned",
  "start_date": "2026-06-15T09:30:00Z",
  "end_date": "2026-06-15T09:30:00Z",
  "activity_data": {},
  "activity_notes": "activity_notes",
  "is_active": true,
  "created_at": "2026-06-15T09:30:00Z",
  "updated_at": "2026-06-15T09:30:00Z"
}
delete/activities/{activity_id}

Delete a farm activity by id

Requires an Authorization: Bearer header.

Parameters

activity_idstringpathrequired

Response 200

DELETE /activities/{activity_id}
curl -X DELETE "https://api.cropsense.africa/activities/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response · 200
null
post/activities/create

Create a farm activity

Requires an Authorization: Bearer header.

Request body

farm_idstringrequired
field_idstringrequired
crop_idstringoptional
activity_typeenum<string>required
activity_statusenum<string>required
start_datestring<date-time>required
end_datestring<date-time>optional
activity_dataobjectoptional
activity_notesstringoptional

Response 200

activity_idstringrequired
farm_idstringrequired
field_idstringrequired
field_namestringoptional
crop_idstringoptional
activity_typeenum<string>required
activity_statusenum<string>required
start_datestring<date-time>required
end_datestring<date-time>optional
activity_dataobjectoptional
activity_notesstringoptional
is_activebooleanoptional
created_atstring<date-time>optional
updated_atstring<date-time>optional
POST /activities/create
curl -X POST "https://api.cropsense.africa/activities/create" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "farm_id": "3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a",
    "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
    "crop_id": "cassava-01",
    "activity_type": "tilling",
    "activity_status": "planned",
    "start_date": "2026-06-15T09:30:00Z",
    "end_date": "2026-06-15T09:30:00Z",
    "activity_data": {},
    "activity_notes": "activity_notes"
  }'
Example response · 200
{
  "activity_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
  "farm_id": "3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a",
  "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
  "field_name": "field_name",
  "crop_id": "cassava-01",
  "activity_type": "tilling",
  "activity_status": "planned",
  "start_date": "2026-06-15T09:30:00Z",
  "end_date": "2026-06-15T09:30:00Z",
  "activity_data": {},
  "activity_notes": "activity_notes",
  "is_active": true,
  "created_at": "2026-06-15T09:30:00Z",
  "updated_at": "2026-06-15T09:30:00Z"
}
get/activities/farm/{farm_id}

Get all farm activities by farm id

Requires an Authorization: Bearer header.

Parameters

farm_idstringpathrequired

Response 200

activitiesFarmActivity[]required
totalintegerrequired
GET /activities/farm/{farm_id}
curl -X GET "https://api.cropsense.africa/activities/farm/3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response · 200
{
  "activities": [
    {
      "activity_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
      "farm_id": "3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a",
      "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
      "field_name": "field_name",
      "crop_id": "cassava-01",
      "activity_type": "tilling",
      "activity_status": "planned",
      "start_date": "2026-06-15T09:30:00Z",
      "end_date": "2026-06-15T09:30:00Z",
      "activity_data": {},
      "activity_notes": "activity_notes",
      "is_active": true,
      "created_at": "2026-06-15T09:30:00Z",
      "updated_at": "2026-06-15T09:30:00Z"
    }
  ],
  "total": 1
}
get/activities/field/{field_id}

Get all farm activities by field id

Requires an Authorization: Bearer header.

Parameters

field_idstringpathrequired

Response 200

activitiesFarmActivity[]required
totalintegerrequired
GET /activities/field/{field_id}
curl -X GET "https://api.cropsense.africa/activities/field/8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response · 200
{
  "activities": [
    {
      "activity_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
      "farm_id": "3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a",
      "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
      "field_name": "field_name",
      "crop_id": "cassava-01",
      "activity_type": "tilling",
      "activity_status": "planned",
      "start_date": "2026-06-15T09:30:00Z",
      "end_date": "2026-06-15T09:30:00Z",
      "activity_data": {},
      "activity_notes": "activity_notes",
      "is_active": true,
      "created_at": "2026-06-15T09:30:00Z",
      "updated_at": "2026-06-15T09:30:00Z"
    }
  ],
  "total": 1
}
post/activities/{activity_id}/complete

Mark a farm activity as completed

Requires an Authorization: Bearer header.

Parameters

activity_idstringpathrequired

Response 200

activity_idstringrequired
farm_idstringrequired
field_idstringrequired
field_namestringoptional
crop_idstringoptional
activity_typeenum<string>required
activity_statusenum<string>required
start_datestring<date-time>required
end_datestring<date-time>optional
activity_dataobjectoptional
activity_notesstringoptional
is_activebooleanoptional
created_atstring<date-time>optional
updated_atstring<date-time>optional
POST /activities/{activity_id}/complete
curl -X POST "https://api.cropsense.africa/activities/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d/complete" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response · 200
{
  "activity_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
  "farm_id": "3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a",
  "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
  "field_name": "field_name",
  "crop_id": "cassava-01",
  "activity_type": "tilling",
  "activity_status": "planned",
  "start_date": "2026-06-15T09:30:00Z",
  "end_date": "2026-06-15T09:30:00Z",
  "activity_data": {},
  "activity_notes": "activity_notes",
  "is_active": true,
  "created_at": "2026-06-15T09:30:00Z",
  "updated_at": "2026-06-15T09:30:00Z"
}
post/activities/{activity_id}/start

Mark a farm activity as in progress

Requires an Authorization: Bearer header.

Parameters

activity_idstringpathrequired

Response 200

activity_idstringrequired
farm_idstringrequired
field_idstringrequired
field_namestringoptional
crop_idstringoptional
activity_typeenum<string>required
activity_statusenum<string>required
start_datestring<date-time>required
end_datestring<date-time>optional
activity_dataobjectoptional
activity_notesstringoptional
is_activebooleanoptional
created_atstring<date-time>optional
updated_atstring<date-time>optional
POST /activities/{activity_id}/start
curl -X POST "https://api.cropsense.africa/activities/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d/start" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response · 200
{
  "activity_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
  "farm_id": "3fa2c9e1-6b3a-4d2e-9c11-4a8e5f9d2b7a",
  "field_id": "8b6e1a2f-2d4c-4e9a-9b0f-1c7d3e5a6f42",
  "field_name": "field_name",
  "crop_id": "cassava-01",
  "activity_type": "tilling",
  "activity_status": "planned",
  "start_date": "2026-06-15T09:30:00Z",
  "end_date": "2026-06-15T09:30:00Z",
  "activity_data": {},
  "activity_notes": "activity_notes",
  "is_active": true,
  "created_at": "2026-06-15T09:30:00Z",
  "updated_at": "2026-06-15T09:30:00Z"
}