NAV

python ruby go java csharp php javascript

Log API Reference

The Futurae Log API streams events from the Organization Admin Dashboard and Organization Services.

Current Log API Version: 1.0.2

Version History (change log)

Getting Started

Postman Sample Collection

Organization Collection

To help you with integration, we provide a postman collection with a few sample Organization Log API endpoints.

Once you import the collection into Postman, you will need to edit it and adjust the following variables for Organization:

Variable Value
hostname Your Service Hostname (example: api.futurae.com)
organization_id Your Organization ID
organization_log_api_key Your Organization Log API key

Service Collection

To help you with integration, we provide a postman collection with a few sample Service Log API endpoints.

Once you import the collection into Postman, you will need to edit it and adjust the following variables for Service:

Variable Value
hostname Your Service Hostname (example: api.futurae.com)
service_id Your Service ID
service_log_api_key Your Service Log API key

Request Format

For calling the API endpoints, the request URI consists of the Service hostname, the Log API version prefix, name of the resource (Organization or Service ) and the endpoint together with any potential parameters (each endpoint showcases an example URI on how to call it).

Headers

Each request must contain a Date header, containing the current time formatted as RFC 2822 and an Authorization header (see Request Authentication on how to construct the Authorization header in order to authenticate each request).

The Log API is based on RESTful API conventions. The URLs are structured to indicate resources under the Log API prefix and version: /logs/v1/service/{service_id} indicates the specific service resource specified by the service_id path variable in the URL, /logs/v1/organization/{organization_id} indicates the specific organization resource specified by the organization_id path variable in the URL. The HTTP verb used here is GET. This retrieves the specified resource(s).

Request Authentication

In order to successfully call the API endpoints you need to authenticate your requests, by signing them using your Organization Log API key or your Service Log API key as the signing key. The supplied Authorization header must carry the required signature using the HTTP Basic Authentication format as follows:

Organization Authentication

Organization authorization header format:

Authorization: Basic base64( Organization_ID:hex( hmac( Organization_Log_API_Key, request_content ) ) )

Service Authentication

Service authorization header format:

Authorization: Basic base64( Service_ID:hex( hmac( Service_Log_API_Key, request_content ) ) )

Response Format

Responses are formatted as JSON objects (the header Content-Type: application/json) or NDJSON (Newline Delimited JSON) (the header Content-Type: application/x-ndjson).

Successful responses return a HTTP 200 response code with header Content-Type: application/x-ndjson and, the content is a newline delimited JSON with each line containing one event (JSON object). The events are returned in an arbitrary order. All the events within a given time frame are returned.

If an error occurs during the log streaming, the request is interrupted and a non-JSON line containing the string “Error” is appended to the response payload.

This is how an unsuccessful response payload looks like:

{
    "error": true,
    "code": 40000,
    "message": "Bad request",
    "detail": "date range is less than 1 sec or more than an hour"
}

Unsuccessful responses return an appropriate HTTP response code that conveys the high-level reason of the failure with header Content-Type: application/json, plus a JSON object of a specified format that might supply some additional details regarding the error. In particular, unsuccessful responses will contain an error boolean field, whose value will be true. Moreover, the response will contain an integer code, and a message field that further describes the failure. A detail field may be present if additional information is available. Example:

The HTTP response code will be the first three digits of the more specific code found inside the JSON object.

HTTP Response Codes

Below are listed some common HTTP response codes and their meaning. The codes marked as generic represent generic error codes and could be returned by any endpoint even if they are not explicitly listed in the description of some endpoints.

HTTP Code Meaning Generic
200 The request was successful.
400 Invalid or missing request parameters. yes
401 Authorization data is missing or invalid. yes
404 The requested endpoint does not exist, or the requested resource does not exist. yes
405 The request HTTP method is not valid for this endpoint (for example, POST when only GET is supported). yes
500 An unexpected, internal server error occurred. yes

Organization

Pull Organization Logs

Example request:

/logs/v1/organization/46da27c7-cdeb-4335-bedb-2e88f3916651
/logs/v1/organization/46da27c7-cdeb-4335-bedb-2e88f3916651?start=2023-10-18T12:16:11.76Z&end=2023-10-18T12:18:11.76Z
/logs/v1/organization/46da27c7-cdeb-4335-bedb-2e88f3916651?start=1692977914&end=1692978634

GET /logs/v1/organization/{organization_id}

