Phenomainonresearch← Back to phenomainon.com
Public API

HTTP endpoints

Two production services back the platform. Both accept the same X-API-Key header.

Semantic search

curl -X POST https://mcp.phenomainon.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "semantic_search",
      "arguments": {
        "query": "triangular silent low altitude",
        "k": 20
      }
    }
  }'

Get a case

curl -X POST https://mcp.phenomainon.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "jsonrpc": "2.0", "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_case",
      "arguments": { "pcf": "PCF-103868" }
    }
  }'

Aggregate stats

curl -X POST https://mcp.phenomainon.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "jsonrpc": "2.0", "id": 1,
    "method": "tools/call",
    "params": {
      "name": "stats",
      "arguments": { "group_by": "decade" }
    }
  }'

UAP CV analyze

curl -X POST https://api.phenomainon.com/analyze \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "imageUrl": "https://example.com/sighting.jpg",
    "mode": "thorough"
  }'

Health checks

curl https://mcp.phenomainon.com/healthz
# → {"status":"ok","events":252001}

curl https://api.phenomainon.com/healthz
# → {"status":"ok"}

Rate limits

Anonymous: 1 call per capability per day (search, semantic, MCP, CV). Researcher tier (free, vetted): 10,000/day for query tools, 200/day for UAP CV. Press and paid API tiers available — email joe.schurman@gmail.com.

Errors

  • 401 — missing or invalid X-API-Key
  • 403 — key not authorized for this capability
  • 429 — daily limit reached; wait 24h or upgrade your tier
  • 500 — server error; please report at joe.schurman@gmail.com

Prefer MCP?

For language-model integration use the MCP client setup — it carries the same tools with native tool-use semantics.