Score Content
Score text or a media file against the fraud categories available to your team.
POST https://app.resemble.ai/api/v2/signal
Provide either text or file, not both.
Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
text | string | One of text, file | Text to analyze. Send as JSON. |
file | file | One of text, file | Audio, image, or video file, up to 15 MB. Send as multipart/form-data. |
media_type | string | No | audio, video, or image. Detected from the file’s MIME type when omitted. |
Headers
| Header | Value | Description |
|---|---|---|
Authorization | Bearer YOUR_API_TOKEN | Required. Your API token. |
Content-Type | application/json | Required for text submissions. Use multipart/form-data for file uploads. |
Examples
Score text
curl --request POST 'https://app.resemble.ai/api/v2/signal' \-H 'Authorization: Bearer YOUR_API_TOKEN' \-H 'Content-Type: application/json' \--data '{"text": "wire the funds now to this account"}'
Score an audio file
curl --request POST 'https://app.resemble.ai/api/v2/signal' \-H 'Authorization: Bearer YOUR_API_TOKEN' \-F 'file=@suspicious_call.wav' \-F 'media_type=audio'
Response
{"success": true,"item": {"id": 12345,"input_modality": "text","verdict": "fraud","top_category": { "name": "CEO Impersonation / Wire Diversion", "icon": "👔", "score": 0.91 },"category_scores": [{ "name": "CEO Impersonation / Wire Diversion", "icon": "👔", "score": 0.91 },{ "name": "Vendor Invoice / Payment Redirection", "icon": "📨", "score": 0.70 }],"benign_score": 0.12,"margin_over_second": 0.21,"examples": ["transfer the funds immediately", "send the wire today"],"top_matches": [{ "category": "CEO Impersonation / Wire Diversion", "text": "wire funds to this account…", "score": 0.92 }],"duration_seconds": null,"created_at": "2026-06-14T10:30:45.123Z"}}
Response fields
| Field | Type | Description |
|---|---|---|
success | boolean | Whether the API request succeeded. |
item.id | integer | Submission identifier, used with Delete Submission. |
item.input_modality | string | text, audio, video, or image. |
item.verdict | string | safe, suspicious, or fraud. |
item.top_category | object | Highest-scoring category, with name, icon, and a 0–1 score. |
item.category_scores | array | Top categories with their scores. Use this to show alternatives. |
item.benign_score | number | How strongly the content matched benign, non-fraud content. |
item.margin_over_second | number | Gap between the top category score and the runner-up. |
item.examples | array | Sample phrases from the top category, useful for explaining the verdict. |
item.top_matches | array | The closest individual training examples that matched. |
item.duration_seconds | number | null | Media duration for audio and video; null for text and image. |
item.created_at | string | Submission timestamp. |
Error handling
| Status | Cause |
|---|---|
400 | Neither text nor file was provided, or media_type is not audio, video, or image. |
403 | The account does not have Signal access. |
413 | The uploaded file exceeds the 15 MB limit. |
{"success": false,"message": "File exceeds 15 MB limit","max_bytes": 15728640}