Stream logs for an organization within a specified time range.

Path parameters

organization_id
string
ID of the Futurae organization. Must match the organization ID used in authentication.

Query parameters

start
timestamp
The start of the time range of the requested logs.
Default: end (or its default value) - 1 min
Must be at most 30 days in the past
end
timestamp
The end of time range of requested logs.
Default: now - 1 min
Must be at least 1 minute in the past

Supported date formats:

- Unix timestamp (seconds)

- ISO 8601 timestamp without timezone/offset, e.g., 2023-10-02T14:23:58. This timestamp is assumed to be in UTC

- ISO 8601 timestamp with UTC timezone, e.g., 2023-10-02T14:23:58Z

- ISO 8601 timestamp with offset, e.g., 2023-10-02T14:23:58-01:00 or 2023-10-02T14:23:58+01:00

- end-start must be at least 1s and at most 1h
Note that the streaming result is inclusive of start but exclusive of end.

Response 200

Example response:

200 OK
{"admin_dashboard_user_id": "2298e430-95aa-476e-b5ab-beafd4f57d59","client_ip_address": "101.144.93.80","client_port": "55402","created_at": "2023-10-18T08:23:55.3694412042Z","organization_id": "2e993857-2cb9-45a0-9ccd-912a87666055","type": "admin-dashboard-user.unassigned"}
{"admin_dashboard_user_id": "8b65a203-b33a-4921-9e3b-324b9681d2a8","client_ip_address": "101.144.93.80","client_port": "55402","created_at": "2023-10-18T08:25:31.1694411102Z","organization_id": "2e993857-2cb9-45a0-9ccd-912a87666055","reason": "some reason","type": "admin-dashboard-user.login.failed"}
200 OK (With Error)
{"admin_dashboard_user_id": "8b65a203-b33a-4921-9e3b-324b9681d2a8","client_ip_address": "101.144.93.80","client_port": "55402","created_at": "2023-10-18T08:25:31.1694411102Z","organization_id": "2e993857-2cb9-45a0-9ccd-912a87666055","reason": "some reason","type": "admin-dashboard-user.login.failed"}
Error

The request was successful

Response 400

Example response:

400 Bad request
{
    "error": true,
    "code": 40000,
    "message": "Bad request",
    "detail": "invalid organization id"
}

Missing or invalid parameters.

Response 401

Example response:

401 Unauthorized
{
  "error": true,
  "code": 40100,
  "message": "authorization data missing or invalid",
  "detail": "Authorization failed. HMAC verification failed:\n--DEBUG INFO START--\n----CONTENT TO BE SIGNED----\nTue, 20 Nov 2018 09:34:29 +0100\nGET\napi.futurae.com\n/logs/v1/organization/102d9623-5c14-445e-ba79-d8ec4c42af3e\n\n-----CONTENT BYTES------\n[84 117 101 44 32 50 48 32 78 111 118 32 50 48 49 56 32 48 57 58 51 52 58 50 57 32 43 48 49 48 48 10 71 69 84 10 97 112 105 46 102 117 116 117 114 97 101 46 99 111 109 10 47 115 114 118 47 97 117 116 104 47 118 49 47 115 101 114 118 101 114 47 116 101 115 116 10 10]\n--DEBUG INFO END--"
}

Authorization failure. The response body will contain additional information in order to help you identify the reason of the failure.

Organization Events

Below, we provide a comprehensive overview of events related to the organizations, detailing each event's description, attributes, and associated information.

admin-dashboard-user.login.failed

Example Event:

admin-dashboard-user.login.failed
{
    "admin_dashboard_user_id": "2298e430-95aa-476e-b5ab-beafd4f57d59",
    "client_ip_address": "101.144.93.80",
    "client_port": "55402",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "organization_id": "2e993857-2cb9-45a0-9ccd-912a87666055",
    "reason": "some reason",
    "type": "admin-dashboard-user.login.failed"
}

An admin dashboard user attempted but failed to log in

Fields

Field Description
admin_dashboard_user_id
string
The ID of the admin dashboard user that has logged in
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
organization_id
string
ID of the Futurae organization
reason
string
Provides information why the given action failed
type
string
The type of the event (type=admin-dashboard-user.login.failed)

admin-dashboard-user.login.succeeded

Example Event:

