didit
Identity verification via phone/email OTP and AML screening using Didit API
Best use case
didit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Identity verification via phone/email OTP and AML screening using Didit API
Teams using didit should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/orthogonal-didit/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How didit Compares
| Feature / Agent | didit | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Identity verification via phone/email OTP and AML screening using Didit API
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Didit - Identity Verification API
Verify user identities through phone/email OTP codes and screen against AML databases.
## Capabilities
- **Send Email Code**: Send a one-time verification code to an email address
- **Check Phone Code**: Verify a one-time code sent to a phone number (free)
- **Send Phone Code**: Send a one-time verification code to a phone number
- **AML Screening**: The AML Screening API allows you to screen individuals or companies against global watchlists and high-risk databases
- **Check Email Code**: Verify a code sent to an email address (free)
- **Database Validation API**: Validate user-provided identity data against authoritative national and global data sources
## Usage
### Send Email Code
Send a one-time verification code to an email address.
Parameters:
- email* (string) - Email address to verify
- options (object) - Options object with code_size (4-8, default 6) and locale (e.g. en-US)
- signals (object) - Fraud detection signals: ip, device_id, user_agent
- vendor_data (string) - Unique identifier for vendor/user (UUID or email) for session tracking
```bash
orth api run didit /v3/email/send --body '{"email": "user@example.com"}'
```
### Check Phone Code (free)
Verify a one-time code sent to a phone number. Maximum of three verification attempts per code.
Parameters:
- phone_number* (string) - Phone number in E.164 format (e.g. +14155552671)
- code* (string) - Verification code (4-8 characters)
- duplicated_phone_number_action (string) - Action for duplicated numbers: NO_ACTION (default) or DECLINE
- disposable_number_action (string) - Action for disposable numbers: NO_ACTION (default) or DECLINE
- voip_number_action (string) - Action for VoIP numbers: NO_ACTION (default) or DECLINE
```bash
orth api run didit /v3/phone/check --body '{"phone_number": "+1234567890", "code": "123456"}'
```
### Send Phone Code
Send a one-time verification code to a phone number.
Parameters:
- phone_number* (string) - Phone number in E.164 format (e.g. +14155552671)
- options (object) - Options object with code_size (4-8, default 6), locale (e.g. en-US), preferred_channel (sms/whatsapp/telegram/voice, default whatsapp)
- signals (object) - Fraud detection signals: ip, device_id, device_platform (android/ios/ipados/tvos/web), device_model, os_version, app_version, user_agent
- vendor_data (string) - Unique identifier for vendor/user (UUID or email) for session tracking
```bash
orth api run didit /v3/phone/send --body '{"phone_number": "+1234567890"}'
```
### AML Screening
The AML Screening API allows you to screen individuals or companies against global watchlists and high-risk databases. This API provides real-time screening capabilities to detect potential matches and mitigate risks associated with financial fraud and terrorism.
Parameters:
- full_name* (string) - Full name of the person or company to be screened.
- entity_type (string) - Type of entity to screen. Either 'person' or 'company'. Defaults to 'person'.
- date_of_birth (date) - Date of birth for persons or incorporation date for companies, with format: YYYY-MM-DD. For example, `1990-05-15`.
- nationality (string) - Nationality of the person to be screened with format ISO 3166-1 alpha-2. For example: `ES`. Only applicable for person entity type.
- document_number (string) - Document number of the person to be screened. Only applicable for person entity type.
- aml_score_approve_threshold (number) - Score threshold below which hits are auto-approved (0-100). Hits with match scores below this threshold will be marked as approved. Default: 86.
- aml_score_review_threshold (number) - Score threshold above which hits are auto-declined (0-100). Hits with match scores above this threshold will be declined. Scores between approve and review thresholds require manual review. Default: 100.
- aml_name_weight (integer) - Weight for name similarity in match score calculation (0-100). The sum of aml_name_weight + aml_dob_weight + aml_country_weight must equal 100. Default: 60.
- aml_dob_weight (integer) - Weight for date of birth in match score calculation (0-100). The sum of aml_name_weight + aml_dob_weight + aml_country_weight must equal 100. Default: 25.
- aml_country_weight (integer) - Weight for country/nationality in match score calculation (0-100). The sum of aml_name_weight + aml_dob_weight + aml_country_weight must equal 100. Default: 15.
- aml_match_score_threshold (integer) - Match score threshold (0-100) that determines if a hit is a False Positive or Unreviewed (Possible Match). Hits with match_score below this are marked as 'False Positive' and excluded from risk assessment. Hits at or above are 'Unreviewed' (Possible Match). Default: 93.
- include_adverse_media (boolean) - Wheter to include adverse media in the screening. If included, the request will take approximately 10 seconds.
- include_ongoing_monitoring (boolean) - Whether to include ongoing monitoring in the screening. If included, the save_api_request must be included as well, otherwise it will raise an error.
- save_api_request (boolean) - Whether to save this API request. If true, then it will appear on the `Manual Checks` section in the Business Console.
- vendor_data (string) - A unique identifier for the vendor or user, such as a UUID or email. This field enables proper session tracking and user data aggregation across multiple verification sessions.
```bash
orth api run didit /v3/aml --body '{"full_name": "John Doe"}'
```
### Check Email Code (free)
Verify a code sent to an email address.
Parameters:
- email* (string) - Email address to verify
- code* (string) - Verification code (4-8 characters)
- duplicated_email_action (string) - Action for duplicated emails: NO_ACTION (default) or DECLINE
- breached_email_action (string) - Action for breached emails: NO_ACTION (default) or DECLINE
- disposable_email_action (string) - Action for disposable emails: NO_ACTION (default) or DECLINE
- undeliverable_email_action (string) - Action for undeliverable emails: NO_ACTION (default) or DECLINE
```bash
orth api run didit /v3/email/check --body '{"email": "user@example.com", "code": "123456"}'
```
### Database Validation API
Validate user-provided identity data against authoritative national and global data sources.
Parameters:
- issuing_state* (string) - ISO 3166-1 alpha-3 country code. Valid: ARG, BOL, BRA, CHL, COL, CRI, DOM, ECU, ESP, GTM, HND, MEX, PAN, PER, PRY, SLV, URY, VEN
- validation_type* (string) - Validation type: one_by_one or two_by_two
- identification_number* (string) - Universal ID field - auto-maps to country-specific format
- document_type (string) - Document type: P (Passport), DL (Driver License), ID (National ID), RP (Residence Permit). Required for some countries.
- expiration_date (string) - Document expiration date YYYY-MM-DD. Required for some countries (e.g. ESP).
- first_name (string) - First name
- last_name (string) - Last name
- date_of_birth (string) - Date of birth YYYY-MM-DD
- nationality (string) - ISO 3166-1 alpha-3 nationality code
- address (string) - Residential address
```bash
orth api run didit /v3/database-validation --body '{"issuing_state": "ESP", "validation_type": "one_by_one", "identification_number": "12345678A"}'
```
## Use Cases
1. **User Registration**: Verify phone/email during signup
2. **Two-Factor Authentication**: Add OTP verification to login flows
3. **KYC Compliance**: Validate identity data for financial services
4. **AML Compliance**: Screen customers against sanctions and watchlists
## Discover More
For full endpoint details and parameters:
```bash
orth api show didit # List all endpoints
orth api show didit /v3/email/send # Get endpoint details
```Related Skills
yt-dlp-downloader
Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video", "yt-dlp", "YouTube", "B站", "抖音", "提取音频", "extract audio".
slack
Send messages and manage Slack channels. Use when asked to send Slack messages, post to channels, list channels, or fetch message history.
yc-batch-evaluator
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
website-screenshot
Take screenshots of websites and web pages
weather
Get current weather and forecasts using free APIs (no API key required). Use when asked about weather, temperature, forecasts, or climate conditions for any location.
weather-forecast
Get weather forecasts - temperature, precipitation, wind, and conditions
vhs-terminal-recordings
Create polished terminal GIF recordings using VHS (Video Hardware Software) by Charmbracelet. Use when asked to create terminal demos, CLI gifs, command-line recordings, or animated terminal screenshots for documentation, READMEs, or marketing.
verify-email
Verify if an email address is valid and deliverable
valyu
Web search, AI answers, content extraction, and async deep research
uptime-monitor
Monitor website uptime - check availability, response times, and status
twitter-profile-lookup
Look up Twitter/X profiles - get bio, followers, tweets, and engagement
tomba
Email finder and verifier - find emails from domains, LinkedIn, or company search