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

FieldTypeRequiredDescription
textstringOne of text, fileText to analyze. Send as JSON.
filefileOne of text, fileAudio, image, or video file, up to 15 MB. Send as multipart/form-data.
media_typestringNoaudio, video, or image. Detected from the file’s MIME type when omitted.

Headers

HeaderValueDescription
AuthorizationBearer YOUR_API_TOKENRequired. Your API token.
Content-Typeapplication/jsonRequired 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

1{
2 "success": true,
3 "item": {
4 "id": 12345,
5 "input_modality": "text",
6 "verdict": "fraud",
7 "top_category": { "name": "CEO Impersonation / Wire Diversion", "icon": "👔", "score": 0.91 },
8 "category_scores": [
9 { "name": "CEO Impersonation / Wire Diversion", "icon": "👔", "score": 0.91 },
10 { "name": "Vendor Invoice / Payment Redirection", "icon": "📨", "score": 0.70 }
11 ],
12 "benign_score": 0.12,
13 "margin_over_second": 0.21,
14 "examples": ["transfer the funds immediately", "send the wire today"],
15 "top_matches": [
16 { "category": "CEO Impersonation / Wire Diversion", "text": "wire funds to this account…", "score": 0.92 }
17 ],
18 "duration_seconds": null,
19 "created_at": "2026-06-14T10:30:45.123Z"
20 }
21}

Response fields

FieldTypeDescription
successbooleanWhether the API request succeeded.
item.idintegerSubmission identifier, used with Delete Submission.
item.input_modalitystringtext, audio, video, or image.
item.verdictstringsafe, suspicious, or fraud.
item.top_categoryobjectHighest-scoring category, with name, icon, and a 0–1 score.
item.category_scoresarrayTop categories with their scores. Use this to show alternatives.
item.benign_scorenumberHow strongly the content matched benign, non-fraud content.
item.margin_over_secondnumberGap between the top category score and the runner-up.
item.examplesarraySample phrases from the top category, useful for explaining the verdict.
item.top_matchesarrayThe closest individual training examples that matched.
item.duration_secondsnumber | nullMedia duration for audio and video; null for text and image.
item.created_atstringSubmission timestamp.

Error handling

StatusCause
400Neither text nor file was provided, or media_type is not audio, video, or image.
403The account does not have Signal access.
413The uploaded file exceeds the 15 MB limit.
1{
2 "success": false,
3 "message": "File exceeds 15 MB limit",
4 "max_bytes": 15728640
5}