Contacts & Users
In InLoox, user information and contacts are managed through various endpoints. This page describes all relevant entities and their API access options.
To access custom fields for a contact, use the DynamicContact endpoint. It returns all standard properties along with any configured custom fields.
UserInfo
The UserInfo entity represents the currently authenticated user or other users in the system. These endpoints allow you to retrieve profile information, set notification frequencies, and configure time zones.
Data Model
| Property | Type | Description |
|---|---|---|
ContactId | guid | Unique ID of the contact. |
FirstName | string | First name of the user. |
LastName | string | Last name of the user. |
DisplayName | string | Display name of the user. |
Email | string | Email address of the user. |
ImageId | string | ID of the profile image. |
NotifyFrequency | int | Notification frequency in minutes. Values: -1 (disabled), 0 (immediately), 60 (hourly), 1440 (daily), 10080 (weekly). |
TimeZoneInfo | string | Time zone information of the user. |
EmailConfirmed | bool | Indicates whether the email address has been confirmed. |
IsReader | bool | Indicates whether the user has a read-only license. |
UILanguage | string | Language of the user interface. |
Endpoints
Retrieve all user information you have access to
/odata/UserInfoSupports OData query options.
Retrieve information of the current user
/odata/UserInfo/Me()Returns the profile information of the currently authenticated user.
Set the notification frequency
/odata/UserInfo/SetNotificationFrequency(frequency={frequency})| Parameter | Type | Required | Description |
|---|---|---|---|
frequency | int | ✅ | The desired notification frequency as an integer value. |
Valid values:
| Value | Name | Meaning |
|---|---|---|
-1 | Disabled | Notifications off |
0 | Immediately | Instant delivery |
60 | Hourly | Every 60 minutes |
1440 | Daily | Every 1440 minutes (24 h) |
10080 | Weekly | Every 10080 minutes (7 days) |
Check the telemetry status of the current user
/odata/UserInfo/TelemetryEnabledForCurrentUser()Returns whether telemetry data is enabled for the current user.
Determine the matching time zone information
/odata/UserInfo/MatchTimeZoneInfo()Automatically determines the matching time zone based on the current settings.
Set the time zone information
/odata/UserInfo({key})/SetTimeZoneInfoSets the time zone for the specified user. Returns the updated ApiUserInfo entity.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The ContactId of the user. |
Body | object | ✅ | JSON object with the following field: timeZoneInfo (string, required) — An IANA time zone ID (e.g. "Europe/Berlin", "America/New_York"). |
DynamicContact
The DynamicContact endpoint provides an extended view of contacts that includes standard properties as well as custom fields, skills, and department memberships.
Data Model
| Property | Type | Description |
|---|---|---|
ContactId | guid | Unique ID of the contact. |
Name | string | Full name. |
EntryId | string | External entry ID (e.g. from Exchange). |
Address | string | Full address. |
Sid | string | Security Identifier. |
Type | string | Contact type. Deprecated, always contains "INLOOX". |
Title | string | Salutation or academic title. |
FirstName | string | First name. |
LastName | string | Last name. |
CompanyName | string | Company name. |
Street | string | Street. |
Zip | string | Postal code. |
Location | string | City. |
Country | string | Country. |
DisplayName | string | Display name. |
Supervisor | string | Supervisor. |
Position | string | Job title. |
Website | string | Website. |
Initials | string | Initials. |
Department | string | Department. |
Assistenz | string | Assistant. |
Phone | string | Phone number (primary). |
Phone2 | string | Phone number (secondary). |
Fax | string | Fax number. |
Mobile | string | Mobile number. |
Pager | string | Pager number. |
Email | string | Email address. |
Birthday | DateTimeOffset? | Date of birth. |
AddressBookId | guid? | ID of the associated address book. |
CreatedByContactId | guid? | ID of the creating contact. |
ChangedByContactId | guid? | ID of the last modifying contact. |
CreatedDate | DateTimeOffset? | Creation date. |
ChangedDate | DateTimeOffset? | Last modified date. |
OriginalSid | string | Original Security Identifier. |
DescriptionId | guid? | ID of the linked description. |
NotifyFrequency | int? | Notification frequency in minutes. Values: null (not set), -1 (disabled), 0 (immediately), 60 (hourly), 1440 (daily), 10080 (weekly). |
State | string | State/region. |
UILanguage | string | Language of the user interface. |
IsRecycled | bool | Whether the contact has been deleted (recycled). |
Skills | string | Comma-separated list of skills. |
Divisions | string | Comma-separated list of departments. |
IsIdentity | bool | Whether a login account exists. |
DescriptionText | string | Description as plain text. |
DescriptionHTML | string | Description as HTML. |
AzureAdObjectId | string | Azure AD Object ID. |
LicenseType | int | License type of the user. Values: 0 (Reader — Read-Only), 2 (Full — Full access), 3 (Blocked). |
TimeZoneInfo | string | Time zone information. An IANA time zone ID (e.g. "Europe/Berlin", "America/New_York"). |
EmailConfirmed | bool | Whether the email address is confirmed. |
InvitationAccepted | bool | Whether the invitation has been accepted. |
CalendarId | guid | ID of the assigned calendar. |
Capacity | int | Capacity of the contact (in percent). |
ProjectRequestCreate | bool | Permission to create project requests. |
ProjectRequestRelease | bool | Permission to release project requests. |
CustomProperties | object | Custom fields as a dynamic object. |
Endpoints
Retrieve all contacts with custom fields
/odata/DynamicContactReturns a complete list of all contacts including custom fields. Supports all standard OData query options.
OData Query Examples
Retrieve the current user
Retrieves the profile of the authenticated user via the Me() function:
GET /odata/UserInfo/Me()
Retrieve contacts with a filter
Query DynamicContact with $select and $filter to retrieve specific fields for contacts matching a condition:
GET /odata/DynamicContact?\$select=FirstName,LastName,Email&\$filter=LastName eq 'Smith'"
Use $select to reduce the response size — especially with DynamicContact, where custom fields can significantly increase the response size.