Integrate risk detection into any application. Send customer text, get back structured risk assessments in under 2 seconds.
The RiskDetect API analyzes customer interactions (emails, call transcripts, chat messages) and returns a risk assessment with a numerical score, detected signals, summary, recommended action, and urgency level.
All responses are JSON. All endpoints accept POST requests with JSON bodies.
API keys are included in the Authorization header:
Authorization: Bearer rd_your_api_key_here
Get your API key from the dashboard settings. The live demo does not require authentication.
https://riskdetect.app/api
The primary endpoint. Accepts any customer text and returns a full risk assessment.
{
"content": "This is my third email about this issue...",
"type": "email", // optional: "email", "call_transcript", "chat"
"subject": "RE: Urgent", // optional
"from": "customer@co.com", // optional
"customerName": "Sarah J" // optional
}
| Parameter | Type | Description | |
|---|---|---|---|
| content | string | required | The customer interaction text to analyze |
| type | string | optional | Interaction type: email, call_transcript, chat. Auto-detected if omitted. |
| subject | string | optional | Email subject line (provides additional context) |
| from | string | optional | Sender email or identifier |
| customerName | string | optional | Customer name for personalized recommendations |
{
"analysis": {
"risk_score": 85,
"risk_level": "high",
"signals": [
"BBB complaint threatened",
"Legal counsel mentioned",
"Competitor comparison"
],
"summary": "Customer is highly frustrated...",
"recommended_action": "Escalate to senior manager...",
"urgency": "today",
"category": "email"
},
"metadata": {
"model": "gpt-4o-mini",
"processingMs": 1842
}
}
Backward-compatible endpoint for email-only analysis. Use /api/analyze for new integrations.
{ "email": "Customer email body text..." }
Analyze up to 50 interactions in a single request. Results are returned sorted by risk score (highest first).
{
"emails": [
{ "id": "email-001", "content": "First email...", "from": "alice@co.com" },
{ "id": "email-002", "content": "Second email...", "from": "bob@co.com" }
]
}
Response includes a results array sorted by risk score, plus summary with counts by level and the highest risk item.
Webhook endpoint for email forwarding services (SendGrid Inbound Parse, Cloudflare Email Workers, etc.).
// JSON format
{ "text": "Email body...", "subject": "RE: Issue", "from": "customer@co.com" }
// Also accepts SendGrid multipart form data
| Level | Score | Description | |
|---|---|---|---|
| critical | 80-100 | ● | Immediate intervention required. Legal threats, formal complaints. |
| high | 60-79 | ● | Respond today. Competitor evaluation, escalation demands. |
| medium | 30-59 | ● | Address this week. Growing frustration, repeat contacts. |
| low | 0-29 | ● | Routine. No significant risk signals detected. |
RiskDetect tracks 30+ risk signals across these categories:
| Plan | Limit | Notes | |
|---|---|---|---|
| Starter | 100/mo | ~3/day | |
| Growth | 1,000/mo | ~33/day, burst up to 50/hr | |
| Scale | Unlimited | Fair use policy, 100/min burst |
Rate limit headers included in every response: X-RateLimit-Remaining, X-RateLimit-Reset.