API v3

GET /fraud/incidents

Fraud incidents and losses our fraud engine raised on this account's traffic, against the previous period.

Addresshttps://api.voicepro.plus/v3/fraud/incidents
Key permissionread

Fields

NameInType
windowquery24h | 7d | 30d

* required

Example

curl -X GET "https://api.voicepro.plus/v3/fraud/incidents?window=7d" \
  -H "Authorization: Bearer vpkey_YOUR_KEY"
Response
{
  "object": "fraud_incidents",
  "window": "7d",
  "totals": {
    "incidents": 3,
    "incidents_previous_period": 5,
    "ranges": 2,
    "territories": 2,
    "origins": 1,
    "loss": {
      "amount": "4.12",
      "currency": "USD"
    }
  },
  "by_signal": [
    {
      "signal": "irsf",
      "label": "IRSF / high-risk destination",
      "incidents": 2
    },
    {
      "signal": "wangiri",
      "label": "Wangiri / short-call abuse",
      "incidents": 1
    }
  ],
  "unavailable": [],
  "data_as_of": "2026-10-28T21:40:00Z"
}

Errors

Every error has the same shape: { "error": { "type", "code", "message", "param", "request_id" } }.

missing_api_key401: No Authorization header, or not a Bearer key.
invalid_api_key401: The key is not recognised.
api_key_revoked401: The key was revoked in the portal.
api_key_expired401: The key passed the expiry date set on it.
missing_scope403: The key lacks the scope this endpoint needs; param names the scope.
ip_not_allowed403: The key has an IP allowlist and this request came from elsewhere.
account_not_active403: The workspace is suspended or closed.
invalid_parameter400: A query parameter or body field has a bad value; param names it.
missing_parameter400: A required parameter or field is missing; param names it.
unknown_parameter400: A parameter or field that this endpoint does not accept; param names it.
invalid_json400: The body is not valid JSON.
invalid_cursor400: The cursor is malformed, expired or from a different list.
invalid_time_range400: from or to is not an ISO 8601 date-time, or to is not after from.
range_too_long400: The time range is longer than this endpoint allows (stated in the endpoint).
route_not_found404: No such path in v3.
resource_not_found404: No object with that id on this account.
service_not_enabled404: The account does not have this service (voice trunk, IoT, numbers); param names it.
rate_limited429: Too many requests for this key or for the whole account (the message says which); wait Retry-After seconds.
internal_error500: Our fault. Quote the request_id to support.

More in Voice trunk