API Reference (short)

Engine endpoints return a decision + explainable signals.

Endpoints

Public
GET /health
Authenticated
GET /v1/check/ip/{ip}
GET /v1/check/domain/{domain}
GET /v1/check/email/{email}
Header
X-API-Key required for /v1/*

Response shape (example)

json
{
  "decision": "challenge",
  "action": {
    "type": "soft_block",
    "retry_after_seconds": 300,
    "reason": "score_in_challenge_band"
  },
  "score": 42,
  "confidence": 0.7,
  "signals": [
    {
      "id": "feed:tor_exits:0",
      "category": "anonymizer",
      "weight": 25,
      "match": "<ip>",
      "source": "tor_exits"
    }
  ],
  "evidence": [
    {
      "source": "tor_exits",
      "category": "anonymizer",
      "match": "<ip>",
      "weight": 25
    }
  ],
  "enrichment": {
    "ip": "<ip>"
  },
  "request_id": "<request-id>",
  "timing_ms": {
    "total": 12
  },
  "ts": 0
}

curl examples

bash
curl <ENGINE_BASE_URL>/health
curl -H 'X-API-Key: <key>' <ENGINE_BASE_URL>/v1/check/ip/1.1.1.1
curl -H 'X-API-Key: <key>' <ENGINE_BASE_URL>/v1/check/domain/example.com
curl -H 'X-API-Key: <key>' <ENGINE_BASE_URL>/v1/check/email/name@example.com