API Reference

Integrate Hivekraft into your tools and workflows. Manage apiaries, hives, inspections, treatments, and IoT sensors programmatically.

18 modules · 104 endpoints · REST · JSON

Quick Start

Get up and running with the Hivekraft API in three steps.

1. Create your account

Sign up at hivekraft.com and set up your apiaries and hives in the dashboard.

2. Generate an API key

Go to Settings > API in the dashboard. Click "Generate API Key" and copy the key. It starts with hk_live_ and is shown only once.

3. Make your first request

Use the key in the Authorization header as a Bearer token. Try listing your apiaries:

First API call
curl https://hivekraft.com/api/apiaries \
  -H "Authorization: Bearer hk_live_abc123..."

Authentication

All API endpoints require authentication via a Bearer token in the Authorization header.

Bearer Token

Include your API key in every request:

Authorization: Bearer hk_live_abc123...

API keys start with hk_live_ and are tied to your user account. All requests are scoped to your data.

Rate Limits

API key requests are rate-limited to 300 requests per minute.

HeaderDescription
X-RateLimit-LimitMaximum requests per window (300)
X-RateLimit-RemainingRemaining requests in current window
X-RateLimit-ResetUnix timestamp when the window resets

Best Practices

  • Never expose your API key in client-side code or public repositories.
  • Use environment variables to store your key.
  • Rotate your API key periodically in Settings > API.
  • Implement exponential backoff when you receive 429 status codes.

Error Handling

The API uses standard HTTP status codes and returns errors in a consistent JSON format.

Error Response Format

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Validierungsfehler",
    "details": {
      "name": ["Name ist erforderlich"]
    }
  }
}

Status Codes

CodeError CodeDescription
200-Success
201-Created
204-No Content (successful DELETE)
400VALIDATION_ERRORInvalid request body or query parameters
401UNAUTHORIZEDMissing or invalid authentication
403FORBIDDENInsufficient permissions or plan upgrade required
404NOT_FOUNDResource not found
409CONFLICTConflicting operation (e.g. duplicate)
429RATE_LIMIT_EXCEEDEDToo many requests, retry after backoff
500INTERNAL_ERRORUnexpected server error

Response Envelope

Successful responses wrap data in a data field:

// Success (200/201)
{ "data": { "id": "clx1...", "name": "Waldbienenstand" } }

// Error (4xx/5xx)
{ "error": { "code": "NOT_FOUND", "message": "Nicht gefunden" } }

Apiaries

Manage your apiary locations (Standorte). Each apiary holds one or more hives.

GET/api/apiaries

List all apiaries

Returns every apiary belonging to the authenticated user.

Example
curl -X GET "https://hivekraft.com/api/apiaries" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/apiaries

Create an apiary

Creates a new apiary for the authenticated user.

Request Body
FieldTypeDescription
namestringApiary name (required)e.g. Waldbienenstand
addressstringStreet addresse.g. Waldweg 12, 80331 München
latitudenumberGPS latitude (-90..90)e.g. 48.137
longitudenumberGPS longitude (-180..180)e.g. 11.576
registrationNumberstringOfficial registration numbere.g. BY-123-456
notesstringFree-text notes (max 5000 chars)
Example
curl -X POST "https://hivekraft.com/api/apiaries" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Waldbienenstand","latitude":48.137,"longitude":11.576}'
GET/api/apiaries/[id]

Get a single apiary

Returns full details for one apiary including hive count.

Path Parameters
NameTypeRequiredDescription
idstringYesApiary IDe.g. clx1...
Example
curl -X GET "https://hivekraft.com/api/apiaries/clx1abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/apiaries/[id]

Update an apiary

Partially updates an existing apiary. Only include the fields you want to change.

Path Parameters
NameTypeRequiredDescription
idstringYesApiary ID
Request Body

Any subset of the create fields

FieldTypeDescription
namestringNew name
addressstringNew address
latitudenumberNew latitude
longitudenumberNew longitude
Example
curl -X PUT "https://hivekraft.com/api/apiaries/clx1abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Neuer Name"}'
DELETE/api/apiaries/[id]

Delete an apiary

Permanently deletes an apiary. All hives must be removed or transferred first.

Path Parameters
NameTypeRequiredDescription
idstringYesApiary ID
Example
curl -X DELETE "https://hivekraft.com/api/apiaries/clx1abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/apiaries/[id]/statistics

Get apiary statistics

Returns aggregated statistics for a single apiary including hive counts, honey totals, inspection count, and average colony strength.

Path Parameters
NameTypeRequiredDescription
idstringYesApiary ID
Example
curl -X GET "https://hivekraft.com/api/apiaries/clx1abc/statistics" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/apiaries/[id]/forecast

Get harvest forecast (Pro)

Returns a harvest forecast for the apiary based on historical data and weather conditions. Requires Pro plan or higher.

Path Parameters
NameTypeRequiredDescription
idstringYesApiary ID (must have GPS coordinates)
Example
curl -X GET "https://hivekraft.com/api/apiaries/clx1abc/forecast" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Hives

Manage bee colonies (Völker). Each hive belongs to one apiary and may have a queen assigned.

GET/api/hives

List all hives

Returns all hives for the user. Supports filtering by apiary and status, plus pagination.

Query Parameters
NameTypeRequiredDescription
apiaryIdstringNoFilter by apiary
statusstringNoFilter by status (active, dead, sold, merged)
pagenumberNoPage number (1-based)
pageSizenumberNoItems per page (default 50)
Example
curl -X GET "https://hivekraft.com/api/hives?apiaryId=clx1abc&status=active" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/hives

Create a hive

Creates a new hive (colony) in the specified apiary.

