Skip to main content

Contacts & Users

In InLoox, user information and contacts are managed through various endpoints. This page describes all relevant entities and their API access options.

info

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

PropertyTypeDescription
ContactIdguidUnique ID of the contact.
FirstNamestringFirst name of the user.
LastNamestringLast name of the user.
DisplayNamestringDisplay name of the user.
EmailstringEmail address of the user.
ImageIdstringID of the profile image.
NotifyFrequencyintNotification frequency in minutes. Values: -1 (disabled), 0 (immediately), 60 (hourly), 1440 (daily), 10080 (weekly).
TimeZoneInfostringTime zone information of the user.
EmailConfirmedboolIndicates whether the email address has been confirmed.
IsReaderboolIndicates whether the user has a read-only license.
UILanguagestringLanguage of the user interface.

Endpoints

Retrieve all user information you have access to

GET/odata/UserInfo

Supports OData query options.


Retrieve information of the current user

GET/odata/UserInfo/Me()

Returns the profile information of the currently authenticated user.


Set the notification frequency

GET/odata/UserInfo/SetNotificationFrequency(frequency={frequency})
ParameterTypeRequiredDescription
frequencyintThe desired notification frequency as an integer value.

Valid values:

ValueNameMeaning
-1DisabledNotifications off
0ImmediatelyInstant delivery
60HourlyEvery 60 minutes
1440DailyEvery 1440 minutes (24 h)
10080WeeklyEvery 10080 minutes (7 days)

Check the telemetry status of the current user

GET/odata/UserInfo/TelemetryEnabledForCurrentUser()

Returns whether telemetry data is enabled for the current user.


Determine the matching time zone information

GET/odata/UserInfo/MatchTimeZoneInfo()

Automatically determines the matching time zone based on the current settings.


Set the time zone information

POST/odata/UserInfo({key})/SetTimeZoneInfo

Sets the time zone for the specified user. Returns the updated ApiUserInfo entity.

ParameterTypeRequiredDescription
keyguidThe ContactId of the user.
BodyobjectJSON 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

PropertyTypeDescription
ContactIdguidUnique ID of the contact.
NamestringFull name.
EntryIdstringExternal entry ID (e.g. from Exchange).
AddressstringFull address.
SidstringSecurity Identifier.
TypestringContact type. Deprecated, always contains "INLOOX".
TitlestringSalutation or academic title.
FirstNamestringFirst name.
LastNamestringLast name.
CompanyNamestringCompany name.
StreetstringStreet.
ZipstringPostal code.
LocationstringCity.
CountrystringCountry.
DisplayNamestringDisplay name.
SupervisorstringSupervisor.
PositionstringJob title.
WebsitestringWebsite.
InitialsstringInitials.
DepartmentstringDepartment.
AssistenzstringAssistant.
PhonestringPhone number (primary).
Phone2stringPhone number (secondary).
FaxstringFax number.
MobilestringMobile number.
PagerstringPager number.
EmailstringEmail address.
BirthdayDateTimeOffset?Date of birth.
AddressBookIdguid?ID of the associated address book.
CreatedByContactIdguid?ID of the creating contact.
ChangedByContactIdguid?ID of the last modifying contact.
CreatedDateDateTimeOffset?Creation date.
ChangedDateDateTimeOffset?Last modified date.
OriginalSidstringOriginal Security Identifier.
DescriptionIdguid?ID of the linked description.
NotifyFrequencyint?Notification frequency in minutes. Values: null (not set), -1 (disabled), 0 (immediately), 60 (hourly), 1440 (daily), 10080 (weekly).
StatestringState/region.
UILanguagestringLanguage of the user interface.
IsRecycledboolWhether the contact has been deleted (recycled).
SkillsstringComma-separated list of skills.
DivisionsstringComma-separated list of departments.
IsIdentityboolWhether a login account exists.
DescriptionTextstringDescription as plain text.
DescriptionHTMLstringDescription as HTML.
AzureAdObjectIdstringAzure AD Object ID.
LicenseTypeintLicense type of the user. Values: 0 (Reader — Read-Only), 2 (Full — Full access), 3 (Blocked).
TimeZoneInfostringTime zone information. An IANA time zone ID (e.g. "Europe/Berlin", "America/New_York").
EmailConfirmedboolWhether the email address is confirmed.
InvitationAcceptedboolWhether the invitation has been accepted.
CalendarIdguidID of the assigned calendar.
CapacityintCapacity of the contact (in percent).
ProjectRequestCreateboolPermission to create project requests.
ProjectRequestReleaseboolPermission to release project requests.
CustomPropertiesobjectCustom fields as a dynamic object.

Endpoints

Retrieve all contacts with custom fields

GET/odata/DynamicContact

Returns 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'"
tip

Use $select to reduce the response size — especially with DynamicContact, where custom fields can significantly increase the response size.