👤Users & Registration

On this page you can find all relevant information on how to register new users in FibriCheck.

Register a new user

Most properties are straightforward, the table below explains the specific requirements for some properties:

PropertyValues

gender

0 - Unknown 1 - Male 2 - Female 9 - Not applicable

time_zone

country

ISO 3166 Country Code e.g. BE, NL, UK, ...

birthday

YYYY-MM-DD Note: FibriCheck is only validated for users >= 18 years old. FibriCheck has not been validated for use on minors.

activation_mode

Add property and set it to manual so avoid activation mails being sent out after account creation.

In integrations, typically, you don't want to share your user's personal information during account creation. If you're creating an account with an email address that does not exist, make sure to add the activation_mode property and set it to manual to avoid activation emails being sent.

You do not need to be authenticated to register a new user

SDK

The following snippet shows how you can register a new user.

import 'package:flutter_fibricheck_sdk/flutter_fibricheck_sdk.dart';
import 'package:flutter_fibricheck_sdk/userdata.dart';

_sdk.register(UserRegisterData(
        firstName: "John",
        lastName: "Doe",
        email: "john.doe@example.com",
        password: "Strong!987",
        phoneNumber: "000000",
        birthday: "1990-07-06",
        gender: 0, // 0 = Not known; 1 = Male; 2 = Female; 9 = Not applicable
        country: "JO",
        language: "AR",
        // It has to be a time zone that is compatible w/
        // (https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html#of-java.lang.String-)
        // This library will fetch the correct time zones:
        // https://pub.dev/packages/flutter_native_timezone
        // The time zone will be used to render the correct times in the measurement reports
        timeZone: "Europe/Brussels"
      ));

REST API

Register a new user

POST https://api.fibricheck.com/users/v1/register

Request Body

NameTypeDescription

first_name*

String

last_name*

String

email*

String

password*

String

phone_number*

String

language*

String

birthday

String

gender

Number

country

String

region

String

time_zone

String

activation_mode

String

Set to manual to avoid sending an activation mail (for anonymous accounts)

{
    "id": "63f4c9d9775136300d3eca86",
    "first_name": "John",
    "last_name": "Doe",
    "language": "NL",
    "time_zone": "Europe/Brussels",
    "email": "john.doe2@example.com",
    "phone_number": "----",
    "activation": false,
    "creation_timestamp": 1676986841185,
    "update_timestamp": 1676986841185
}

In partner integrations, registered users will only be visible in the user listing endpoints after they have been added to a partner group through a prescription. See the prescriptions documentation for more information.

The password policy indicates that the chosen password is at least 8 characters and needs to have at least a number, a capital letter, and a small letter.

Password Policy

As a password policy, we currently apply the following rules:

{
  "minimum_length": 8,
  "maximum_length": 128,
  "upper_case_required": true,
  "lower_case_required": true,
  "symbol_required": false,
  "number_required": true
}

Difference between a registered and activated user

When retrieving the details of a newly registered user, you will notice the activated property. A user account is considered activated once they have verified their email by clicking the link sent to them after registration.

Although we encourage users to activate their accounts, the only difference between activated and non-activated accounts is that activated users can perform password resets.

Delete User Data

REST API

If you want to delete a user using the REST API, you need to know the userId of the user you want to delete. The userId is available in response of the /tokens endpoint after a successful authentication attempt. Note that you can only remove users that you are entitled to remove.

In the body of the API call you can provide the targeted user id in the targetUserId field.

Please don't forget to include this field, else the authenticated user, often an admin user, will be deleted!

In addition, you can optionally add a reasonType and reasonDescription. The description is a free text input, for the reasonType you can choose between:

"too_expensive",
"too_complicated",
"technical_issues",
"switched_to_different_app",
"no_health_issues_found",
"treated_by_physician",
"physician_recommended_different_app",
"privacy_concerns",
"too_much_spam",
"other"

Delete User Profile

POST https://api.fibricheck.com/data/v1/user-deletion-requests/documents

Request Body

NameTypeDescription

targetUserId

String

userId of the profile to remove

reasonType

String

reason for removal

reasonDescription

String

extra context for removal reason

Last updated