Request Body
FieldTypeDescription
apiaryIdstringApiary to place the hive in (required)e.g. clx1abc
numberintegerHive number, positive integer (required)e.g. 7
namestringOptional display namee.g. Bienchen
hiveTypestringdadant | zander | langstroth | segeberger | other (required)e.g. dadant
originstringswarm | split | purchase | gift | own | other
notesstringFree-text notes (max 5000 chars)
Example
curl -X POST "https://hivekraft.com/api/hives" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"apiaryId":"clx1abc","number":7,"hiveType":"dadant","name":"Bienchen"}'
GET/api/hives/[id]

Get a single hive

Returns full details for one hive including queen and apiary info.

Path Parameters
NameTypeRequiredDescription
idstringYesHive ID
Example
curl -X GET "https://hivekraft.com/api/hives/clx2abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/hives/[id]

Update a hive

Partially updates hive details.

Path Parameters
NameTypeRequiredDescription
idstringYesHive ID
Example
curl -X PUT "https://hivekraft.com/api/hives/clx2abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Neuer Name"}'
DELETE/api/hives/[id]

Delete a hive

Soft-deletes a hive. It will no longer appear in listings.

Path Parameters
NameTypeRequiredDescription
idstringYesHive ID
Example
curl -X DELETE "https://hivekraft.com/api/hives/clx2abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/hives/[id]/health

Get hive health score

Calculates a health score (0-100) based on recent inspections, treatments, and queen status. Requires Pro plan.

Path Parameters
NameTypeRequiredDescription
idstringYesHive ID
Example
curl -X GET "https://hivekraft.com/api/hives/clx2abc/health" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/hives/[id]/split

Split a hive (Ableger)

Creates a new colony from an existing hive by splitting it.

Path Parameters
NameTypeRequiredDescription
idstringYesSource hive ID
Request Body
FieldTypeDescription
numberintegerHive number for the new colony (required)e.g. 8
namestringOptional display name for new colony
hiveTypestringHive type for the new colony (required)e.g. dadant
notesstringNotes about the split
Example
curl -X POST "https://hivekraft.com/api/hives/clx2abc/split" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"number":8,"hiveType":"dadant","name":"Ableger Mai"}'
POST/api/hives/[id]/transfer

Transfer hive to another apiary

Moves a hive from its current apiary to a different one. Records the movement.

Path Parameters
NameTypeRequiredDescription
idstringYesHive ID to transfer
Request Body
FieldTypeDescription
toApiaryIdstringTarget apiary ID (required)e.g. clx1xyz
notesstringNotes about the transfer
Example
curl -X POST "https://hivekraft.com/api/hives/clx2abc/transfer" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"toApiaryId":"clx1xyz"}'
POST/api/hives/[id]/mark-dead

Mark a hive as dead

Marks a colony as dead with optional cause, date, and notes. Sets the hive status to 'dead'.

Path Parameters
NameTypeRequiredDescription
idstringYesHive ID
Request Body
FieldTypeDescription
deathCausestringvarroa | starvation | queen_loss | pesticide | disease | winter_loss | robbing | unknown | other
deathDatestringDate of death (ISO date)e.g. 2025-12-15
deathNotesstringNotes about the death (max 5000 chars)
Example
curl -X POST "https://hivekraft.com/api/hives/clx2abc/mark-dead" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"deathCause":"varroa","deathDate":"2025-12-15","deathNotes":"Weak colony in autumn"}'
GET/api/hives/health-overview

Get health overview for all hives

Returns health scores and swarm risk levels for all active hives. Includes score (0-100), risk level, and top contributing factor.

Example
curl -X GET "https://hivekraft.com/api/hives/health-overview" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/hives/swarm-risk

Get swarm risk assessment

Returns swarm risk scores for all active hives based on recent inspection data, including risk factors and recommendations.

Example
curl -X GET "https://hivekraft.com/api/hives/swarm-risk" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Queens

Track queens (Königinnen) with lineage, traits, and assignment to hives.

GET/api/queens

List all queens

Returns all queens. Supports filtering by hive and status.

Query Parameters
NameTypeRequiredDescription
hiveIdstringNoFilter by assigned hive
statusstringNoFilter by status (active, dead, superseded, lost, sold)
Example
curl -X GET "https://hivekraft.com/api/queens?status=active" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/queens

Create a queen

Registers a new queen. Optionally assign to a hive and record lineage.

Request Body
FieldTypeDescription
hiveIdstringAssign to this hive (optional)
racestringcarnica | buckfast | ligustica | mellifera | caucasica | othere.g. carnica
birthYearintegerYear of birth (2000+)e.g. 2025
markingColorstringMarking colore.g. blue
originstringown | purchased | gifted | swarm | other
breederstringBreeder namee.g. Belegstelle Hochalm
statusstringactive | dead | superseded | lost | sold
gentlenessintegerTrait rating 1-5
honeyProductionintegerTrait rating 1-5
motherQueenIdstringID of the mother queen for lineage tracking
Example
curl -X POST "https://hivekraft.com/api/queens" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"race":"carnica","birthYear":2025,"markingColor":"blue","hiveId":"clx2abc"}'
GET/api/queens/[id]

Get a single queen

Returns full details including trait ratings and lineage.

Path Parameters
NameTypeRequiredDescription
idstringYesQueen ID
Example
curl -X GET "https://hivekraft.com/api/queens/clx3abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/queens/[id]

Update a queen

Partially updates queen details including trait ratings.

Path Parameters
NameTypeRequiredDescription
idstringYesQueen ID
Example
curl -X PUT "https://hivekraft.com/api/queens/clx3abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"status":"superseded"}'
DELETE/api/queens/[id]

Delete a queen

Soft-deletes a queen record.

Path Parameters
NameTypeRequiredDescription
idstringYesQueen ID
Example
curl -X DELETE "https://hivekraft.com/api/queens/clx3abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/queens/[id]/assign

