Skip to main content
Version: 8.2405.x.x RR

Reporting REST API

The following chapter gives an overview of the reporting functionality of the nevisAdapt service through REST API.

There are two potential callers of this API: admin and end-user.

To access the admin end points the user should have the role nevisAdapt.admin assigned.

In case of an end-user, the user should have the role nevisAdapt.user and the SecToken must also contain the domain of the user (you can see an example configuration for the SecToken content below).

request:UserId -> userid
request:Domain -> domain
session:ch.nevis.session.loginid -> loginId
session:ch.adnovum.nevisidm.profileId -> profileId
session:ch.adnovum.nevisidm.clientId -> clientId
request:ActualRoles -> roles

URL: /api/admin/session-history

  • HTTP Request Method: GET

  • Parameters:

    • loginId: string (same as userid in sectoken)
    • realm: string (same as domain in sectoken)
    • size: integer (optional)
    • page: integer (optional)
    • sort: string,(asc/desc) (optional)
  • Returns: JSON content array of UserSessionDtos with pageable metadata

    {
    "content": [{
    sessionId: long,
    startDate: date,
    endDate: date,
    operatingSystem: string,
    deviceType: string,
    countryCode: string,
    latitude: decimal,
    longitude: decimal,
    browser: string,
    ipAddress: string
    },
    ...
    ],
    "pageable": "INSTANCE",
    ...
    }
  • Purpose: Fetches the session history for a given user on admin request.

URL: /api/session-history

  • HTTP Request Method: GET

  • Parameters:

    • size: integer (optional)
    • page: integer (optional)
    • sort: string,(asc/desc) (optional)
  • Returns: See /api/admin/session-history

  • Purpose: Fetches the session history for a given user on their own request.

URL: /api/admin/user-devices

  • HTTP Request Method: GET

  • Parameters:

    • loginId: string (same as userid in sectoken)
    • realm: string (same as domain in sectoken)
    • size: integer (optional)
    • page: integer (optional)
    • sort: string,(asc/desc) (optional)
  • Returns: JSON content array of UserDevices with pageable metadata

    {
    "content": [{
    deviceId: long,
    type: string,
    userId: long,
    counter: long,
    firstLogin: date,
    lastLogin: date,
    operatingSystem: string,
    deviceType: string,
    browser: string
    },
    ...
    ],
    "pageable": "INSTANCE",
    ...
    }
  • Purpose: Fetches the list of devices of a user on admin request.

URL: /api/user-devices

  • HTTP Request Method: GET

  • Parameters:

    • size: integer (optional)
    • page: integer (optional)
    • sort: string,(asc/desc) (optional)
  • Returns: See /api/admin/user-devices

  • Purpose: Fetches the list of devices of a user on their own request.

URL: /api/admin/user-device/{deviceId}/{userId}

  • HTTP Request Method: DELETE

  • Parameters:

    • deviceId: long
    • userId: long
  • Returns: none

  • Purpose: Deletes a device from a user, requested by admin.

URL: /api/user-device/{deviceId}

  • HTTP Request Method: DELETE

  • Parameters: deviceId: long

  • Returns: none

  • Purpose: Deletes a device from a user, requested by the user.

URL: /api/admin/active-sessions

  • HTTP Request Method: GET

  • Parameters:

    • loginId: string (same as userid in sectoken)
    • realm: string (same as domain in sectoken)
    • size: integer (optional)
    • page: integer (optional)
    • sort: string,(asc/desc) (optional)
  • Returns: JSON content array of UserSessionDtos with pageable metadata

    {
    "content": [{
    sessionId: long,
    startDate: date,
    endDate: date,
    operatingSystem: string,
    deviceType: string,
    countryCode: string,
    latitude: decimal,
    longitude: decimal,
    browser: string,
    ipAddress: string
    },
    ...
    ],
    "pageable": "INSTANCE",
    ...
    }
  • Purpose: Fetches the list of all active sessions for a given user on admin request.

URL: /api/active-sessions

  • HTTP Request Method: GET

  • Parameters:

    • size: integer (optional)
    • page: integer (optional)
    • sort: string,(asc/desc) (optional)
  • Returns: See /api/admin/active-sessions

  • Purpose: Fetches the list of all active sessions for a given user on their own request.

URL: /api/admin/failed-attempts

  • HTTP Request Method: GET

  • Parameters:

    • loginId: string (same as userid in sectoken)
    • realm: string (same as domain in sectoken)
    • size: integer (optional)
    • page: integer (optional)
    • sort: string,(asc/desc) (optional)
  • Returns: JSON content array of UserSessionDtos with pageable metadata

    {
    "content": [{
    sessionId: long,
    startDate: date,
    endDate: date,
    operatingSystem: string,
    deviceType: string,
    countryCode: string,
    latitude: decimal,
    longitude: decimal,
    browser: string,
    ipAddress: string
    },
    ...
    ],
    "pageable": "INSTANCE",
    ...
    }
  • Purpose: Fetches the list of all failed attempts for a specific user on admin request.

URL: /api/failed-attempts

  • HTTP Request Method: GET

  • Parameters:

    • size: integer (optional)
    • page: integer (optional)
    • sort: string,(asc/desc) (optional)
  • Returns: See /api/admin/failed-attempts

  • Purpose: Fetches the list of all failed attempts for a specific user on their own request.

URL: /distrustSession

  • HTTP Request Method: PUT

  • Parameters: feedbackToken: string

  • Returns:

  • Purpose: Depending on the action configured inside the feedbackToken:

    • "disabled": nothing happens
    • "session": distrusts the observations of this session for the given user
    • "device": distrusts the observations of all sessions connected to this device for the given user
    • "all": deletes all user observations for the given user

URL: /api/distrustSession

  • HTTP Request Method: PUT

  • Parameters: sessionId: long

  • Returns:

  • Purpose: Distrusts observations for the given session.

URL: /api/terminateSession

  • HTTP Request Method: PUT

  • Parameters: sessionId: long

  • Returns:

  • Purpose: Terminates the session inside nevisAdapt immediately. The session is also terminated in Nevis if you configure the nevisAuth reference in the patterns.

URL: /api/admin/terminateActiveSessions

  • HTTP Request Method: PUT

  • Parameters:

    • loginId: string (same as userid in sectoken)
    • realm: string (same as domain in sectoken)
  • Returns:

  • Purpose: Terminates all active sessions for the given user on admin request.