The v3 User is the representation of an employee in the Legacy API.

A v3 user is comprised of:

  • a hard-coded set of attributes (e.g firstName, mail, managerId, etc…) called coreData;
  • a dynamic set of extensions depending on installed applications called applicationData. Some of them are nested in a applicationData JSON object in read (GET) requests, and some are root properties.
  • a dynamic set of custom extensions depending on the Employee Directory configuration called extendedData. Their names are prefixed with "e_". For read requests, these are always nested in the extendedData attribute.

Examples:

NameDescriptionType
addressEmployee’s personal address.CodeData
e_bloodTypeEmployee’s blood type.ExtendedData
profile_cleemy_89Employee’s expenses management profile (for application 89).ApplicationData
// Read
{
    "data": {
        "id": 2938,
        // Dictionary of CoreData

        // Root level application data
        "frenchMotocyclesTaxHorsePower": "",
        "applicationData": {
            "profile_cleemy_89": {
                "id": 12,
                "name": "Regular employee",
                "url": "https://example.ilucca.net/api/v3/expenseprofiles-89/12"
            }
            // Dictionary of ApplicationData
        },
        "extendedData": {
            "e_bloodType": "AB"
            // Dictionary of ExtendedData
        }
    }
}

The v3 user existed before the introduction of work-contracts, as a result, contractual information (establishment/legal-entity, contract start and end dates, etc…) now comes from the “applicable” work-contract.

You may not be able to retrieve all properties, as you may not have access to every single one of them.

About Extended Data(s)

Read more about extended-data

About User Axis Values

User axis values can be used for matching users and axis-sections. Common use-case is giving each user a cost center, which are axis-sections in a “Cost Center” axis. Read more about axes and axis-sections.

In order to attach an axis-section of a given axis to a user, you may use dynamic properties whose key must match: { "userAxisValues_{{axisId}}": {"id": {{axisSectionId}} }.

For example, if user with ID 416 belongs to the cost center which corresponds to the axis-section with ID 35 in the axis with ID 2:

{
    "id": 416,
    ...
    "userAxisValues_2": {
    "id": 35
    }
}

About Application Data

Application-data are custom extensions to the user/employees defined by installed applications on your Lucca account.

About Lucca Expenses Profile Expenses management profile in Lucca Expenses.

Assigning a Lucca Expenses profile to a user is handled through a property whose name is dynamic, as it must conform to the pattern "profile_cleemy_{{appInstanceId}} where appInstanceId is the ID of the corresponding Cleemy Expense appplication instance (there can be more than one Cleemy Expenses application installed on any given account).

{
    "profile_cleemy_12": {
    "id": 34,
    "name": "Generic profile",
    "url": "..."
    }
}

The schema is of type object.