Assign queen to a hive

Assigns a queen to a hive or unassigns it (pass null). Any previously assigned queen on the target hive is automatically unassigned.

Path Parameters
NameTypeRequiredDescription
idstringYesQueen ID
Request Body
FieldTypeDescription
hiveIdstring|nullHive ID to assign to, or null to unassigne.g. clx2abc
Example
curl -X POST "https://hivekraft.com/api/queens/clx3abc/assign" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"hiveId":"clx2abc"}'

Inspections

Record hive inspections (Durchsichten) with colony strength, brood pattern, varroa counts, and more.

GET/api/inspections

List inspections

Returns inspections with optional filtering and pagination.

Query Parameters
NameTypeRequiredDescription
hiveIdstringNoFilter by hive
typestringNoquick_check | standard | detailed
dateFromstringNoISO date lower bounde.g. 2025-01-01
dateTostringNoISO date upper bounde.g. 2025-12-31
pagenumberNoPage number
pageSizenumberNoItems per page
Example
curl -X GET "https://hivekraft.com/api/inspections?hiveId=clx2abc&dateFrom=2025-01-01" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/inspections

Create an inspection

Records a new hive inspection with details about colony health, brood, varroa, and weather.

Request Body
FieldTypeDescription
hiveIdstringHive to inspect (required)e.g. clx2abc
datestringInspection date (required)e.g. 2025-06-15
typestringquick_check | standard | detailed (required)e.g. standard
colonyStrengthintegerStrength rating 1-10e.g. 8
queenSeenbooleanWas the queen spotted?e.g. true
eggsSeenbooleanWere eggs visible?
temperamentstringcalm | nervous | aggressive
honeyStoresstringempty | low | medium | high | very_high
broodPatternstringnone | spotty | average | good | excellent
varroaCountintegerVarroa counte.g. 3
varroaMethodstringsugar_shake | alcohol_wash | natural_drop | drone_brood
notesstringFree-text notes (max 5000 chars)
Example
curl -X POST "https://hivekraft.com/api/inspections" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"hiveId":"clx2abc","date":"2025-06-15","type":"standard","colonyStrength":8,"queenSeen":true}'
GET/api/inspections/[id]

Get a single inspection

Returns full inspection details including pest observations.

Path Parameters
NameTypeRequiredDescription
idstringYesInspection ID
Example
curl -X GET "https://hivekraft.com/api/inspections/clx4abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/inspections/[id]

Update an inspection

Partially updates inspection data.

Path Parameters
NameTypeRequiredDescription
idstringYesInspection ID
Example
curl -X PUT "https://hivekraft.com/api/inspections/clx4abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"colonyStrength":9}'
DELETE/api/inspections/[id]

Delete an inspection

Permanently removes an inspection record.

Path Parameters
NameTypeRequiredDescription
idstringYesInspection ID
Example
curl -X DELETE "https://hivekraft.com/api/inspections/clx4abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/inspections/[id]/photos

Get inspection photos

Returns all photos attached to an inspection.

Path Parameters
NameTypeRequiredDescription
idstringYesInspection ID
Example
curl -X GET "https://hivekraft.com/api/inspections/clx4abc/photos" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/inspections/[id]/photos

Upload an inspection photo

Uploads a photo to an inspection. Uses multipart/form-data with fields: photo (file), photoType (string), caption (string).

Path Parameters
NameTypeRequiredDescription
idstringYesInspection ID
Request Body

multipart/form-data

FieldTypeDescription
photofileImage file (required)
photoTypestringPhoto type (e.g. brood, queen, general)
captionstringPhoto caption
Example
curl -X POST "https://hivekraft.com/api/inspections/clx4abc/photos" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -F "photo=@brood.jpg" \
  -F "photoType=brood" \
  -F "caption=Good brood pattern"
DELETE/api/inspections/[id]/photos

Delete an inspection photo

Deletes a specific photo from an inspection. Pass the photoId as a query parameter.

Path Parameters
NameTypeRequiredDescription
idstringYesInspection ID
Query Parameters
NameTypeRequiredDescription
photoIdstringYesPhoto ID to delete
Example
curl -X DELETE "https://hivekraft.com/api/inspections/clx4abc/photos?photoId=clxpabc" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Treatments

Record varroa treatments (Behandlungen) with EU 2019/6 compliance fields for the colony record book.

GET/api/treatments

List treatments

Returns treatments with optional filters for hive, type, status, and date range.

Query Parameters
NameTypeRequiredDescription
hiveIdstringNoFilter by hive
treatmentTypestringNooxalic_acid | formic_acid | thymol | apilife_var | apiguard | checkmite | other
statusstringNoplanned | in_progress | completed
startDatestringNoDate range start
endDatestringNoDate range end
limitnumberNoMax results
Example
curl -X GET "https://hivekraft.com/api/treatments?treatmentType=oxalic_acid" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/treatments

Create a treatment

Records a new varroa treatment. Includes optional EU 2019/6 compliance fields (batchNumber, supplier, veterinarian).

Request Body
FieldTypeDescription
hiveIdstringHive ID (required)e.g. clx2abc
treatmentTypestringTreatment type (required)e.g. oxalic_acid
methodstringtrickling | sublimation | evaporation | strips | spray
startDatestringStart date (required)e.g. 2025-12-01
endDatestringEnd date (multi-day treatments)
dosenumberDosage amounte.g. 5
unitstringml | g | strips | pieces
statusstringplanned | in_progress | completede.g. completed
varroaCountBeforeintegerVarroa count before treatment
varroaCountAfterintegerVarroa count after treatment
batchNumberstringEU: Batch/lot number of the medication
supplierstringEU: Supplier name
veterinarianstringEU: Veterinarian name
prescriptionNumberstringEU: Prescription number
withdrawalPeriodDaysintegerEU: Withdrawal period in days
notesstringFree-text notes
Example
curl -X POST "https://hivekraft.com/api/treatments" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"hiveId":"clx2abc","treatmentType":"oxalic_acid","method":"trickling","startDate":"2025-12-01","dose":5,"unit":"ml","status":"completed"}'
GET/api/treatments/[id]

