loader
Developers

The Redeyed API

Plug Redeyed's self-hosted AI, IP-reputation and human-verification engines straight into your product. Scoped, rate-limited keys. A clean JSON envelope. Quota first, then credits.

https://redeyed.com/api/v1

01Authentication

Send your key in the X-Api-Key header on every request (a Bearer token also works). Keep keys server-side — never ship them in client code.

# every request carries your key
curl https://redeyed.com/api/v1/me \
  -H "X-Api-Key: rk_xxxxxxxx_your_secret"

02Responses

Every response is wrapped in a predictable envelope. Success returns data; failures return error. meta always carries a request_id (quote it in support requests) and your live usage.

// success
{
  "data": { /* endpoint payload */ },
  "meta": { "request_id": "…", "version": "v1",
    "usage": { "mode": "quota", "charged": 0, "credit_balance": 980 } }
}

// error
{
  "error": { "code": "insufficient_scope", "message": "…" },
  "meta": { "request_id": "…" }
}

03Scopes

Keys follow least-privilege — grant only the scopes a key needs when you create it. A key with no scopes has full access (legacy behaviour).

ScopeGrants
account:readRead account, plan, quota & usage
sentinel:ipIP reputation lookups
sentinel:verifyServer-side captcha / human verification
ai:chatAI chat completions
ai:paraphraseAI paraphrasing / rewriting
ai:imageAI image generation

04Endpoints

MethodPathScopeDescription
GET /me account:read Your account, plan and remaining quota.
GET /ip/{ip} sentinel:ip IP reputation score, risk flags, geo & ASN. Omit {ip} to score the caller.
POST /verify sentinel:verify Server-side verification of a Sentinel captcha token.
POST /ai/chat ai:chat Chat completion — send a prompt or a messages array.
POST /ai/paraphrase ai:paraphrase Rewrite text in a chosen tone.
POST /ai/image ai:image Generate an image; returns a hosted URL.
# IP reputation
curl https://redeyed.com/api/v1/ip/1.1.1.1 -H "X-Api-Key: rk_…"

# AI chat
curl -X POST https://redeyed.com/api/v1/ai/chat \
  -H "X-Api-Key: rk_…" -H "Content-Type: application/json" \
  -d '{"prompt":"Summarize the OWASP Top 10 in 5 bullets","mode":"medium"}'

# Image generation
curl -X POST https://redeyed.com/api/v1/ai/image \
  -H "X-Api-Key: rk_…" -H "Content-Type: application/json" \
  -d '{"prompt":"a neon red-eyed owl, cinematic"}'

05Rate limits & metering

Two layers protect the API: a hard per-minute transport limit (by plan, below) and quota-then-credits metering. Within your plan's quota, calls are free; past it, each call spends credits at its listed cost. Out of both returns 429.

PlanRequests / minute
free60
entry300
core1,000
arsenal5,000
dominion20,000
monarch60,000

06Errors

Errors use standard HTTP status codes with a machine-readable code:

401unauthenticated / invalid_key / key_expired
403insufficient_scope / ip_not_allowed
422validation_failed (with a details map)
429rate_limited / quota_exceeded
503model_unavailable / image_unavailable — credits auto-refunded

07Try it live

Click Authorize, paste your API key, then expand any endpoint and hit Try it out — requests run against your live account (and count toward your quota).

Ready to build?

Create a key, pick your scopes, and you're live in minutes.

Get started free