✣PollinationTechOPEN INFRASTRUCTURE SERVER README →
POLLINATIONTECH OPEN / REFERENCE API

Validate. Ingest.
Query.

A working reference server for PollinationTech Open Observation v0.2.0. It validates incoming records against the JSON Schema, stores accepted observations in SQLite, and exposes simple query endpoints.

01 / ENDPOINTS

A small API on purpose.

POST/validate

Check a record against schema v0.2.0 without storing it.

POST/observations

Validate and ingest an observation. Duplicate record IDs return 409.

GET/observations/:id

Fetch the full accepted record by its stable record ID.

GET/observations

Filter by type, measurement level, or geographic bounding box.

GET/stats

Return record counts by observation type and measurement level.

GET/schema

Return the schema currently enforced by the server.

02 / EXAMPLE

One request from acceptance.

curl -X POST https://api.pollinationtech.com/observations \
  -H "Content-Type: application/json" \
  --data-binary @example-flower-visitation.json
REFERENCE IMPLEMENTATION

The included server is intentionally simple and transparent. Public production ingestion should add authentication, rate limiting, request-size limits, managed persistence, audit logging, and privacy enforcement before accepting third-party writes.

03 / WHY FASTAPI

Readable infrastructure.

The server uses FastAPI for HTTP routing and automatically generated OpenAPI documentation, while the PollinationTech schema remains the source of truth for the observation payload.

Validation uses Python's jsonschema Draft 2020-12 validator so errors can point to the precise failing JSON path instead of returning a generic bad-request response.