Get a single treatment

Returns full treatment details including compliance fields.

Path Parameters
NameTypeRequiredDescription
idstringYesTreatment ID
Example
curl -X GET "https://hivekraft.com/api/treatments/clx5abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/treatments/[id]

Update a treatment

Partially updates an existing treatment record. All fields are optional. Includes EU 2019/6 compliance fields.

Path Parameters
NameTypeRequiredDescription
idstringYesTreatment ID
Request Body

Any subset of treatment fields

FieldTypeDescription
treatmentTypestringoxalic_acid | formic_acid | thymol | apilife_var | apiguard | bayvarol | perizin | other
methodstringspray | trickle | evaporation | strip | sublimation | other
startDatestringStart date (ISO)
endDatestringEnd date (ISO)
dosenumberDose amount (positive)
unitstringml | g | strips | plates
statusstringplanned | in_progress | completed | cancelled
notesstringNotes (max 5000 chars)
varroaCountBeforeintegerVarroa count before treatment
varroaCountAfterintegerVarroa count after treatment
effectivenessstringhigh | medium | low | none
batchNumberstringEU: Medication batch number
supplierstringEU: Supplier name
veterinarianstringEU: Veterinarian name
Example
curl -X PUT "https://hivekraft.com/api/treatments/clx5abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"status":"completed","varroaCountAfter":3,"effectiveness":"high"}'
DELETE/api/treatments/[id]

Delete a treatment

Permanently removes a treatment record.

Path Parameters
NameTypeRequiredDescription
idstringYesTreatment ID
Example
curl -X DELETE "https://hivekraft.com/api/treatments/clx5abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Feedings

Track colony feedings (Fütterungen) with feed type and amounts.

GET/api/feedings

List feedings

Returns all feeding records for the user.

Query Parameters
NameTypeRequiredDescription
hiveIdstringNoFilter by hive
Example
curl -X GET "https://hivekraft.com/api/feedings?hiveId=clx2abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/feedings

Create a feeding

Records a new feeding event for a colony.

Request Body
FieldTypeDescription
hiveIdstringHive ID (required)e.g. clx2abc
feedTypestringsugar_syrup | fondant | honey | pollen_patty | other (required)e.g. sugar_syrup
amountnumberAmount in kg (required)e.g. 2.5
datestringFeeding date (required)e.g. 2025-09-01
notesstringFree-text notes
Example
curl -X POST "https://hivekraft.com/api/feedings" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"hiveId":"clx2abc","feedType":"sugar_syrup","amount":2.5,"date":"2025-09-01"}'
GET/api/feedings/[id]

Get a single feeding

Returns full details of a feeding record.

Path Parameters
NameTypeRequiredDescription
idstringYesFeeding ID
Example
curl -X GET "https://hivekraft.com/api/feedings/clx6abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/feedings/[id]

Update a feeding

Partially updates an existing feeding record. All fields are optional.

Path Parameters
NameTypeRequiredDescription
idstringYesFeeding ID
Request Body

Any subset of feeding fields

FieldTypeDescription
feedTypestringsugar_syrup | fondant | honey | pollen_patty | other
amountnumberAmount in kg (positive)
datestringFeeding date (ISO)e.g. 2025-09-15
notesstringNotes (max 5000 chars)
Example
curl -X PUT "https://hivekraft.com/api/feedings/clx6abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"amount":3.0,"notes":"Increased dose"}'
DELETE/api/feedings/[id]

Delete a feeding

Permanently removes a feeding record.

Path Parameters
NameTypeRequiredDescription
idstringYesFeeding ID
Example
curl -X DELETE "https://hivekraft.com/api/feedings/clx6abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Harvests

Record honey harvests (Ernten) with weight, water content, and honey type.

GET/api/harvests

List harvests

Returns all harvests for the authenticated user.

Example
curl -X GET "https://hivekraft.com/api/harvests" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/harvests

Create a harvest

Records a new honey harvest, optionally linked to specific hives.

Request Body
FieldTypeDescription
harvestDatestringHarvest date (required)e.g. 2025-07-10
honeyTypestringrapeseed | linden | acacia | forest | wildflower | summer | spring | othere.g. rapeseed
netWeightnumberNet weight in kg (required)e.g. 22.5
waterContentnumberWater content % (0-30)e.g. 17.2
apiaryIdstringAssociated apiary
hiveIdsarrayArray of hive IDs that contributed
notesstringFree-text notes
Example
curl -X POST "https://hivekraft.com/api/harvests" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"harvestDate":"2025-07-10","honeyType":"rapeseed","netWeight":22.5,"waterContent":17.2}'
GET/api/harvests/[id]

Get a single harvest

Returns full details for one harvest record.

Path Parameters
NameTypeRequiredDescription
idstringYesHarvest ID
Example
curl -X GET "https://hivekraft.com/api/harvests/clx7abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/harvests/[id]

Update a harvest

Partially updates an existing harvest record. All fields are optional.

Path Parameters
NameTypeRequiredDescription
idstringYesHarvest ID
Request Body

Any subset of harvest fields

