Each entry is checked like a single add. Invalid entries and repeats within the request are reported per entry and not stored; new entries are added and expired matches are reactivated with the requested expiry. Active matches remain unchanged. Counts and per-entry statuses distinguish created, reactivated and existing entries. Changes and their audit record are saved atomically. Needs the lists:write scope.

Send your API key in the x-api-key header.

Request bodyapplication/jsonrequired

  • entriesarray of NewListEntry1–1000 itemsrequired
    Show 5 child properties
    • kindstringrequired

      One ofblockallow

    • typestringrequired

      installation is the device id from a verification report; vendor_data is your id for the person; country is the document's issuing country (ISO alpha-2).

      One ofemailphoneipinstallationvendor_datacountry

    • valuestring1–320 charsrequired

      For ip, an address or a CIDR range.

    • reasonstring≤ 1000 chars
    • expires_atstring | nulldate-time

      Must be in the future.

Responses

  • 200What happened to each entry, by its position in the request.
    • createdinteger
    • reactivatedinteger
    • existinginteger
    • invalidinteger

      Invalid entries and repeats.

    • resultsarray of object
      Show 4 child properties
      • indexinteger
      • statusstring

        One ofcreatedreactivatedexistsduplicateinvalid

      • errorstring
      • entryobject
        Show 8 child properties
        • idstringuuid
        • kindstring

          One ofblockallow

        • entry_typestring

          One ofemailphoneipinstallationvendor_datacountry

        • hintstring

          A masked hint for emails, phones, devices and vendor_data; the address or range for ip, the code for country.

        • reasonstring
        • source_verification_idstring | null

          Set when blocked from a verification.

        • created_atstringdate-time
        • expires_atstring | nulldate-time
  • 400The body is not an object with 1 to 1000 entries.
  • 401Missing, unknown or expired API key.
  • 403The key lacks the scope this call needs, or its IP allowlist refuses the caller.
  • 429More than 300 list calls in a minute.
  • 503Lists are not available right now.
curl -X POST https://api-verify.secuveri.com/v1/lists/bulk \
  -H "x-api-key: $SECUVERI_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "entries": [
    {
      "kind": "block",
      "type": "email",
      "value": "jane@example.com"
    }
  ]
}'
Response · 200
{
  "created": 1,
  "reactivated": 1,
  "existing": 1,
  "invalid": 1,
  "results": [
    {
      "index": 1,
      "status": "created",
      "error": "<error>",
      "entry": {
        "id": "0b8f4f5e-3c2a-4d1b-9e7f-6a5c4b3d2e1f",
        "kind": "block",
        "entry_type": "email",
        "hint": "j***@example.com",
        "reason": "Confirmed fraud",
        "source_verification_id": "VRF-7KQ2M9XA",
        "created_at": "2026-10-23T09:12:44.120Z",
        "expires_at": "2026-10-23T09:12:44.120Z"
      }
    }
  ]
}