Skip to content
Back to skills

Identity Risk Post Protect

ASecurity

Evaluate a new user at signup. Returns a full risk decision with per-signal breakdown across email, phone, and IP.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 22, 2026
ai-agentsapi

Works with

  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add bobadilla-tech/requiems-api-skills --skill identity-risk-post-protect --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Identity Risk Post Protect?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Identity Risk Post Protect
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bobadilla-tech-identity-risk-post-protect/badge)](https://www.skillsdirectory.com/skills/bobadilla-tech-identity-risk-post-protect)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: identity-risk-post-protect
api: Identity & Risk System
method: POST
path: /v1/systems/signup/protect
base_url: https://requiems.xyz
description: Evaluate a new user at signup. Returns a full risk decision with per-signal breakdown across email, phone, and IP.
---

## Endpoint

**POST https://requiems.xyz/v1/systems/signup/protect**

## Protect Signup

Evaluate a new user at signup. Returns a full risk decision with per-signal breakdown across email, phone, and IP.

## Parameters

| Name | Type | Required | Location | Description |
| ---- | ---- | -------- | -------- | ----------- |
| `email` | string | no | body | Email address to validate and score. At least one of email, phone, or ip_address is required. |
| `phone` | string | no | body | Phone number in E.164 format to validate and check for VoIP or virtual numbers. |
| `ip_address` | string | no | body | IPv4 or IPv6 address to check for VPN, proxy, TOR, and hosting status. |

## Request Example

```json
{
  "email": "user@tempmail.io",
  "ip_address": "45.33.32.156",
  "phone": "+14155552671"
}
```

## Response Example

```json
{
  "data": {
    "risk_score": 0.87,
    "is_safe": false,
    "confidence": 0.94,
    "flags": ["disposable_email", "vpn_detected"],
    "signals": {
      "email": {
        "valid": true,
        "disposable": true,
        "mx_valid": true,
        "suggestion": null
      },
      "phone": {
        "valid": false,
        "country": "",
        "is_voip": false,
        "is_virtual": false
      },
      "ip": {
        "country_code": "US",
        "is_vpn": true,
        "is_proxy": false,
        "is_tor": false,
        "is_hosting": true,
        "fraud_score": 0.72
      }
    }
  },
  "metadata": {
    "timestamp": "2026-01-01T00:00:00Z"
  }
}
```

## Response Fields

| Field | Type | Description |
| ----- | ---- | ----------- |
| `risk_score` | number | Composite risk score from 0.0 (clean) to 1.0 (high risk) |
| `is_safe` | boolean | True when risk_score is below the safety threshold with no critical flags |
| `confidence` | number | Confidence in the decision from 0.0 to 1.0, based on which signals resolved successfully |
| `flags` | array<string> | Array of triggered risk flags. Possible values: disposable_email, vpn_detected, proxy_detected, tor_detected, is_hosting |
| `signals.email` | object | Email validation result including disposable detection and MX check |
| `signals.phone` | object | Phone number validation result with country code and VoIP/virtual detection |
| `signals.ip` | object | IP intelligence including VPN/proxy/TOR status and fraud score |

## Errors

- `undefined` **422** — All of email, phone, and ip_address were omitted. At least one is required.
- `undefined` **401** — Missing or invalid API key in the requiems-api-key header

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…