FieldTypeDescription
apiaryIdstringApiary ID
harvestDatestringHarvest date (ISO)e.g. 2025-07-10
honeyTypestringrapeseed | acacia | linden | wildflower | forest | heather | chestnut | other
netWeightnumberNet weight in kg (positive)
waterContentnumberWater content % (0-30)
hiveIdsarrayArray of hive IDs contributing to the harvest
notesstringNotes (max 5000 chars)
Example
curl -X PUT "https://hivekraft.com/api/harvests/clx7abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"netWeight":24.0,"waterContent":16.8}'
DELETE/api/harvests/[id]

Delete a harvest

Soft-deletes a harvest record.

Path Parameters
NameTypeRequiredDescription
idstringYesHarvest ID
Example
curl -X DELETE "https://hivekraft.com/api/harvests/clx7abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Bottling

Manage honey bottling batches (Abfüllung) with jar sizes, counts, and harvest traceability.

GET/api/bottling

List bottling batches

Returns all bottling batches for the user.

Example
curl -X GET "https://hivekraft.com/api/bottling" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/bottling

Create a bottling batch

Records a new bottling batch, optionally linking to harvests for traceability.

Request Body
FieldTypeDescription
bottlingDatestringBottling date (required)e.g. 2025-07-15
honeyTypestringHoney typee.g. rapeseed
totalWeightnumberTotal weight in kg (required)e.g. 20.0
jarSizeinteger250 or 500 (ml, required)e.g. 500
jarCountintegerNumber of jars (required)e.g. 40
originstringOrigin label texte.g. Waldbienenstand, München
bestBeforestringBest-before date
harvestsarrayArray of {harvestId, weight} for traceability
Example
curl -X POST "https://hivekraft.com/api/bottling" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"bottlingDate":"2025-07-15","totalWeight":20,"jarSize":500,"jarCount":40}'
GET/api/bottling/[id]

Get a bottling batch

Returns full bottling details including linked harvests.

Path Parameters
NameTypeRequiredDescription
idstringYesBottling ID
Example
curl -X GET "https://hivekraft.com/api/bottling/clx8abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/bottling/[id]

Update a bottling batch

Partially updates an existing bottling batch. All fields are optional.

Path Parameters
NameTypeRequiredDescription
idstringYesBottling ID
Request Body

Any subset of bottling fields

FieldTypeDescription
bottlingDatestringBottling date (ISO)e.g. 2025-07-15
honeyTypestringHoney type
totalWeightnumberTotal weight in kg (positive)
jarSizeintegerJar size: 250 or 500 (grams)
jarCountintegerNumber of jars (positive)
Example
curl -X PUT "https://hivekraft.com/api/bottling/clx8abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"jarCount":45,"honeyType":"rapeseed"}'
DELETE/api/bottling/[id]

Delete a bottling batch

Permanently removes a bottling batch.

Path Parameters
NameTypeRequiredDescription
idstringYesBottling ID
Example
curl -X DELETE "https://hivekraft.com/api/bottling/clx8abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Inventory Items

Track beekeeping equipment and supplies (Inventar) with stock levels and minimum thresholds.

GET/api/inventory/items

List inventory items

Returns all inventory items across all storage locations.

Example
curl -X GET "https://hivekraft.com/api/inventory/items" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/inventory/items

Create an inventory item

Adds a new item to the inventory.

Request Body
FieldTypeDescription
locationIdstringStorage location (required)e.g. clxa...
namestringItem name (required)e.g. Dadant-Rähmchen
categorystringframes | boxes | tools | medication | feed | jars | labels | clothing | other (required)e.g. frames
quantityintegerCurrent stock counte.g. 120
unitstringUnit of measuremente.g. Stück
minStockintegerMinimum stock alert thresholde.g. 50
notesstringFree-text notes
Example
curl -X POST "https://hivekraft.com/api/inventory/items" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"locationId":"clxabc","name":"Dadant-Rähmchen","category":"frames","quantity":120,"minStock":50}'
GET/api/inventory/items/[id]

Get an inventory item

Returns full item details.

Path Parameters
NameTypeRequiredDescription
idstringYesItem ID
Example
curl -X GET "https://hivekraft.com/api/inventory/items/clx9abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/inventory/items/[id]

Update an inventory item

Partially updates item details.

Path Parameters
NameTypeRequiredDescription
idstringYesItem ID
Example
curl -X PUT "https://hivekraft.com/api/inventory/items/clx9abc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"quantity":100}'
DELETE/api/inventory/items/[id]

Delete an inventory item

Permanently removes an inventory item.

Path Parameters
NameTypeRequiredDescription
idstringYesItem ID
Example
curl -X DELETE "https://hivekraft.com/api/inventory/items/clx9abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Inventory Locations

Manage storage locations (Lagerorte) for your beekeeping equipment.

GET/api/inventory/locations

List storage locations

Returns all storage locations.

Example
curl -X GET "https://hivekraft.com/api/inventory/locations" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/inventory/locations

Create a storage location

Adds a new storage location.

Request Body
FieldTypeDescription
namestringLocation name (required)e.g. Werkstatt
typestringworkshop | garage | shed | cellar | attic | container | other (required)e.g. workshop
notesstringFree-text notes
Example
curl -X POST "https://hivekraft.com/api/inventory/locations" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Werkstatt","type":"workshop"}'
GET/api/inventory/locations/[id]

Get a storage location

Returns location details including item count.

Path Parameters
NameTypeRequiredDescription
idstringYesLocation ID
Example
curl -X GET "https://hivekraft.com/api/inventory/locations/clxaabc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/inventory/locations/[id]

Update a storage location

Partially updates a storage location. All fields are optional.

Path Parameters
NameTypeRequiredDescription
idstringYesLocation ID
Request Body

Any subset of location fields

FieldTypeDescription
namestringLocation name (max 100 chars)
typestringworkshop | garage | shed | cellar | attic | container | other
notesstringFree-text notes (max 2000 chars)
Example
curl -X PUT "https://hivekraft.com/api/inventory/locations/clxaabc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Neue Werkstatt","type":"workshop"}'
DELETE/api/inventory/locations/[id]