admin-dashboard-user.login.succeeded
{
    "admin_dashboard_user_id": "2298e430-95aa-476e-b5ab-beafd4f57d59",
    "client_ip_address": "101.144.93.80",
    "client_port": "55402",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "organization_id": "2e993857-2cb9-45a0-9ccd-912a87666055",
    "type": "admin-dashboard-user.login.succeeded"
}

An admin dashboard user has successfully logged in

Fields

Field Description
admin_dashboard_user_id
string
The ID of the admin dashboard user that has logged in
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
organization_id
string
ID of the Futurae organization
type
string
The type of the event (type=admin-dashboard-user.login.succeeded)

admin-dashboard-user.assigned

Example Event:

admin-dashboard-user.assigned
{
    "active": true,
    "admin_dashboard_user_id": "2298e430-95aa-476e-b5ab-beafd4f57d59",
    "client_ip_address": "101.144.93.80",
    "client_port": "55402",
    "created_at": "2023-10-18T08:23:55.3694412042Z",
    "email_address": "newuser@futurae.com",
    "locked_at": "",
    "name": "New User",
    "organization_id": "2e993857-2cb9-45a0-9ccd-912a87666055",
    "surname": "Stone",
    "type": "admin-dashboard-user.assigned"
}

An admin dashboard user was assigned to the organization

Fields

active
boolean
Indicates if the admin dashboard user is active or not
admin_dashboard_user_id
string
The ID of the admin dashboard user that has logged in
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
email_address
string
Email address of the admin dashboard user
locked_at
timestamp
The time when the admin dashboard user was locked out
name
string
Name of the admin dashboard user
organization_id
string
ID of the Futurae organization
surname
string
Family name of the admin dashboard user
type
string
The type of the event
(type= admin-dashboard-user.assigned)

admin-dashboard-user.unassigned

Example Event:

admin-dashboard-user.unassigned
{
    "admin_dashboard_user_id": "2298e430-95aa-476e-b5ab-beafd4f57d59",
    "client_ip_address": "101.144.93.80",
    "client_port": "55402",
    "created_at": "2023-10-18T08:23:55.3694412042Z",
    "organization_id": "2e993857-2cb9-45a0-9ccd-912a87666055",
    "type": "admin-dashboard-user.unassigned"
}

An admin dashboard user was unassigned from the organization

Fields

admin_dashboard_user_id
string
The ID of the admin dashboard user that has logged in
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
organization_id
string
ID of the Futurae organization
type
string
The type of the event
(type= admin-dashboard-user.unassigned)

admin-dashboard-user.password.updated

Example Event:

admin-dashboard-user.password.updated
{
    "admin_dashboard_user_id":"381e8d42-b2a4-49bf-a1de-97c2a01857f9",
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "organization_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "admin-dashboard-user.password.updated"
}

An admin dashboard user has set a new password for his own account

Fields

admin_dashboard_user_id
string
Admin Dashboard user ID who initiated the event
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
organization_id
string
ID of the Futurae organization
type
string
The type of the event (type=admin-dashboard-user.password.updated)

admin-dashboard-user.updated

Example Event:

admin-dashboard-user.updated
{
    "active": true,
    "admin_dashboard_user_id": "2298e430-95aa-476e-b5ab-beafd4f57d59",
    "by_admin_dashboard_user_id":"b2299164-6ad5-4e05-830c-9d7ad5798914",
    "client_ip_address": "101.144.93.80",
    "client_port": 55402,
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "email_address": "newuser@futurae.com",
    "name": "John",
    "organization_id": "2e993857-2cb9-45a0-9ccd-912a87666055",
    "role":"owner",
    "surname": "Rock",
    "type": "admin-dashboard-user.updated"
}

An admin dashboard user was updated

Fields

active
boolean
Indicates if the admin dashboard user is active or not (if modified)
admin_dashboard_user_id
string
The ID of the admin dashboard user that was updated
by_admin_dashboard_user_id
string
Admin dashboard user ID who initiated the event
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
email_address
string
Email address of the admin dashboard user (if modified)
locked_at
timestamp
The time when the admin dashboard user was locked out (if modified)
name
string
Name of the admin dashboard user (if modified)
organization_id
string
ID of the Futurae organization
role
string
Indicates the admin dashboard user responsibilies (if modified)
surname
string
Family name of the admin dashboard user (if modified)
type
string
The type of the event
(type= admin-dashboard-user.updated)

Service

Pull Service Logs

