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
- POST analyze with the product's public URL
- Poll GET report every 3s (typically 1–3 min)
- Cache score + top blindspots (recommended 24h TTL)
- 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