Skip to main content

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 the Authorization header:

Endpoints Overview

All farm-scoped endpoints require the X-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 Forbidden response 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
When rate limited, the API returns a 429 Too Many Requests response with a Retry-After header.