Skip to content
cccskills
FreePublished on GitHub

identity-verification-didit

Identity verification via phone/email OTP and AML screening using Didit API

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (2)

  • SKILL.md9.5 KB
  • skill.meta.json309 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Didit - Identity Verification API

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

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
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"didit","path":"/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
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"didit","path":"/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
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"didit","path":"/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.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"didit","path":"/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
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"didit","path":"/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
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"didit","path":"/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:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"didit API endpoints"}' List all endpoints
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"didit","path":"/v3/email/send"}'   # Get endpoint details

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Research supported advertising promises from a specific buyer's context, current product facts, customer language and observed ads. Turn them into static, video or copy ideas; match video ideas to actual recipes and save a product-scoped angle bank for write-video-ad-script. Product-led discovery can use verified facts without reviews. Reference persistence and reach are observations, not proof of performance.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 24, 2026

Analyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 24, 2026

For paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 24, 2026

The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's stable facts (ads/brand.md), the campaign brief, and a log of what was asked vs assumed. Use it when someone wants to run Meta ads and the brand's ad facts are not yet recorded.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 24, 2026

Checks paid ads against the ad platform's rules (Meta, TikTok, Google, LinkedIn and others) and the brand's category rules: the copy, on-image or on-screen text, pictures and people. Rewrites what can be fixed honestly, adds the disclosures that are needed, and flags anything that needs a human or legal review, with one pass, fixed or flag line per ad and platform. Use alone when you already have the ad text or images and know where they will run; otherwise run the playbook for the job (e.g. make-static-ads, make-content, email-lifecycle).

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 24, 2026

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 24, 2026

See all skills by gooseworks-ai

Report a problem with this skill