Skip to content

Verify a message from the web page

POST
/v1/public/submit
curl --request POST \
--url https://api.fromenance.com/v1/public/submit \
--header 'Content-Type: application/json' \
--header 'X-Site-Key: <X-Site-Key>' \
--data '{ "text": "example", "eml_base64": "example", "image_base64": "example", "code": "example", "email": "hello@example.com", "turnstile_token": "example" }'

Authenticated by site key and origin. Rate limited per IP and per key; a Turnstile token is required once a key exceeds its normal rate. Text and .eml return the verdict synchronously; screenshots return a poll token.

Media typeapplication/json
object
text

Pasted message text or HTML.

string
<= 200000 characters
eml_base64

A .eml file, base64.

string
<= 2000000 characters
image_base64

A screenshot (PNG, JPEG, WebP), base64. Answered asynchronously.

string
<= 8000000 characters
code

Verify code typed by the customer.

string
<= 12 characters
email

The customer’s own address, hashed locally on our side and never stored in clear.

string format: email
turnstile_token
string
<= 4000 characters
Examplegenerated
{
"text": "example",
"eml_base64": "example",
"image_base64": "example",
"code": "example",
"email": "hello@example.com",
"turnstile_token": "example"
}

Verdict

Media typeapplication/json
object
status
required
string
Allowed values: decided pending
poll_token
required
string | null
submission_id
required
string
outcome
required
string | null
Allowed values: verified not_verified known_fraud
rule
required
string | null
matched_sent_at
required
string | null
signals
required
object
code_found
required
boolean
recipient_match
required
boolean | null
fingerprint_distance
required
number | null
display
required
object
institution_name
required
string
logo_url
required
string | null
accent
required
string | null
fraud_contact
required
string | null
support_url
required
string | null
outcome_label
required
string
verdict_text
required
string
next_step
required
string
Example
{
"status": "decided",
"outcome": "verified"
}

Pending (screenshot)

Media typeapplication/json
object
status
required
string
Allowed values: decided pending
poll_token
required
string | null
submission_id
required
string
outcome
required
string | null
Allowed values: verified not_verified known_fraud
rule
required
string | null
matched_sent_at
required
string | null
signals
required
object
code_found
required
boolean
recipient_match
required
boolean | null
fingerprint_distance
required
number | null
display
required
object
institution_name
required
string
logo_url
required
string | null
accent
required
string | null
fraud_contact
required
string | null
support_url
required
string | null
outcome_label
required
string
verdict_text
required
string
next_step
required
string
Example
{
"status": "decided",
"outcome": "verified"
}

Turnstile required

Rate limited