Every successful verify response has this shape.{
"status": "success",
"data": {
"from": "+18883578668",
"verdict": "verified",
"action": "allow",
"reason": "the registered owner announced this call",
"identity": {
"verified": true,
"name": "✓ Springfield Bank",
"logo_id": "bab28c367e87d8cf",
"logo_url": "/api/bcid/v1/logos/bab28c367e87d8cf"
},
"rewarded_credits": 1,
"checked_at": "2026-09-18T08:31:40Z"
}
}
Fields#
| Field | Meaning |
|---|
from | Calling number in E.164. |
verdict | verified, spoofed, unverified, or unregistered. |
action | allow or drop. drop only for spoofed. |
reason | One sentence for the call log. |
identity | Present for verified and unverified. Absent for spoofed and unregistered. |
rewarded_credits | Present only on verified. Credits given to the telco. Always 1. |
checked_at | UTC time of the check. |
The response never includes the called number. Verify itself is free.What to do#
1.
If action is drop, reject the INVITE.
2.
If verdict is verified, show identity.name and fetch the logo.
3.
If verdict is unverified, show identity.name only.
4.
If verdict is unregistered, continue with no branding.
5.
If the HTTP status is 503 or the request fails, continue the call.
The switch owns the final decision. action is the recommendation.If the switch can inject headers, set X-Falcon-BCID or X-CallerAPI-BCID to the verdict, and set Remote-Party-ID to identity.name. Modified at 2026-09-21 16:59:49