API Reference
Eyesotope provides a RESTful API for programmatic access to your farm data. This section provides an overview of the API structure.Full interactive API documentation with request/response examples is coming soon. This page provides a structural overview.
Base URL
Authentication
The API uses token-based authentication. Include your token in theAuthorization header:
Endpoints Overview
All farm-scoped endpoints require theX-Farm-ID header with your farm UUID.
Core Resources
Agriculture & Crop Data
Satellite & Remote Sensing
Climate Intelligence (NASA POWER)
Crop Intelligence
AI Assistant
Streaming Chat (SSE)
The streaming endpoint (/ai/chat/stream/) returns a text/event-stream response with the following event types:
Chat Request Fields
File Upload
The upload endpoint (/ai/upload/) accepts multipart file uploads with the following constraints:
- Supported formats — JPEG, PNG, WebP, GIF, PDF, TXT, CSV
- Max file size — 10 MB
- Rate limit — 10 uploads per minute
- Security — MIME type validated via magic bytes, filenames sanitized, image decompression bomb protection, PDF page limit (200 pages)
Billing & Subscriptions
Role-Based Access
API endpoints enforce the same role-based permissions as the web interface:- GET requests — Available to all authenticated members
- POST, PUT, PATCH — Requires Operator role or above
- DELETE — Requires Manager role or above
- Viewers receive a
403 Forbiddenresponse for write operations
Authentication & Account
Notifications
Archive
Activity Log
Response Format
All responses are in JSON format. List endpoints support pagination:Error Responses
Rate Limiting
The API enforces rate limiting to ensure fair usage:- Authenticated requests — Throttled per user
- Anonymous requests — Throttled per IP address
- Rate limit headers are included in responses:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset
429 Too Many Requests response with a Retry-After header.