BizKitHub
DocsAPI ReferenceAccount/bff/account/audit-login-attempts
getAccountAdmin BFF

/bff/account/audit-login-attempts

Returns audit log of login attempts for the authenticated user with geo/threat context. Same row shape as /bff/contact/detail-login-attempts so the same UI grid can render both.

AccountgetBffAccountAudit-login-attempts

Parameters

No parameters required

This endpoint takes no path, query, header or body parameters.

Response schema

1 status code documented

200Success
currentIpstringRequired

IP address of the current request.

currentLocationstringRequired

Resolved location string for the current request.

itemCountnumberRequired

Total number of login attempts.

itemsobject[]Required
Each array item:
idstringRequired

Masked attempt identifier.

committedbooleanRequired

True if the attempt succeeded and issued a session.

riskScorenumberRequired

Risk score computed at the moment of the attempt (0 = clean, 100 = maximum).

Range: 0–100
insertedDatestringRequired

Absolute date the attempt was made.

relativeDatestringRequired

Human-relative date (e.g. "3 hours ago").

ipstringRequired

Accepted formats:

  • IPv4 dot-decimal, e.g. 1.1.1.1 (4 octets, 0–255, no leading zeros).
  • IPv6 as defined by RFC 4291 — full 2001:0db8:0000:0000:0000:0000:0000:0001, zero-compressed 2001:db8::1, IPv4-mapped ::ffff:1.2.3.4, or scoped literals. Both upper- and lower-case hex are accepted.

Server-side canonicalization (ipNormalize in core/src/lib/network/ipNormalize.ts):

  • Valid IPv4 is passed through verbatim.
  • Valid IPv6 is lowercased (RFC 5952 §4.3).
  • IPv4-mapped IPv6 ::ffff:X.X.X.X is unwrapped to plain IPv4 (RFC 4291 §2.5.5.2) so 1.2.3.4 and ::ffff:1.2.3.4 share one brj__geo_ip row.
  • Loopback aliases (::1, 0.0.0.0, localhost, empty string) collapse to 127.0.0.1.
  • Junk values that fail both IPv4 and IPv6 validation are silently rejected and replaced with 127.0.0.1 (loopback).

On the wire: every response returns the canonicalized form — clients can safely rely on lowercase IPv6 and the plain-IPv4 unwrap when de-duping or joining. Server-originated writers (activity log, session log, ban list) resolve the visitor IP via resolveClientIp / resolveClientIpOrNull — always native IPv6 on Vercel Edge (there is no auto-mapping to ::ffff:X.X.X.X).

Enrichment: the system resolves reverse DNS, geolocation, ASN, mobile/proxy/hosting/Tor flags via our VikiTron GEO/IP resolver for both address families. Learn more

Examples1.1.1.12001:4860:4860::8888
hostnamestringOptional

Reverse-DNS hostname of the IP, if resolved.

citystringOptional

City resolved from GeoIP.

countrystringOptional

ISO country code resolved from GeoIP.

countryRegionstringOptional

Region/state code resolved from GeoIP.

asnstringOptional

Autonomous System Number of the network owning the IP.

asnOrganizationstringOptional

Organisation owning the ASN (e.g. Cloudflare).

ispstringOptional

ISP name from the GeoIP database.

mobilebooleanRequired

True if the IP belongs to a mobile carrier.

proxybooleanRequired

True if the IP is a known anonymising proxy.

hostingbooleanRequired

True if the IP belongs to a hosting/cloud provider.

torbooleanRequired

True if the IP is a known Tor exit node.

Response example

application/json
{
  "currentIp": "example_currentIp",
  "currentLocation": "example_currentLocation",
  "itemCount": 0,
  "items": [
    {
      "id": "example_id",
      "committed": false,
      "riskScore": 0,
      "insertedDate": "example_insertedDate",
      "relativeDate": "example_relativeDate",
      "ip": "1.1.1.1",
      "hostname": "example_hostname",
      "city": "example_city",
      "country": "example_country",
      "countryRegion": "example_countryRegion",
      "asn": "example_asn",
      "asnOrganization": "example_asnOrganization",
      "isp": "example_isp",
      "mobile": false,
      "proxy": false,
      "hosting": false,
      "tor": false
    }
  ]
}

Request example

GET /bff/account/audit-login-attempts

get
curl -X GET "https://api.bizkithub.com/bff/account/audit-login-attempts" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY"

Need an API key?

All BizKitHub public API endpoints require authentication via API key.

Get API Key