Delete a storage location

Removes a storage location. Must be empty first.

Path Parameters
NameTypeRequiredDescription
idstringYesLocation ID
Example
curl -X DELETE "https://hivekraft.com/api/inventory/locations/clxaabc" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Finance

Track beekeeping income and expenses (Finanzen) with categories and yearly overview.

GET/api/finance

Get financial overview

Returns income, expenses, and balance for the specified year.

Query Parameters
NameTypeRequiredDescription
yearintegerNoFilter by year (defaults to current year)e.g. 2025
Example
curl -X GET "https://hivekraft.com/api/finance?year=2025" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/finance

Create a finance entry

Records a new income or expense entry.

Request Body
FieldTypeDescription
typestringincome | expense (required)e.g. income
categorystringCategory (honey_sales, equipment, medication, feed, etc., required)e.g. honey_sales
amountnumberPositive amount (required)e.g. 350
descriptionstringDescription (required)e.g. Rapshonig Verkauf 15 Gläser
datestringDate (required)e.g. 2025-07-20
Example
curl -X POST "https://hivekraft.com/api/finance" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"type":"income","category":"honey_sales","amount":350,"description":"Rapshonig Verkauf","date":"2025-07-20"}'
DELETE/api/finance

Delete a finance entry

Deletes a finance entry by ID passed as a query parameter.

Query Parameters
NameTypeRequiredDescription
entryIdstringYesFinance entry ID to delete
Example
curl -X DELETE "https://hivekraft.com/api/finance?entryId=clxfabc" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Tasks

Manage beekeeping tasks (Aufgaben) with priorities, due dates, and recurring schedules.

GET/api/tasks

List tasks

Returns tasks with optional filtering by status, type, and priority.

Query Parameters
NameTypeRequiredDescription
statusstringNopending | in_progress | completed | skipped
typestringNoinspection | treatment | feeding | harvest | custom | seasonal
prioritystringNolow | medium | high | urgent
Example
curl -X GET "https://hivekraft.com/api/tasks?status=pending&priority=high" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/tasks

Create a task

Creates a new beekeeping task, optionally linked to a hive or apiary.

Request Body
FieldTypeDescription
titlestringTask title (required)e.g. Varroabehandlung Volk 3
descriptionstringDetailed description
hiveIdstringLink to a hive
apiaryIdstringLink to an apiary
typestringinspection | treatment | feeding | harvest | custom | seasonale.g. treatment
prioritystringlow | medium | high | urgente.g. high
dueDatestringDue datee.g. 2025-08-01
isRecurringbooleanWhether the task repeats
Example
curl -X POST "https://hivekraft.com/api/tasks" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"title":"Varroabehandlung Volk 3","type":"treatment","priority":"high","dueDate":"2025-08-01"}'
PUT/api/tasks/[id]

Update a task

Partially updates a task. Use this to mark tasks as completed.

Path Parameters
NameTypeRequiredDescription
idstringYesTask ID
Example
curl -X PUT "https://hivekraft.com/api/tasks/clxbabc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"status":"completed"}'
GET/api/tasks/[id]

Get a single task

Returns full details for one task.

Path Parameters
NameTypeRequiredDescription
idstringYesTask ID
Example
curl -X GET "https://hivekraft.com/api/tasks/clxbabc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
DELETE/api/tasks/[id]

Delete a task

Permanently removes a task.

Path Parameters
NameTypeRequiredDescription
idstringYesTask ID
Example
curl -X DELETE "https://hivekraft.com/api/tasks/clxbabc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/tasks/seasonal

Generate seasonal tasks

Auto-generates seasonal beekeeping tasks based on the current date, location, and colony status. Returns the list of newly created tasks.

Example
curl -X POST "https://hivekraft.com/api/tasks/seasonal" \
  -H "Authorization: Bearer hk_live_abc123def456..."

IoT Devices

Manage IoT sensor devices (hive scales, temperature sensors) and their readings.

GET/api/iot/devices

List IoT devices

Returns all IoT devices with optional filtering.

Query Parameters
NameTypeRequiredDescription
statusstringNoactive | offline | maintenance
deviceTypestringNoscale | temp_sensor | bee_counter | gps_tracker
hiveIdstringNoFilter by assigned hive
dataSourcestringNodirect | thingspeak | csv
Example
curl -X GET "https://hivekraft.com/api/iot/devices?status=active" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/iot/devices

Create an IoT device

Registers a new IoT device. Supports direct push, ThingSpeak, and CSV data sources. Device limits: Free=3, Pro=10, Business=unlimited.

Request Body
FieldTypeDescription
namestringDevice name (required)e.g. Waage Volk 1
deviceTypestringscale | temp_sensor | bee_counter | gps_tracker (required)e.g. scale
dataSourcestringdirect | thingspeak | csv (required)e.g. direct
manufacturerstringManufacturer namee.g. HiveTool
hiveIdstringAssign to a hive
readingIntervalMinutesintegerExpected reading interval (1-1440, default 15)e.g. 15
Example
curl -X POST "https://hivekraft.com/api/iot/devices" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Waage Volk 1","deviceType":"scale","dataSource":"direct"}'
GET/api/iot/devices/[id]

Get an IoT device

Returns device details including latest reading.

Path Parameters
NameTypeRequiredDescription
idstringYesDevice ID
Example
curl -X GET "https://hivekraft.com/api/iot/devices/clxcabc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PUT/api/iot/devices/[id]

Update an IoT device

Updates device configuration.

Path Parameters
NameTypeRequiredDescription
idstringYesDevice ID
Example
curl -X PUT "https://hivekraft.com/api/iot/devices/clxcabc" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Waage Volk 2","hiveId":"clx2xyz"}'
DELETE/api/iot/devices/[id]

