8.2 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			8.2 KiB
		
	
	
	
	
	
	
	
API Contracts - Main
This document outlines the API endpoints available in the Pig Farm Controller application.
Public Routes (No Authentication Required)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/users | 
User registration | 
| POST | /api/v1/users/login | 
User login | 
| POST | /upstream | 
Handle device upstream events | 
| GET | /swagger/*any | 
Swagger UI | 
Authenticated Routes (JWT Authentication and Audit Logging Required)
User Endpoints (/api/v1/users)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/users/:id/notifications/test | 
Send test notification | 
Device Endpoints (/api/v1/devices)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/devices | 
Create device | 
| GET | /api/v1/devices | 
List devices | 
| GET | /api/v1/devices/:id | 
Get single device | 
| PUT | /api/v1/devices/:id | 
Update device | 
| DELETE | /api/v1/devices/:id | 
Delete device | 
| POST | /api/v1/devices/manual-control/:id | 
Manual control device | 
Area Controller Endpoints (/api/v1/area-controllers)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/area-controllers | 
Create area controller | 
| GET | /api/v1/area-controllers | 
List area controllers | 
| GET | /api/v1/area-controllers/:id | 
Get single area controller | 
| PUT | /api/v1/area-controllers/:id | 
Update area controller | 
| DELETE | /api/v1/area-controllers/:id | 
Delete area controller | 
Device Template Endpoints (/api/v1/device-templates)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/device-templates | 
Create device template | 
| GET | /api/v1/device-templates | 
List device templates | 
| GET | /api/v1/device-templates/:id | 
Get single device template | 
| PUT | /api/v1/device-templates/:id | 
Update device template | 
| DELETE | /api/v1/device-templates/:id | 
Delete device template | 
Plan Endpoints (/api/v1/plans)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/plans | 
Create plan | 
| GET | /api/v1/plans | 
List plans | 
| GET | /api/v1/plans/:id | 
Get single plan | 
| PUT | /api/v1/plans/:id | 
Update plan | 
| DELETE | /api/v1/plans/:id | 
Delete plan | 
| POST | /api/v1/plans/:id/start | 
Start plan | 
| POST | /api/v1/plans/:id/stop | 
Stop plan | 
Pig House Endpoints (/api/v1/pig-houses)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/pig-houses | 
Create pig house | 
| GET | /api/v1/pig-houses | 
List pig houses | 
| GET | /api/v1/pig-houses/:id | 
Get single pig house | 
| PUT | /api/v1/pig-houses/:id | 
Update pig house | 
| DELETE | /api/v1/pig-houses/:id | 
Delete pig house | 
Pen Endpoints (/api/v1/pens)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/pens | 
Create pen | 
| GET | /api/v1/pens | 
List pens | 
| GET | /api/v1/pens/:id | 
Get single pen | 
| PUT | /api/v1/pens/:id | 
Update pen | 
| DELETE | /api/v1/pens/:id | 
Delete pen | 
| PUT | /api/v1/pens/:id/status | 
Update pen status | 
Pig Batch Endpoints (/api/v1/pig-batches)
| Method | Path | Description | 
|---|---|---|
| POST | /api/v1/pig-batches | 
Create pig batch | 
| GET | /api/v1/pig-batches | 
List pig batches | 
| GET | /api/v1/pig-batches/:id | 
Get single pig batch | 
| PUT | /api/v1/pig-batches/:id | 
Update pig batch | 
| DELETE | /api/v1/pig-batches/:id | 
Delete pig batch | 
| POST | /api/v1/pig-batches/assign-pens/:id | 
Assign empty pens to batch | 
| POST | /api/v1/pig-batches/reclassify-pen/:fromBatchID | 
Reclassify pen to new batch | 
| DELETE | /api/v1/pig-batches/remove-pen/:penID/:batchID | 
Remove empty pen from batch | 
| POST | /api/v1/pig-batches/move-pigs-into-pen/:id | 
Move pigs into pen | 
| POST | /api/v1/pig-batches/sell-pigs/:id | 
Sell pigs | 
| POST | /api/v1/pig-batches/buy-pigs/:id | 
Buy pigs | 
| POST | /api/v1/pig-batches/transfer-across-batches/:sourceBatchID | 
Transfer pigs across batches | 
| POST | /api/v1/pig-batches/transfer-within-batch/:id | 
Transfer pigs within batch | 
| POST | /api/v1/pig-batches/record-sick-pigs/:id | 
Record sick pigs event | 
| POST | /api/v1/pig-batches/record-sick-pig-recovery/:id | 
Record sick pig recovery event | 
| POST | /api/v1/pig-batches/record-sick-pig-death/:id | 
Record sick pig death event | 
| POST | /api/v1/pig-batches/record-sick-pig-cull/:id | 
Record sick pig cull event | 
| POST | /api/v1/pig-batches/record-death/:id | 
Record normal pig death event | 
| POST | /api/v1/pig-batches/record-cull/:id | 
Record normal pig cull event | 
Monitor Endpoints (/api/v1/monitor)
| Method | Path | Description | 
|---|---|---|
| GET | /api/v1/monitor/sensor-data | 
List sensor data | 
| GET | /api/v1/monitor/device-command-logs | 
List device command logs | 
| GET | /api/v1/monitor/plan-execution-logs | 
List plan execution logs | 
| GET | /api/v1/monitor/task-execution-logs | 
List task execution logs | 
| GET | /api/v1/monitor/pending-collections | 
List pending collections | 
| GET | /api/v1/monitor/user-action-logs | 
List user action logs | 
| GET | /api/v1/monitor/raw-material-purchases | 
List raw material purchases | 
| GET | /api/v1/monitor/raw-material-stock-logs | 
List raw material stock logs | 
| GET | /api/v1/monitor/feed-usage-records | 
List feed usage records | 
| GET | /api/v1/monitor/medication-logs | 
List medication logs | 
| GET | /api/v1/monitor/pig-batch-logs | 
List pig batch logs | 
| GET | /api/v1/monitor/weighing-batches | 
List weighing batches | 
| GET | /api/v1/monitor/weighing-records | 
List weighing records | 
| GET | /api/v1/monitor/pig-transfer-logs | 
List pig transfer logs | 
| GET | /api/v1/monitor/pig-sick-logs | 
List pig sick logs | 
| GET | /api/v1/monitor/pig-purchases | 
List pig purchases | 
| GET | /api/v1/monitor/pig-sales | 
List pig sales | 
| GET | /api/v1/monitor/notifications | 
List notifications |