Example request:

/logs/v1/service/fb41e590-13df-48b0-8183-0983ec91d14a
/logs/v1/service/fb41e590-13df-48b0-8183-0983ec91d14a?start=2023-10-18T12:16:11.76Z&end=2023-10-18T12:18:11.76Z
/logs/v1/service/fb41e590-13df-48b0-8183-0983ec91d14a?start=1692977914&end=1692978634

GET /logs/v1/service/{service_id}

Stream logs for a service within a specified time range.

Path parameters

service_id
string
ID of the Futurae organization service. Must match the service ID used in authentication.

Query parameters

start
timestamp
The start of the time range of the requested logs.
Default: end (or its default value) - 1 min
Must be at most 30 days in the past
end
timestamp
The end of time range of requested logs.
Default: now - 1 min
Must be at least 1 minute in the past

Supported date formats:

- Unix timestamp (seconds)

- ISO 8601 timestamp without timezone/offset, e.g., 2023-10-02T14:23:58. This timestamp is assumed to be in UTC

- ISO 8601 timestamp with UTC timezone, e.g., 2023-10-02T14:23:58Z

- ISO 8601 timestamp with offset, e.g., 2023-10-02T14:23:58-01:00 or 2023-10-02T14:23:58+01:00

- end-start must be at least 1s and at most 1h
Note that the streaming result is inclusive of start but exclusive of end.

Response 200

Example response:

200 OK
{"created_at": "2023-10-18T08:23:55.3694411142Z","type": "authentication.send-sms.succeeded","service_id": "fb41e590-13df-48b0-8183-0983ec91d14a","sms_id": "aec0832c-0885-40a6-80ec-24ce47a23084","user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"}
{"client_ip_address": "96.189.228.124","client_port": "55306","created_at": "2023-10-18T08:28:01.5694411100Z","device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576","reason": "some reason","service_id": "fb41e590-13df-48b0-8183-0983ec91d14a","session_id": "fa66540d-b694-4776-bbff-13a536d3dad9","status": "locked_out","type": "authentication.failed","user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"}
200 OK (With Error)
{"created_at": "2023-10-18T08:23:55.3694411142","type": "authentication.send-sms.succeeded","service_id": "fb41e590-13df-48b0-8183-0983ec91d14a","sms_id": "aec0832c-0885-40a6-80ec-24ce47a23084","user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"}
Error

The request was successful

Response 400

Example response:

400 Bad request
{
    "error": true,
    "code": 40000,
    "message": "Bad request",
    "detail": "invalid service id"
}

Missing or invalid parameters

Response 401

Example response:

401 Unauthorized
{
  "error": true,
  "code": 40100,
  "message": "authorization data missing or invalid",
  "detail": "Authorization failed. HMAC verification failed:\n--DEBUG INFO START--\n----CONTENT TO BE SIGNED----\nTue, 20 Nov 2018 09:34:29 +0100\nGET\napi.futurae.com\n/logs/v1/service/fb41e590-13df-48b0-8183-0983ec91d14a\n\n-----CONTENT BYTES------\n[84 117 101 44 32 50 48 32 78 111 118 32 50 48 49 56 32 48 57 58 51 52 58 50 57 32 43 48 49 48 48 10 71 69 84 10 97 112 105 46 102 117 116 117 114 97 101 46 99 111 109 10 47 115 114 118 47 97 117 116 104 47 118 49 47 115 101 114 118 101 114 47 116 101 115 116 10 10]\n--DEBUG INFO END--"
}

Authorization failure. The response body will contain additional information in order to help you identify the reason of the failure.

Service Events

Below, we provide a comprehensive overview of events related to the services, detailing each event's description, attributes, and associated information.

authentication.failed

Example Event:

authentication.failed
{
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "reason": "some reason",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "session_id": "fa66540d-b694-4776-bbff-13a536d3dad9",
    "status": "locked_out",
    "type": "authentication.failed",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

The authentication was not successful

Fields

Field Description
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device (if available) . This field is the same as the device_id field in Futurae Auth API Reference.
reason
string
Provides information why the given action failed
service_id
string
ID of the Futurae service
session_id
string
The ID of the authentication session (if authentication has a session). This field is the same as the session_id field in Futurae Auth API Reference.
status
string
This is a string value which describes the outcome of a particular Futurae authentication attempt. It can be one of the following statuses:
  • timeout_retry
  • interrupted
  • aborted
  • deny
  • incompatible_mobile_app
  • locked_out
  • fraud
Read more about the statuses here
type
string
The type of the event (type=authentication.failed)
user_id
string
ID of the Futurae user (if available). This field is the same as the user_id field in Futurae Auth API Reference.

authentication.succeeded

Example Event:

authentication.succeeded
{
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "session_id": "fa66540d-b694-4776-bbff-13a536d3dad9",
    "status": "allow",
    "type": "authentication.succeeded",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49",
    "user_presence_verification": "biometrics_any"
}

The authentication was successful

Fields

Field Description
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device (if available) . This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
session_id
string
The ID of the authentication session (if authentication has a session). This field is the same as the session_id field in Futurae Auth API Reference.
status
string
This is a string value which describes the outcome of a particular Futurae authentication attempt (status=allow)
type
string
The type of the event (type=authentication.succeeded)
user_id
string
ID of the Futurae user (if available). This field is the same as the user_id field in Futurae Auth API Reference.
user_presence_verification
string
This field contains information about what kind of biometric was used to authenticate the user (if feature is enabled). Read more here.

authentication.send-push.succeeded

Example Event:

authentication.send-push.succeeded
{
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "session_id": "fa66540d-b694-4776-bbff-13a536d3dad9",
    "type": "authentication.send-push.succeeded",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

Push notification for the authentication was successfully sent

Fields

Field Description
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
session_id
string
The ID of the authentication session. This field is the same as the session_id field in Futurae Auth API Reference.
type
string
The type of the event (type=authentication.send-push.succeeded)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.

authentication.send-sms.succeeded

Example Event:

authentication.send-sms.succeeded
{
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "sms_id": "9b38ff72-d61b-4067-930c-e11bbecb98ef",
    "type": "authentication.send-sms.succeeded",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

SMS for an authentication was sent successfully

Fields

Field Description
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
service_id
string
ID of the Futurae service
sms_id
string
Unique ID of the SMS message
type
string
The type of the event (type=authentication.send-sms.succeeded)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.

device.created

Example Event:

device.created
{
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "enrolled":"true",
    "enrolloed_at":"1699003006",
    "sdk_lock_config_type":"none",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "device.created",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

A device was successfully created, either as part of an enrollment or as part of an "Automatic Account Recovery"

Fields

Field Description
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
enrolled
boolean
Indicates whether this device is enrolled or not
enrolled_at
timestamp
The time when this device was enrolled to a user, represented as a Unix timestamp (if not 0)
sdk_lock_config_type
string
This field refers to the SDK lock config (If applicable to the device). The possible values are none, biometrics_only, biometrics_or_credentials and sdk_pin_with_biometrics_optional
service_id
string
ID of the Futurae service
type
string
The type of the event (type=device.created)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.

admin-dashboard.device.updated

Example Event:

admin-dashboard.device.updated
{
    "by_admin_dashboard_user_id":"381e8d42-b2a4-49bf-a1de-97c2a01857f9",
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "display_name":"Iphone 15 Pro max",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "admin-dashboard.device.updated"
}

An admin dashboard user has updated a device

Fields

Field Description
by_admin_dashboard_user_id
string
Admin dashboard user ID who initiated the event
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
display_name
string
The name of the device (if modified)
service_id
string
ID of the Futurae service
type
string
The type of the event (type=admin-dashboard.device.updated)

admin-dashboard.service.secrets.retrieved

Example Event:

admin-dashboard.service.secrets.retrieved
{
    "by_admin_dashboard_user_id":"381e8d42-b2a4-49bf-a1de-97c2a01857f9",
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "admin-dashboard.service.secrets.retrieved"
}

An admin dashboard user has clicked on the "Show Secrets" button of the service settings page

Fields

Field Description
by_admin_dashboard_user_id
string
Admin dashboard user ID who initiated the event
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
service_id
string
ID of the Futurae service
type
string
The type of the event (type=admin-dashboard.service.secrets.retrieved)

admin-dashboard.service.settings.updated

Example Event:

admin-dashboard.service.settings.updated
{
    "by_admin_dashboard_user_id":"381e8d42-b2a4-49bf-a1de-97c2a01857f9",
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "description": "My Futurae Service"
    "name": "My Futurae",
    "user_default_max_attempts": "15",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "admin-dashboard.service.settings.updated",
}

An admin dashboard user has updated one or more settings from the service settings page

Fields

Field Description
by_admin_dashboard_user_id
string
Admin dashboard user ID who initiated the event
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
description
string
The description of the service (if modified)
name
string
The name of the service (if modified)
user_default_max_attempts
string
The maximum number of consecutive failed authentication attempts allowed for the user before he gets locked out (if modified)
service_id
string
ID of the Futurae service
type
string
The type of the event (type=admin-dashboard.service.settings.updated)

admin-dashboard.user.enrollment.started

Example Event:

admin-dashboard.user.enrollment.started
{
    "by_admin_dashboard_user_id":"381e8d42-b2a4-49bf-a1de-97c2a01857f9",
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "admin-dashboard.user.enrollment.started"
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

An admin dashboard user has created a new enrollment

Fields

Field Description
by_admin_dashboard_user_id
string
Admin dashboard user ID who initiated the event
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
service_id
string
ID of the Futurae service
type
string
The type of the event (type=admin-dashboard.user.enrollment.started)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.

admin-dashboard.user.updated

Example Event:

admin-dashboard.user.updated
{
    "by_admin_dashboard_user_id":"381e8d42-b2a4-49bf-a1de-97c2a01857f9",
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "admin-dashboard.user.updated"
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49",
    "username": "user@domain.com",
    "display_name": "user@domain.com",
    "allowed_factors": [
                "approve",
                "mobile_totp",
                "passcode",
                "qr_code",
                "sms"
    ],
    "status": "bypass",
    "max_attempts": "15"
}

An admin dashboard user has updated a user

Fields

Field Description
by_admin_dashboard_user_id
string
Admin dashboard user ID who initiated the event
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
service_id
string
ID of the Futurae service
type
string
The type of the event (type=admin-dashboard.user.updated)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.
username
string
The username of the updated user (if updated)
display_name
string
The displayed name of the user (if updated)
allowed_factors
[string]
The list of allowed factors for the user (if updated)
max_attempts
string
The maximum number of consecutive failed authentication attempts allowed for the user before he gets locked out (if modified)

transaction-confirmation.send-push.succeeded

Example Event:

transaction-confirmation.send-push.succeeded
{
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "session_id":"790060eb-961e-47b0-95fa-c1cd14ae9193",
    "type": "transaction-confirmation.send-push.succeeded",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

Push notification for the transaction confirmation was successfully sent

Fields

Field Description
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
session_id
string
The ID of the transaction confirmation session. This field is the same as the session_id field in Futurae Auth API Reference.
type
string
The type of the event (type=transaction-confirmation.send-push.succeeded)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.

transaction-confirmation.started

Example Event:

transaction-confirmation.started
{
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "factor":"approve",
    "fallback_session_id":"fc9ca0c1-38a9-495f-abaa-ccfc620b7b30",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "session_id": "fa66540d-b694-4776-bbff-13a536d3dad9",
    "type": "transaction-confirmation.started",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

Call to transaction endpoint completed successfully

Fields

Field Description
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device (if available). This field is the same as the device_id field in Futurae Auth API Reference.
factor
string
See supported factors here
fallback_session_id
string
The ID of the fallback transaction confirmation session (if a fallback session was created). This field is the same as the fallback_session_id field in Futurae Auth API Reference
service_id
string
ID of the Futurae service
session_id
string
The ID of the transaction confirmation session. This field is the same as the session_id field in Futurae Auth API Reference.
type
string
The type of the event (type=transaction-confirmation.started)
user_id
string
ID of the Futurae user (if available). This field is the same as the user_id field in Futurae Auth API Reference.

transaction-confirmation.failed

Example Event:

transaction-confirmation.failed
{
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "reason": "some reason",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "session_id": "fa66540d-b694-4776-bbff-13a536d3dad9",
    "status": "locked_out",
    "type": "transaction-confirmation.failed",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

The transaction confirmation was not successful

Fields

Field Description
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device (if available). This field is the same as the device_id field in Futurae Auth API Reference.
reason
string
Provides information why the given action failed
service_id
string
ID of the Futurae service
session_id
string
The ID of the transaction confirmation session. This field is the same as the session_id field in Futurae Auth API Reference.
status
string
This is a string value which describes the outcome of a particular Futurae transaction confirmation attempt. It can be one of the following statuses:
  • timeout_retry
  • interrupted
  • aborted
  • deny
  • incompatible_mobile_app
  • locked_out
  • fraud
Read more about the statuses here
type
string
The type of the event (type=transaction-confirmation.failed)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.

transaction-confirmation.succeeded

Example Event:

transaction-confirmation.succeeded
{
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "session_id": "fa66540d-b694-4776-bbff-13a536d3dad9",
    "status": "allow",
    "type": "transaction-confirmation.succeeded",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49",
    "user_presence_verification": "biometrics_any"
}

The transaction authentication was successful

Fields

Field Description
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device (if available). This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
session_id
string
The ID of the transaction confirmation session. This field is the same as the session_id field in Futurae Auth API Reference.
status
string
This is a string value which describes the outcome of a particular Futurae transaction confirmation attempt (status=allow)
type
string
The type of the event (type=transaction-confirmation.succeeded)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.
user_presence_verification
string
This field contains information about what kind of biometric was used to authenticate the user (if feature is enabled). Read more here.

device.migration.queried

Example Event:

device.migration.queried
{
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "device.migration.queried",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

The device migration was queried

Fields

Field Description
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
type
string
The type of the event (type=device.migration.queried)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.

device.migration.succeeded

Example Event:

device.migration.succeeded
{
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "migrated_from_device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "migrated_to_device_id": "d8f517c4-295d-4b02-897b-7cadd56abc54",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "device.migration.succeeded",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49"
}

The device migration has succeeded

Fields

Field Description
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
migrated_from_device_id
string
ID of the Futurae device before migration. This field is the same as the device_id field in Futurae Auth API Reference.
migrated_to_device_id
string
ID of the Futurae device after migration. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
type
string
The type of the event (type=device.migration.succeeded)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.

device.migration.failed

Example Event:

device.migration.failed
{
    "client_ip_address": "96.189.228.124",
    "client_port": "55306",
    "created_at": "2023-10-18T08:23:55.3694411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "type": "device.migration.failed",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49",
    "reason": "invalid_pin"
}

The device migration has failed

Fields

Field Description
client_ip_address
string
IP address of the HTTP client that sent the request that triggered the event
client_port
string
The client port of the HTTP client that sent the request that triggered the event
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
type
string
The type of the event (type=device.migration.failed)
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.
reason
string
The reason why the migration failed to complete.

pin.verification.succeeded

Example Event:

pin.verification.succeeded
{    
    "created_at": "2023-10-18T08:23:55.3794411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49",
    "type": "pin.verification.succeeded"

}

Pin verification succeeded

Fields

Field Description
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
type
string
The type of the event (type=pin.verification.succeeded)

pin.verification.failed

Example Event:

pin.verification.failed
{
    "created_at": "2023-10-18T08:23:55.3894411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49",
    "reason": "incorrect_pin",
    "type": "pin.verification.failed"
}

Pin verification failed

Fields

Field Description
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
type
string
The type of the event (type=pin.verification.failed)
reason
string
The reason why the pin verification failed to complete.

pin.update.succeeded

Example Event:

pin.update.succeeded
{
    "created_at": "2023-10-18T08:23:55.3994411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49",    
    "type": "pin.update.succeeded"

}

Pin update succeeded

Fields

Field Description
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
type
string
The type of the event (type=pin.update.succeeded)

pin.update.failed

Example Event:

pin.update.failed
{
    "created_at": "2023-10-18T08:23:55.3594411142Z",
    "device_id": "c908a11f-148d-430e-8a60-7e6f62b5e576",
    "service_id": "fb41e590-13df-48b0-8183-0983ec91d14a",
    "user_id": "5290d767-bac8-4f2e-8151-3a7de8d4ef49",
    "reason": "incorrect_pin",
    "type": "pin.update.failed"
}

Pin update failed

Fields

Field Description
user_id
string
ID of the Futurae user. This field is the same as the user_id field in Futurae Auth API Reference.
device_id
string
ID of the Futurae device. This field is the same as the device_id field in Futurae Auth API Reference.
service_id
string
ID of the Futurae service
created_at
timestamp
This field contains the timestamp of when the event was created. The timestamp is in ISO 8601 format with second precision or nanosecond precision, e.g., 2023-10-02T14:23:58.123456789Z .
type
string
The type of the event (type=pin.update.failed)
reason
string
The reason why the pin update failed to complete.












© Copyright 2024 Futurae Technologies AG.