Retrieve a paginated list of recent login attempts for a user profile, including timestamps, IP addresses, device details, and authentication outcomes.
Login History
The Login History endpoint retrieves a structured list of recent login attempts associated with a user's account. Each record includes the timestamp, IP address, device information, geographic location, and whether the attempt was successful and whether multi-factor authentication was used. This endpoint supports date range filtering and pagination, making it suitable for both real-time security monitoring and historical auditing.
Endpoint
GET /netevia/loginHistory
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint when a user or an authorized partner administrator needs to audit account access activity. It is particularly valuable for detecting unauthorized login attempts, reviewing login patterns across devices and locations, and fulfilling security compliance requirements. Partners can also use this endpoint to surface security dashboards within their applications.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| ProfileId | integer (int32) | No | Filter login history for a specific user profile. |
| SubProfileId | integer (int32) | No | Filter login history for a specific subprofile (authorized user). |
| StartDate | string (date-time) | No | Beginning of the date range filter (ISO 8601 format). |
| EndDate | string (date-time) | No | End of the date range filter (ISO 8601 format). |
| Skip | integer (int32) | No | Number of records to skip for pagination. |
| Count | integer (int32) | No | Maximum number of records to return. |
Response
200 OK
Returns an array of login attempt objects.
| Field | Type | Description |
|---|---|---|
| createdDate | string (date-time) | Timestamp of the login attempt (ISO 8601). |
| ipAddress | string / null | IP address from which the login was attempted. |
| deviceId | string / null | Unique identifier of the device used. |
| deviceName | string / null | Human-readable name of the device used. |
| location | string / null | Geographic location inferred from the IP address. |
| userAgent | string / null | Browser or client user-agent string. |
| success | boolean | Whether the login attempt was successful. |
| userProfileId | integer (int32) | ID of the user profile associated with this login attempt. |
| mfa | boolean | Whether multi-factor authentication was used during this attempt. |
[
{
"createdDate": "2026-06-08T14:23:11Z",
"ipAddress": "203.0.113.45",
"deviceId": "d7e4f1a2-bc93-4d2e-9f10-8c3b2a1e5f67",
"deviceName": "iPhone 15 Pro",
"location": "Miami, FL, US",
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15",
"success": true,
"userProfileId": 100234,
"mfa": true
},
{
"createdDate": "2026-06-07T09:05:43Z",
"ipAddress": "198.51.100.22",
"deviceId": "a1b2c3d4-1234-5678-abcd-ef0123456789",
"deviceName": "Windows PC",
"location": "Atlanta, GA, US",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"success": false,
"userProfileId": 100234,
"mfa": false
}
]Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields or validation error (e.g., malformed date-time format) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to access the requested profile's login history |
| 404 | Profile or subprofile not found |
| 500 | Internal server error |
Common Mistakes
- Providing
StartDateorEndDatein a non-ISO 8601 format — always useYYYY-MM-DDTHH:MM:SSZ. - Omitting both
ProfileIdandSubProfileIdwhen the token has access to multiple profiles, which may return unexpected or overly broad results. - Not using
SkipandCounttogether for paginated iteration — omittingCountmay return a very large result set. - Expecting
ipAddressorlocationto always be populated — these fields are nullable and may be absent for certain login events.
Related Endpoints
POST /api/auth/v2— Authenticate and obtain a Bearer tokenPOST /api/auth/refresh— Refresh an existing Bearer tokenGET /netevia/profile— Retrieve user profile details
Example
curl -X GET "https://api.banking.netevia.dev/netevia/loginHistory?ProfileId=100234&StartDate=2026-06-01T00%3A00%3A00Z&EndDate=2026-06-08T23%3A59%3A59Z&Skip=0&Count=25" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"