Fraud & Scam Detection API
Classify text with structured, versioned results. The Fraud & Scam Detection analyzer classifies text against 200 indicators in 4 groups across 39 supported languages.
Use the returned groups, indicators, confidence values, and version metadata in your own triage and review workflows.
POST /v1/analyze · REST · JSON · Bearer authentication
Make your first request
curl -X POST https://sentiqra.tech/v1/analyze \
-H "Authorization: Bearer $SENTIQRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "This is the CEO. Process an urgent wire transfer to this new vendor account before end of day and keep it confidential.",
"language": "en",
"analyzers": [
"fraud-scam"
]
}'
Example response:
{
"language": "en",
"language_source": "declared",
"signals": [
{
"analyzer": "fraud-scam",
"code": "payment_diversion",
"label": "Payment Diversion",
"score": 0.94,
"level": "category"
},
{
"analyzer": "fraud-scam",
"code": "pd_bec_ceo_request",
"label": "CEO Urgent Payment Request BEC",
"score": 0.92,
"level": "label",
"parent": "payment_diversion"
},
{
"analyzer": "fraud-scam",
"code": "pd_bec_attorney_confidential",
"label": "Attorney Confidential Payment BEC",
"score": 0.89,
"level": "label",
"parent": "payment_diversion"
}
],
"meta": {
"analyzers": [
{
"name": "fraud-scam",
"status": "completed",
"applicability": "analyzable",
"assessment": "signals_detected",
"signal_count": 3,
"billed": true
}
]
},
"usage": {
"analyzer_runs": 1
},
"verification": {
"configuration": "sqcfg_CQ8CN62V",
"fingerprint": "fp_8a72...19f",
"input_commitment": "ic_31bd...a42",
"signature": "sig_ed25519_4c1f...e2a",
"key_id": "edk_af4f218e"
}
}
Don't have an API key? Generate one from the API Keys page in your dashboard.
Endpoint
/v1/analyze
Analyzes submitted text and returns structured signals with scores and a verification receipt. Select this analyzer via the analyzers parameter with ID fraud-scam.
Request
{
"text": "This is the CEO. Process an urgent wire transfer to this new vendor account before end of day and keep it confidential.",
"language": "en",
"analyzers": [
"fraud-scam"
]
}
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| text | string | Yes | - | Text to analyze |
| language | string | No | "en" | Supported language code |
| analyzers | string[] | Yes | - | 1–2 analyzer slugs to run (never defaults to all) |
Related endpoints
GET /v1/meta/domains
Lists all analyzers with identifiers, status, and endpoints - no authentication required. Send a Bearer API key for taxonomy size and language counts.
GET /v1/meta/domains/fraud-scam
Identifier, availability, and endpoint for this analyzer. Send a Bearer API key for taxonomy summary and supported languages.
GET /v1/account/usage
Current-period usage and quota for your API key. Requires authentication.
Response fields
| Field | Type | Description |
|---|---|---|
| analyzer | string | Analyzer that produced this signal |
| code | string | Stable machine identifier - immutable across API versions; use for storage and cross-referencing |
| label | string | Human-readable display name |
| score | float | Signal-match strength (0.0-1.0) |
| level | string | "category" or "label" |
| parent | string | Parent category code (label-level only) |
Important behavior
Determinism
For the same normalized input evaluated against the same pinned configuration and output profile, Sentiqra returns the same canonical signals. Version changes are explicit.
Confidence
A score expresses signal-match strength under a particular analyzer configuration. It is not a probability that the signal or a downstream action is correct. Validate action thresholds on representative labeled data.
Privacy
Submitted text is processed in memory and not retained. See data handling for exact retention behavior.
Limits
Character limit, RPS, and monthly quota depend on your plan. See pricing for current limits.
Supported languages
Fraud & Scam Detection currently supports 39 languages.
| Code | Language | Status |
|---|---|---|
| ar | Arabic | Production |
| arz | Egyptian Arabic | Production |
| be | Belarusian | Production |
| bg | Bulgarian | Production |
| bn | Bengali | Production |
| cs | Czech | Production |
| da | Danish | Production |
| de | German | Production |
| el | Greek | Production |
| en | English | Production |
| es | Spanish | Production |
| fi | Finnish | Production |
| fr | French | Production |
| ha | Hausa | Production |
| hi | Hindi | Production |
| hr | Croatian | Production |
| hu | Hungarian | Production |
| id | Indonesian | Production |
| it | Italian | Production |
| ja | Japanese | Production |
| lt | Lithuanian | Production |
| mr | Marathi | Production |
| nl | Dutch | Production |
| no | Norwegian | Production |
| pcm | Nigerian Pidgin | Production |
| pl | Polish | Production |
| pt | Portuguese | Production |
| ro | Romanian | Production |
| ru | Russian | Production |
| sk | Slovak | Production |
| sr | Serbian | Production |
| sv | Swedish | Production |
| sw | Swahili | Production |
| te | Telugu | Production |
| tr | Turkish | Production |
| uk | Ukrainian | Production |
| ur | Urdu | Production |
| vi | Vietnamese | Production |
| zh | Chinese | Production |
All languages this detector supports are enabled on every plan. Custom or restricted arrangements may scope language access - check the dashboard or GET /v1/account/entitlements for account-specific availability.
Detector does not support language → 400 unsupported_language
Detector supports language but the account is not entitled (restricted/custom arrangements only - GA plans include all supported languages) → 403 language_not_in_plan
Taxonomy
The Fraud & Scam Detection taxonomy contains 4 groups and 200 indicators. Representative entries are shown publicly - the complete taxonomy is available to customers after request access .
1
Impersonation
impersonation
50 indicators
Impersonation
impersonation
The complete signal list is available to customers. Request access to view it.
2
Payment Diversion
payment_diversion
50 indicators
Payment Diversion
payment_diversion
The complete signal list is available to customers. Request access to view it.
3
Fake Invoice
fake_invoice
50 indicators
Fake Invoice
fake_invoice
The complete signal list is available to customers. Request access to view it.
4
Social Engineering
social_engineering
50 indicators
Social Engineering
social_engineering
The complete signal list is available to customers. Request access to view it.
Reading Fraud & Scam Detection output
What you can safely infer from a result - and what you must not.
Intended task
Flag documented fraud and scam patterns - payment diversion, impersonation, advance-fee lures - in text before money or credentials move.
Input requirements
text- the only field analyzed; up to 4,096 Unicode code points. Over the limit is rejected withinput_too_long, never truncated.language- must be a language this analyzer supports. Unsupported codes are rejected with400 unsupported_language, never analyzed as a different language.analyzers- include"fraud-scam"; up to 2 analyzers per request, one billed run each.- No context beyond
text- no user IDs, history, profiles, or attachments are read or inferred. - Analyzes the submitted text only - sender identity, headers, and account relationships are not inputs.
Ordinary positive
“Please update our payment details - our account is under audit, so wire this month's invoices to the new account below.”
Safe inference: The text matches documented payment-diversion patterns - hold the payment change and verify out-of-band before any wire.
Confusing negative · Quotation
“Security bulletin: watch for emails like "wire this month's invoices to the new account below" - report them to finance.”
What happens: Payment-diversion signals can fire on the quoted lure. Training material, bulletins, and forwarded suspect emails all contain the same language as the attack itself - the signal describes the text, not whether this message is itself an attack.
Why it's tricky: A bare request like "can you send me $200?" may also be too thin to match strongly - fraud patterns are contextual. Treat flagged text as a verify-first trigger, and unflagged payment changes as "not detected" rather than verified-safe.
What you can safely infer
- Which documented fraud patterns the text matched, and at what signal-match strength.
- That the same message on the same pinned configuration replays identically - the receipt supports your audit trail.
What you must not infer
- ✕That a flagged message proves fraud or wrongdoing - signals route verification, they do not determine guilt.
- ✕That the sender is a criminal - impersonation signals describe the language, not the person.
- ✕That an unflagged payment request is verified-safe - always confirm payment changes out-of-band regardless of the result.
Boundary: Fraud signals are not proof of wrongdoing. They flag language consistent with documented schemes so an analyst or control step can verify - payment changes should always be confirmed out-of-band regardless of the result.