Delete an IoT device

Removes an IoT device and all its readings.

Path Parameters
NameTypeRequiredDescription
idstringYesDevice ID
Example
curl -X DELETE "https://hivekraft.com/api/iot/devices/clxcabc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/iot/devices/[id]/readings

Get device readings

Returns sensor readings for a device with optional time range filtering and daily aggregation.

Path Parameters
NameTypeRequiredDescription
idstringYesDevice ID
Query Parameters
NameTypeRequiredDescription
fromstringNoStart date (ISO)e.g. 2025-06-01
tostringNoEnd date (ISO)e.g. 2025-06-30
limitintegerNoMax readings to return
offsetintegerNoPagination offset
aggregatestringNoSet to "daily" for daily aggregates
Example
curl -X GET "https://hivekraft.com/api/iot/devices/clxcabc/readings?from=2025-06-01&to=2025-06-30&aggregate=daily" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/iot/devices/[id]/sync

Sync ThingSpeak device

Manually triggers a data sync for a ThingSpeak-connected device.

Path Parameters
NameTypeRequiredDescription
idstringYesDevice ID
Example
curl -X POST "https://hivekraft.com/api/iot/devices/clxcabc/sync" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/iot/devices/[id]/assign

Assign device to a hive

Assigns an IoT device to a hive or unassigns it (pass null).

Path Parameters
NameTypeRequiredDescription
idstringYesDevice ID
Request Body
FieldTypeDescription
hiveIdstring|nullHive ID to assign to, or null to unassigne.g. clx2abc
Example
curl -X POST "https://hivekraft.com/api/iot/devices/clxcabc/assign" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"hiveId":"clx2abc"}'
POST/api/iot/devices/[id]/import

Import CSV readings

Imports sensor readings from a CSV file (max 5 MB). Uses multipart/form-data with a file and a JSON config for column mapping.

Path Parameters
NameTypeRequiredDescription
idstringYesDevice ID
Request Body

multipart/form-data

FieldTypeDescription
filefileCSV file (required, max 5 MB)
configstringJSON config with mapping (column indices), timestampFormat (iso|unix|european|american), timezoneOffset (-720..720)
Example
curl -X POST "https://hivekraft.com/api/iot/devices/clxcabc/import" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -F "file=@readings.csv" \
  -F 'config={"mapping":{"timestamp":0,"weight":1,"temperature":2},"timestampFormat":"iso"}'
GET/api/iot/alerts

List IoT alerts

Returns IoT device alerts (e.g. weight drop, temperature anomaly). Optionally filter to unread only.

Query Parameters
NameTypeRequiredDescription
unreadbooleanNoFilter to unread alerts only (default: false)
Example
curl -X GET "https://hivekraft.com/api/iot/alerts?unread=true" \
  -H "Authorization: Bearer hk_live_abc123def456..."
PATCH/api/iot/alerts

Update an IoT alert

Marks an alert as read or resolves it.

Request Body
FieldTypeDescription
alertIdstringAlert ID (required)e.g. clxaabc
actionstringread | resolve (required)e.g. read
Example
curl -X PATCH "https://hivekraft.com/api/iot/alerts" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"alertId":"clxaabc","action":"resolve"}'
POST/api/iot/sync

Sync all ThingSpeak devices

Triggers a data sync for all ThingSpeak-connected devices belonging to the user.

Example
curl -X POST "https://hivekraft.com/api/iot/sync" \
  -H "Authorization: Bearer hk_live_abc123def456..."

IoT Push

Push sensor data from IoT devices. Uses device-specific X-API-Key header instead of Bearer token.

POST/api/iot/push

Push a sensor reading

Pushes a single sensor reading from a device. Authenticates via X-API-Key header (device API key, not user API key). Rate limit: 60 requests/minute.

Request Body
FieldTypeDescription
deviceIdstringDevice ID (required)e.g. clxcabc
timestampstringReading timestamp (defaults to now)e.g. 2025-06-15T12:00:00Z
weightnumberWeight in kge.g. 42.3
temperaturenumberOuter temperature in °Ce.g. 24.5
tempInnernumberInner hive temperature in °Ce.g. 35.1
humiditynumberHumidity % (0-100)e.g. 62
batteryVoltagenumberBattery voltagee.g. 3.7
Example
curl -X POST "https://hivekraft.com/api/iot/push" \
  -H "X-API-Key: device_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"deviceId":"clxcabc","weight":42.3,"temperature":24.5,"humidity":62}'
POST/api/iot/push/batch

Push a batch of readings

Pushes up to 100 sensor readings at once. Useful for buffered devices that go offline. Rate limit: 10 requests/minute.

Request Body
FieldTypeDescription
readingsarrayArray of reading objects (1-100, required)
Example
curl -X POST "https://hivekraft.com/api/iot/push/batch" \
  -H "X-API-Key: device_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"readings":[{"deviceId":"clxcabc","weight":42.3},{"deviceId":"clxcabc","weight":42.4}]}'

Compliance

EU 2019/6 colony record book (Bestandsbuch) compliance checks, history, and exports.

GET/api/compliance/checks

Get compliance status

Returns the latest compliance check result or full check history.

Query Parameters
NameTypeRequiredDescription
historybooleanNoSet to "true" to get full history
Example
curl -X GET "https://hivekraft.com/api/compliance/checks" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/compliance/export

Export compliance data

Exports compliance entries as JSON or CSV. CSV export requires Pro plan.

Query Parameters
NameTypeRequiredDescription
formatstringNojson (default) | csv
hiveIdstringNoFilter by hive
apiaryIdstringNoFilter by apiary
startDatestringNoDate range start
endDatestringNoDate range end
Example
curl -X GET "https://hivekraft.com/api/compliance/export?format=csv&startDate=2025-01-01" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/compliance/pdf

