API quickstart

One endpoint, one JSON report. First call in one paste; the key comes after.

POST /api/v1/inspect takes a document or an image and returns structural fraud-risk signals as JSON. Everything else is in the API reference.

1. Inspect a document

curl -s https://tamperlens.com/api/v1/inspect -F [email protected]

No key, no account: 10 documents an hour per IP, full report. PDFs, Office documents and images, up to 10 MB; a raw body works instead of multipart.

2. Read the report

{
  "summary": { "riskScore": 95, "riskBand": "high", "signalCount": 2 },
  "signals": [
    { "id": "incremental-updates", "severity": "high", "title": "…", "evidence": {…} }
  ]
}
  • summary.riskBand is the routing decision: low under 30, elevated 30-69, high 70 and up. high is reserved for reports carrying a high-severity signal, so weak findings cannot pile up into it.
  • signals[].id and severity, stable family ids. Branch on these when one family matters more to your flow than the single score does.
  • signals[].evidence is worth storing. Small, no document content, and it is what a human reviewer needs.

Tamperlens reports risk signals, not authenticity verdicts. Signals can have benign causes; combine them with your own decision logic.

3. Get a key

Create an account: email and password, no card. Free key immediately, 50 documents a month, shown once. Sent as -H "Authorization: Bearer tl_…", the call is metered against your quota, not the hourly IP limit.

curl -s https://tamperlens.com/api/v1/auth/signup \
  -H 'Content-Type: application/json' \
  -d '{"email":"[email protected]","password":"a-long-enough-password"}'

# -> {"user":{…},"apiKey":{"plaintext":"tl_…","plan":"free","quota":50}}

Next