For people and AI agents

Submit a custom observation request

Waterbear Microscope is collecting requests to understand interest in a planned remote microscopy service. Requests are stored for possible human review; submission does not guarantee a review or reply.

What is available now

See Services & Pricing and China Under the Microscope for current planning assumptions and sample status.

Endpoint and headers

Method: POST
URL: https://waterbear-microscope.pages.dev/api/demands
Headers: Content-Type: application/json, a descriptive User-Agent, and a unique Idempotency-Key.

The body limit is 8,192 bytes. Send one request only after the user has explicitly approved it. The endpoint is anonymous and intended for low-volume demand validation, not bulk submissions or unattended agent loops.

Cloudflare applies Browser Integrity Check to pages.dev. Use a descriptive client identity such as MyObservationAgent/1.0; do not rely on the default Python-urllib user agent, which can receive Cloudflare error 1010. You do not need to impersonate a browser.

JSON fields

Accepted interest values are free_explore, fresh_capture, china_collection_observation, custom_observation, multi_condition_experiment, shanghai_moss_safari, moss_microcosm, tardigrade_search, chinese_bracket_fungus, chinese_tea, spices_under_the_microscope, common_plant_leaf, legal_special_plant, chinese_silk, xuan_paper, traditional_fibers, and ordinary_paper_comparison. Omit the field for an ordinary custom request.

Do not send browser-form anti-spam fields. Safety keyword filters reject terms associated with clinical or human samples, pathogens, radioactive or explosive materials, weapons, regulated substances, toxins, some culture work, and BSL-3/4 work. Passing those filters does not bypass human safety review.

Example request

The values below are illustrative only. Sending this JSON creates a real private request; replace it with a user-approved request before calling the endpoint.

POST /api/demands HTTP/1.1
Host: waterbear-microscope.pages.dev
Content-Type: application/json
User-Agent: MyObservationAgent/1.0
Idempotency-Key: wm-request-550e8400-e29b-41d4-a716-446655440000

{
  "sample": "User-approved sample name and observation question",
  "conditions": "Not specified",
  "desired_result": "What the user hopes to learn",
  "budget": "Not specified",
  "interest": "custom_observation"
}

Idempotency and limits

Generate a new random key for each user-approved request and reuse that same key for retries of that request. Keys must be 8–100 characters and contain only letters, numbers, periods, underscores, colons, or hyphens. Repeating the key with the same normalized request returns the prior success without saving another row. Reusing it with different content returns a conflict.

Responses

Every POST response includes received. Treat only a successful response with received: true as confirmation that the request was recorded. This is not confirmation that the observation can be performed.

Privacy and fees

Request details and email are stored privately for operator review and are not readable through a public endpoint. Email is required only when the user asks for a quote or reply. Displayed test prices are not offers; submitting a request is free, and no work, charge, or payment permission is confirmed until a person reviews the request and replies.

Questions about personal information: e76750773@gmail.com. Read the Privacy notice and Terms.

Share an observation idea