Export as PDF (Bestandsbuch)

Generates a bilingual PDF colony record book. Free users: 1 PDF/month. Pro/Business: unlimited.

Query Parameters
NameTypeRequiredDescription
yearintegerNoYear to export (default: current year)e.g. 2025
localestringNode | en (default: de)
Example
curl -X GET "https://hivekraft.com/api/compliance/pdf?year=2025&locale=de" \
  -H "Authorization: Bearer hk_live_abc123def456..." -o Bestandsbuch-2025.pdf
GET/api/compliance

List compliance entries

Returns compliance-relevant treatment entries with all EU required fields.

Query Parameters
NameTypeRequiredDescription
hiveIdstringNoFilter by hive
apiaryIdstringNoFilter by apiary
startDatestringNoDate range start
endDatestringNoDate range end
Example
curl -X GET "https://hivekraft.com/api/compliance?apiaryId=clx1abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/compliance/checks

Run a compliance check

Triggers a full EU 2019/6 compliance check across all colonies and returns the result with score and issues.

Example
curl -X POST "https://hivekraft.com/api/compliance/checks" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/compliance/vet-report

Export veterinary report PDF

Generates a bilingual veterinary report PDF with all treatment data for the specified year.

Query Parameters
NameTypeRequiredDescription
yearintegerNoYear to export (default: current year)e.g. 2025
localestringNode | en (default: de)
Example
curl -X GET "https://hivekraft.com/api/compliance/vet-report?year=2025&locale=de" \
  -H "Authorization: Bearer hk_live_abc123def456..." -o Veterinaerbericht-2025.pdf

Phenology

Growing degree days (GTS), bloom reports, treatment windows, and harvest timing based on phenological data.

GET/api/phenology/gts

Get GTS dashboard data

Returns growing degree sum (Grünland-Temperatursumme) for all apiaries with phenological phase indicators.

Example
curl -X GET "https://hivekraft.com/api/phenology/gts" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/phenology/bloom-reports

Get regional bloom reports

Returns bloom reports from the community near the given coordinates.

Query Parameters
NameTypeRequiredDescription
latnumberYesLatitudee.g. 48.137
lngnumberYesLongitudee.g. 11.576
radiusnumberNoSearch radius in km (0.1-500)e.g. 25
Example
curl -X GET "https://hivekraft.com/api/phenology/bloom-reports?lat=48.137&lng=11.576&radius=25" \
  -H "Authorization: Bearer hk_live_abc123def456..."
POST/api/phenology/bloom-reports

Submit a bloom report

Reports a plant bloom observation at your location. Notes are AI-moderated.

Request Body
FieldTypeDescription
plantNamestringPlant name (required)e.g. Raps
bloomStagestringBloom stagee.g. full_bloom
latitudenumberObservation latitude
longitudenumberObservation longitude
notestringOptional observation note
Example
curl -X POST "https://hivekraft.com/api/phenology/bloom-reports" \
  -H "Authorization: Bearer hk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"plantName":"Raps","bloomStage":"full_bloom","latitude":48.137,"longitude":11.576}'
GET/api/phenology/treatment-windows

Get treatment windows

Returns recommended treatment windows based on phenological conditions.

Example
curl -X GET "https://hivekraft.com/api/phenology/treatment-windows" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/phenology/harvest-timing

Get harvest timing

Returns recommended harvest timing based on bloom data and weather conditions.

Example
curl -X GET "https://hivekraft.com/api/phenology/harvest-timing" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/phenology/today

Get daily phenology tasks

Returns phenology-based daily tasks and recommendations for the current date. Cached for 1 hour.

Example
curl -X GET "https://hivekraft.com/api/phenology/today" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/phenology/bloom/[apiaryId]

Get bloom data for an apiary

Returns current bloom data (flowering plants, nectar flow) for a specific apiary location.

Path Parameters
NameTypeRequiredDescription
apiaryIdstringYesApiary ID
Example
curl -X GET "https://hivekraft.com/api/phenology/bloom/clx1abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/phenology/anomalies

Detect phenological anomalies

Analyzes phenological data to detect anomalies such as unusual bloom timing, temperature deviations, or unexpected nectar flow patterns.

Example
curl -X GET "https://hivekraft.com/api/phenology/anomalies" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Weather

Weather forecasts and alerts for your apiary locations. Powered by DWD (Bright Sky).

GET/api/weather/[apiaryId]

Get weather forecast

Returns the weather forecast for a specific apiary based on its GPS coordinates.

Path Parameters
NameTypeRequiredDescription
apiaryIdstringYesApiary ID (must have GPS coordinates)
Example
curl -X GET "https://hivekraft.com/api/weather/clx1abc" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/weather/alerts

Get weather alerts

Returns active weather alerts (frost, heat, heavy rain, strong wind) for all apiaries.

Query Parameters
NameTypeRequiredDescription
localestringNode | en (default: de)
Example
curl -X GET "https://hivekraft.com/api/weather/alerts" \
  -H "Authorization: Bearer hk_live_abc123def456..."

Varroa

Varroa mite monitoring data, trend analysis, and treatment effectiveness tracking.

GET/api/varroa

Get varroa data

Returns varroa monitoring data across all hives.

Example
curl -X GET "https://hivekraft.com/api/varroa" \
  -H "Authorization: Bearer hk_live_abc123def456..."
GET/api/varroa/effectiveness

Get treatment effectiveness

Analyzes the effectiveness of past varroa treatments.

Example
curl -X GET "https://hivekraft.com/api/varroa/effectiveness" \
  -H "Authorization: Bearer hk_live_abc123def456..."