← Documentation

Partner API

Integrate Revel audits into your platform with server-side REST API keys.

Overview

The Partner API lets platforms (e.g. Arcapush) run Revel audits server-side and display Reveal Index, blindspots, and Blueprint to their users. Use REST — no MCP required.

Apply at /partners. After approval you receive a key starting with rvl_pk_.

Access models

  • Whitelisted — admin-approved partners, no per-call charge
  • Trial — limited free access
  • Paid — prepaid credits ($0.35 per audit)

Authentication

Server-side only. Never expose keys in browser code.

Authorization: Bearer rvl_pk_...
# or
X-Revel-Partner-Key: rvl_pk_...

Endpoints

GET /api/partner/v1/health

Service info, pricing, and endpoint list. No auth required.

POST /api/partner/v1/analyze

Body: { "url": "https://example.com" }

Start an audit. Returns analysisId and poll URL.

GET /api/partner/v1/report/:analysisId

Poll until status is completed. Partners only see their own analyses.

Integration flow

  1. POST analyze with the product's public URL
  2. Poll GET report every 3s (typically 1–3 min)
  3. Cache score + top blindspots (recommended 24h TTL)
  4. Display insights only — do not auto-edit user content

Example (Node.js)

const REVEL = "https://tryrevel.xyz";
const KEY = process.env.REVEL_PARTNER_API_KEY;

const start = await fetch(`${REVEL}/api/partner/v1/analyze`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ url: "https://example.com" }),
});
const { analysisId } = await start.json();

// Poll until completed
let report;
while (true) {
  const res = await fetch(`${REVEL}/api/partner/v1/report/${analysisId}`, {
    headers: { Authorization: `Bearer ${KEY}` },
  });
  report = await res.json();
  if (report.status === "completed") break;
  if (report.status === "failed") throw new Error(report.error);
  await new Promise((r) => setTimeout(r, 3000));
}

console.log(report.score, report.report.blindspots);

Errors

  • 401 — invalid or missing API key
  • 402 — paid partner, no credits
  • 403 — pending approval
  • 429 — rate limit (30/min per partner)

Env vars (your server)

REVEL_PARTNER_API_URL=https://tryrevel.xyz
REVEL_PARTNER_API_KEY=rvl_pk_...
REVEL_CACHE_TTL_HOURS=24