absencerequest
startDateFirst day of the requested absence.
endDateLast day of the requested absence. Must be on or after startDate.
absenceTypeID of the associated AbsenceType record. The requested type of absence (e.g. vacation, sick leave).
createdAtupdatedAtidsenderID of the associated User record. The employee requesting the absence.
receiverID of the associated User record. The admin or team manager who reviews the request. Defaults to the account owner if omitted on create.
senderCommentOptional message from the sender explaining the request.
receiverCommentOptional message from the reviewer when approving or rejecting.
reviewDateWhen the request was reviewed. Set automatically on update.
stateApproval state. Null while pending review.
rangeTypeWhether the requested absence covers a half-day or multiple full days. When set to ONE_DAY_HALF, startDate and endDate must be the same date.
holiday
datecreatedAtupdatedAtidcountryregionnameovertimereduction
createdAtupdatedAtiduserID of the associated User record
hoursNumber of overtime hours to adjust. Positive values reduce the balance; negative values credit overtime.
amountInternal monetary note. Only visible with remuneration permissions.
dateThe date this overtime reduction applies to.
commentvacationbudget
createdAtupdatedAtiduserID of the associated User record
quantitystartDatevacationTypecommentabsence
userID of the associated User record. The employee this absence is recorded for.
startDateFirst day of the absence. Must not be more than 400 days before endDate.
endDateLast day of the absence. Must be on or after startDate, and the span must not exceed 400 days.
absenceTypeID of the associated AbsenceType record. E.g. vacation, sick leave, home office. Determines the values of the read-only boolean flags on this record.
createdAtupdatedAtidrangeTypeWhether the absence covers a half-day or multiple full days. When set to ONE_DAY_HALF, startDate and endDate must be the same date.
commentcountsAsVacationDeducted from the employee's vacation allowance. Inherited from the linked AbsenceType on create and when absenceType is changed; cannot be modified independently.
workHoursExpectedWhen true, the employee's expected hours are unaffected. When false, the employee's expected hours are reduced. Should be set to true for Home Office or travel-type absences where hours should still be logged. Inherited from the linked AbsenceType on create and when absenceType is changed; cannot be modified independently.
remunerationActiveSalary continues to be paid. Should be true for virtually all absence types other than long-term illness or maternity/paternity leave. Inherited from the linked AbsenceType on create and when absenceType is changed; cannot be modified independently.
reducesOvertimeReduces overtime balance. Should only be set for overtime-reduction type absences. Inherited from the linked AbsenceType on create and when absenceType is changed; cannot be modified independently.
countsAsMissingUsed for certain analytics regarding missing days. Should be true for illness-related absences. Inherited from the linked AbsenceType on create and when absenceType is changed; cannot be modified independently.
externalIdOptional external system identifier for integrations.
absencetype
labelDisplay name of the absence type.
colorColor index for display.
iconIcon index for display.
createdAtupdatedAtidstatus1 = enabled, 0 = archived (hidden from clients).
canBeRequestedWhether employees can select this type when submitting an absence request.
detailsVisibleToOtherUsersWhen false, the absenceType, timestamps, and boolean flags are hidden from users without absence reading permissions. Dates and user are always visible.
defaultCountsAsVacationDefault for Absence records. Deducted from the employee's vacation allowance.
defaultWorkHoursExpectedDefault for Absence records. When true, the employee's expected hours are unaffected; when false, expected hours are reduced. Should be true for Home Office or travel-type absences.
defaultRemunerationActiveDefault for Absence records. Salary continues to be paid. Should be true for virtually all absence types other than long-term illness or maternity/paternity leave.
defaultReducesOvertimeDefault for Absence records. Reduces overtime balance. Should only be true for overtime-reduction type absences.
defaultCountsAsMissingDefault for Absence records. Counts as a missing day in analytics. Should be true for illness-related absences.
baseTypeSystem-defined category for built-in absence types (e.g. vacation, illness). Null for user-created types. Cannot be set or changed via the API.
externalIdOptional external system identifier for integrations.
client
nameDisplay name of the client.
createdAtupdatedAtidstatus1 = enabled, 0 = archived.
commentwebsitecodeShort unique identifier. Auto-generated from the client name if not provided.
externalIdOptional external system identifier for integrations.
hourlyRateDefault hourly rate for new projects created for this client.
imageTypeHow the client image is sourced: initials, Gravatar, or uploaded file.
imageFileTokenToken for the uploaded client image. Managed by the image upload flow.
clientexternalintegration
clientID of the associated Client record
serviceID of the associated IntegrationService record. The external service (e.g. easybill, sevDesk).
externalIdThe client's ID in the external service.
createdAtupdatedAtiddocument
createdAtupdatedAtidmodelThe type of entity this document is attached to. One of: user, project, client.
recordThe ID of the entity (user, project, or client) this document is attached to.
createdByID of the associated User record
categorynameDisplay name of the document.
visibleToUserControls whether a user-attached document (model=user) is visible to that user.
dateArbitrary date associated with the document.
expense
projectID of the associated Project record
isBillableWhether this expense can be billed to the client.
inBudgetWhether this expense counts towards the project budget. When false, the external price of the expense virtually increases the budget.
createdAtupdatedAtidexpenseCategoryID of the associated ExpenseCategory record
descriptionquantitypriceInternalInternal cost amount (what the company pays).
priceExternalExternal billing amount (what the client is charged).
isRecurringbilledAtTimestamp when this expense was billed. Automatically set when an invoice is created or when locked.
invoiceID of the associated Invoice record. The invoice this expense was billed on, if any.
dayThe date the expense was incurred.
percentSnapshot of the expense category percentage at the time this expense was created.
expensecategory
labelstatusWhether the category is active (true) or archived (false).
createdAtupdatedAtidtypeOne of: 'AMOUNT', 'PERCENT'. For AMOUNT categories, behavior depends on pricePerUnit: if set, expense amounts are derived from quantity * pricePerUnit; if null, amounts are entered freely.
unitUnit of measurement for this category (e.g. km, hours, pieces).
iconLegacy icon index.
pricePerUnitPrice per unit for AMOUNT categories. When set, expense amounts are derived from quantity * pricePerUnit. When null, expense amounts are entered freely.
colorLegacy color index.
billingIdIdentifier for mapping to an external billing system.
billingMappingHow this category maps in external billing. One of: 'SERVICE', 'PRODUCT'.
allowEditingValueWhen true, users can refine the computed amount on individual expenses. Mainly relevant for PERCENT categories.
percentDefault percentage value for percent-type categories.
invoice
projectID of the associated Project record
createdAtupdatedAtidamountInvoice total.
startDateStart of the billing period.
endDateEnd of the billing period.
invoicedAtTimestamp when the invoice was issued.
statusdescriptionpaymentStatusOne of: 'DUE', 'PAID', 'OVERDUE', 'AUTOMATIC'. AUTOMATIC means the payment status is retrieved from the external billing provider.
paidOnDate the invoice was paid. Automatically set when paymentStatus changes to PAID.
billingIdIdentifier for mapping to an external billing system.
billingMappingHow this invoice maps in external billing. One of: 'SERVICE', 'PRODUCT'.
isInternalWhether the invoice is for an internal recipient.
effectiveDateStart of the effectiveness period — the date range during which the invoice is considered effective for accounting purposes. Independent of the billing period (startDate / endDate).
effectiveDateEndEnd of the effectiveness period.
invoiceexternalintegration
invoiceID of the associated Invoice record
serviceID of the associated IntegrationService record
externalIdcreatedAtupdatedAtidexternalCompanySubdomainuserIntegrationID of the associated UserIntegration record
additionalDataplannedinvoice
projectID of the associated Project record
createdAtupdatedAtiddatePlanned invoice date.
descriptionamountPlanned invoice amount.
statusApproval status. One of: 'NOTAPPROVED', 'APPROVED'.
approvalDateTimestamp when the planned invoice was approved.
approvedByID of the associated User record. The user who approved this planned invoice.
invoiceID of the associated Invoice record. The actual invoice created once this planned invoice is converted.
billingModeDetermines how the invoice amount is calculated. One of: 'FIXED_AMOUNT', 'TIME_MATERIAL'.
startDateStart of the billing period.
endDateEnd of the billing period.
billingIdIdentifier for mapping to an external billing system.
billingMappingHow this invoice maps in external billing. One of: 'SERVICE', 'PRODUCT'.
isInternalWhether the planned invoice will be for an internal recipient. Carried over to the actual invoice when this planned invoice is converted.
plannerassignment
startDateStart date of the assignment. Assignments on the same project for the same user cannot overlap.
endDateEnd date of the assignment.
userID of the associated User record
projectID of the associated Project record
createdAtupdatedAtidstatusallocationDaily time allocation in seconds (max 86400). Applied only on the user's working days within startDate–endDate; non-working days (weekends per the user's schedule, public holidays, and full-day absences) are automatically skipped. A single assignment spanning a non-working day is correct — do not split into multiple assignments to avoid it.
commentactiveOnDaysOffDeprecated. When true, the allocation applies on days off.
project
namecreatedAtupdatedAtidstatuscommentcodeShort unique identifier. Auto-generated from the project name if not provided.
billByDetermines the source of the hourly rate for billing. 0=none, 1=client, 2=project, 3=user, 4=task.
budgetByDetermines where the project budget is derived from. 0=effort (no budget), 1=total hours, 2=total amount, 3=per user, 4=per task.
hourlyRateProject-level hourly rate. Used when billBy=project, and for planning when the rate cannot be determined by the bill-by mode.
budgetProject budget amount. Interpretation depends on budgetBy mode.
budgetHoursProject budget in hours. Interpretation depends on budgetBy mode.
contactID of the associated Contact record. Primary contact for this project.
startDateendDatecompletedAtTimestamp when the project was completed or archived.
roundingTypeTime entry rounding direction. 0=none, 1=up, 2=down.
roundingAmountTime entry rounding granularity in minutes. 5, 15, 30, or 60.
progressUser-selectable percentage (0-100) representing estimated project progress.
projectStateProject lifecycle state. 1=planning, 2=in progress, 3=completed, 4=pending, 5=deal.
projectHealthProject health indicator. 0=none, 1=high, 2=medium, 3=low.
clientID of the associated Client record
colorID of the associated Color record
isSuperProjectWhen true, this project is a container for sub-projects. Sub-projects inherit color and client from the parent.
projectParentID of the associated Project record. The super project this sub-project belongs to.
customField1Account-configurable custom field. The label and meaning are defined in account settings.
customField2Account-configurable custom field. The label and meaning are defined in account settings.
customField3Account-configurable custom field. The label and meaning are defined in account settings.
customField4Account-configurable custom field. The label and meaning are defined in account settings.
customField5Account-configurable custom field. The label and meaning are defined in account settings.
customField6Account-configurable custom field. The label and meaning are defined in account settings.
customField7Account-configurable custom field. The label and meaning are defined in account settings.
customField8Account-configurable custom field. The label and meaning are defined in account settings.
customField9Account-configurable custom field. The label and meaning are defined in account settings.
customField10Account-configurable custom field. The label and meaning are defined in account settings.
externalIdOptional identifier for linking this project to an external system.
ratingWeighting factor used in staff analytics metrics. Defaults based on account settings for billable/non-billable projects.
approvalSettingsProject-specific comment/reference requirements. Overrides account settings when set; inherits from account settings when null.
dealAmountProjected deal value. Coming soon.
dealProbabilityEstimated probability of closing the deal (0-100). Coming soon.
projectday
daycreatedAtupdatedAtidprojectID of the associated Project record
validationStatusApproval status. One of: 'NOTAPPROVED', 'APPROVED'. When APPROVED, no user may create new WORK entries against this (project, day), and every existing WORK entry on this (project, day) is also APPROVED. Lack of a ProjectDay record on a given day implies NOTAPPROVED.
approvedByID of the associated User record. The user who approved this project day.
approvedOnTimestamp when approved.
projectmilestone
namedayprojectID of the associated Project record
createdAtupdatedAtidcodeShort identifier. Auto-generated from the milestone name if not provided. Unlike other code properties, uniqueness is not enforced.
commentreference
urlURL of the referenced item on the external platform.
shortCodeIdentifier of the referenced item on the external platform (e.g. a Jira issue key).
pageTitleFull name of the referenced item on the external platform.
createdAtupdatedAtidreferenceFamilyID of the associated ReferenceFamily record
scopePlatform-dependent scope (e.g. project, repository, board). Set automatically by clients and used for filtering.
statusmetadataIntegration-specific metadata (e.g. labels, epic information).
externalIdID of the referenced item in the external system.
referencefamily
nameDisplay name of the integration. Defaults to the platform name (e.g. Jira) if not provided.
referencePlatformThe external platform. One of: 'jira', 'github', 'monday', 'gitlab', 'azure', 'clickup', 'asana', 'linear', 'youtrack'.
createdAtupdatedAtidstatusreferenceUrlBase URL of the external platform instance.
settingsObjectPlatform-specific configuration. Currently only used for Jira.
enabledWhether this integration is active.
automaticReferenceCollectionWhen true, Browser Extension users will automatically collect references as pages on the external platform are visited.
referencefamilyassignment
createdAtupdatedAtidstatusprojectID of the associated Project record
referenceFamilyID of the associated ReferenceFamily record
referenceScopeFilters the references from this family to a specific scope (e.g. a specific board or repository). Corresponds to the scope property on Reference records.
settingsObjectAdditional filtering configuration (e.g. Jira labels or epics). Platform-specific.
tag
labelDisplay name. Must be unique within the same type.
createdAtupdatedAtiddescriptiontypeReserved for future use with Skills. When null, this is a plain tag. When set, this is a skill of the specified type: 1=skill, 2=language, 3=certificate.
categoryID of the associated TagCategory record. Reserved for future use with Skills.
statustagassignment
recordThe ID of the entity this tag is assigned to.
modelThe type of entity this tag is assigned to. One of: 'client', 'expense-category', 'project', 'skill-set', 'task', 'user'.
tagID of the associated Tag record
createdAtupdatedAtidtask
labelcreatedAtupdatedAtidstatuscodeShort unique identifier. Auto-generated from the task label if not provided.
billingIdIdentifier for mapping to an external billing system.
hourlyRateDefault hourly rate for this task. Copied to the TaskAssignment when associating this task with a project.
favoriteWhen true, this task is automatically added to newly created projects. At least one active task must be marked as favorite.
billableWhether time entries using this task are billable.
colorID of the associated Color record
team
namecreatedAtupdatedAtiddepartmentOptional label for display purposes, shown alongside the team name.
sloganNot currently used.
shortCodeShort identifier for the team. Not currently used.
defaultTeamWhen true, new users without a specified team are added to this team. The default team cannot be deleted.
statusteamassignment
userID of the associated User record. Cannot be changed after creation.
teamID of the associated Team record. Cannot be changed after creation.
startDateReserved for future use.
createdAtupdatedAtidendDateReserved for future use.
canManageTimeEntriesWhen true, this user can manage time entries for members of this team.
canAccessTimeEntriesWhen true, this user can view time entries for members of this team.
canApproveWorktimeWhen true, this user can approve work time for members of this team.
canManageAbsencesWhen true, this user can manage absences for members of this team.
limitedTeamStaffAccessWhen true, grants limited access to user data for members of this team.
isGuestWhen true, this is a guest membership. Guest assignments are used for granular cross-team permissions. Cannot be changed after creation.
canAccessTeamSkillAssignmentsWhen true, this user can view skill assignments for members of this team.
canManageTeamSkillAssignmentsWhen true, this user can manage skill assignments for members of this team.
canViewTimeEntriesDeprecated. Aliased to canManageTimeEntries on update.
timeentry
dayThe date this time entry is recorded on.
userID of the associated User record
createdAtupdatedAtidtrackingTypeType of entry. WORK: time on a specific project. WORKTIME: clock-in/clock-out presence for the day, independent of any project. BREAK: pause within a WORKTIME period. Cannot be changed after creation.
startTimeStart time (HH:mm). Used in start/end time timer mode and for WORKTIME/BREAK entries.
endTimeEnd time (HH:mm). Used in start/end time timer mode and for WORKTIME/BREAK entries.
sortingDisplay order within the day. Required when the account-level AccountSetting.timerMode is DURATION (except for worktime entries that are not project time). Must be omitted when AccountSetting.timerMode is START_TIME_END_TIME unless the entry is a break.
teamID of the associated Team record. The user's team at the time of creation. Auto-assigned from the user's primary team if not provided.
durationActual tracked duration in seconds. In start/end time mode, computed from startTime and endTime.
durationRoundedDuration in seconds, rounded according to the project rounding settings. Computed automatically.
durationRoundedOverrideManual override of the rounded duration in seconds for billing purposes. PM-only.
estimateReserved for future use.
runningWhether the timer is currently running.
commenttaskID of the associated Task record
projectID of the associated Project record
invoiceID of the associated Invoice record. The invoice this time entry was billed on. Set automatically when invoiced; cannot be set directly.
referenceID of the associated Reference record
hourlyRateComputed hourly rate based on the project's billBy mode. Recalculated on create and update.
billedAtTimestamp when this time entry was billed. Set when associated with an invoice, or can be set separately to mark an entry as locked.
billableWhether this time entry is billable. Computed from the task assignment and project billing configuration.
validationStatusApproval status. One of: 'NOTSUBMITTED', 'SUBMITTED', 'REJECTED', 'APPROVED'.
wasRejectedWhether this time entry was previously rejected.
firstSubmissionTimeTimestamp of the first submission.
overdueHoursHours after the user's grace period that this time entry was first submitted.
approvedOnTimestamp when approved.
approvedByID of the associated User record. The user who approved this time entry.
externalIdOptional identifier for linking this time entry to an external system.
validationID of the associated Validation record. Deprecated. Legacy weekly validation reference.
timeEntryReferenceID of the associated TimeEntryReference record. Deprecated. Legacy v1 reference. Use reference instead.
user
emailroleID of the associated Role record
updatedAtidfirstnamelastnamehourlyRateUser-level hourly rate. Used when the project's billBy mode is set to per-user.
languagetimezoneuiStateJSON blob of client-side UI preferences.
featureFlagsInternal feature flags. Read-only.
Avatar source. 0=Gravatar, 1=upload, 2=initials.
Account invitation and password state. 0=needs set, 1=needs reset, 2=ok, 3=not invited, 4=not set.
imageFileTokenToken for the uploaded avatar image. Read-only.
noticePeriodprobationaryPeriodallowConcurrentTimeEntriesWhen true, this user can run multiple timers simultaneously.
favoriteWhen true, this user is automatically added to newly created projects.
showInPlannerWhether this user appears in the planner view.
showInAbsencePlannerWhether this user appears in the absence planner view.
emailHmacHashHMAC hash of the user email. Used for third-party client identification.
jobLabeldepartmentsupervisorID of the associated User record. Default recipient for this user's absence requests. Reserved for expanded use in future approval features.
billingIdIdentifier for mapping to an external billing system.
externalIdOptional identifier for linking this user to an external system.
holidayRegionPublic holiday region code for this user, formatted as country, country/state, or country/state/region — for example DE (Germany), DE/BY (Bavaria), or DE/BY/A (Augsburg); a country code on its own yields national holidays. Changing this value regenerates the user's public-holiday-type absences from today onward to match the new region; absences dated before today are left in place. Setting it to an empty value leaves the user with no future public-holiday absences.
useDefaultHolidayRegionWhen true, the user's holidayRegion follows the account-level default — admin changes to the account default overwrite this user's region and regenerate their public-holiday absences accordingly. Setting holidayRegion directly on this user does not change this flag, so a user left at true will revert to the account default on the next default change.
enableAutomatedMessagesenableWeeklyProjectUpdatesenableWeeklyUserUpdatesenableDailyUserUpdatesenableWorktimeTrackingWhen true, worktime tracking is enabled for this user.
defaultWorktimeStartDefault work day start time for this user.
defaultWorktimeEndDefault work day end time for this user.
Default break schedule. Used to pre-populate break entries for worktime tracking.
enableOvertimeDisplayWhether overtime information is displayed for this user.
loginProvidersUser-level SSO login provider overrides. Allows specific users to use email login when the account is restricted to SSO.
featuresUnlockedDeprecated. Onboarding tutorial state.
easybillEnabledAtDeprecated. Legacy billing integration.
bankNameDeprecated. Legacy HR field.
ibanNumberDeprecated. Legacy HR field.
bicNumberDeprecated. Legacy HR field.
insuranceNameDeprecated. Legacy HR field.
insuranceTypeDeprecated. Legacy HR field.
streetDeprecated. Legacy address field.
cityDeprecated. Legacy address field.
postCodeDeprecated. Legacy address field.
countryDeprecated. Legacy address field.
birthplaceDeprecated. Legacy HR field.
birthdayDeprecated. Legacy HR field.
mobileNumberDeprecated. Legacy contact field.
phoneNumberDeprecated. Legacy contact field.
privateEmailDeprecated. Legacy contact field.
faxNumberDeprecated. Legacy contact field.
autoMessageForValidationDeprecated. Legacy validation system.
activeAutoApprovalDeprecated. Legacy validation system.
userintegration
userID of the associated User record
serviceID of the associated IntegrationService record
createdAtupdatedAtidauthenticationKeyAPI key or token for the integration service. Returned encrypted in find, decrypted in findOne.
additionalDataIntegration-specific configuration data. Must be a valid JSON string.
staleApiKeyWhen true, indicates the API key needs to be updated by the user.
contact
emailcreatedAtupdatedAtidtitleSalutation or honorific (e.g. Mr, Ms, Dr).
firstnamelastnamedepartmentpositionJob title or role at the client company.
birthdayphonephoneMobilefaxstreetaddressAddonAdditional address line (e.g. apartment, suite, floor).
postcodecitycommentcountryISO 3166-1 alpha-2 country code.
clientID of the associated Client record. The client this contact belongs to.
useremployment
userID of the associated User record
createdAtupdatedAtidemploymentTypeEmployment type. 0=employee (deprecated), 1=freelancer (deprecated), 2=former employee, 3=employee, 4=freelancer.
validFromStart date of this employment period.
employerContributionEmployer contribution rate. Only visible to users with remuneration access.
hourlyRemunerationHourly cost. Used in profitability calculations as cost. Only visible to users with remuneration access.
workHoursTypeWork hours mode. 0=fixed per day, 1=fixed per week, 2=flexible.
hoursWeeklyWeekly work hours. Used when workHoursType is fixed-per-week.
hoursMondayScheduled work hours for Monday. Used when workHoursType is fixed-per-day.
hoursTuesdayScheduled work hours for Tuesday. Used when workHoursType is fixed-per-day.
hoursWednesdayScheduled work hours for Wednesday. Used when workHoursType is fixed-per-day.
hoursThursdayScheduled work hours for Thursday. Used when workHoursType is fixed-per-day.
hoursFridayScheduled work hours for Friday. Used when workHoursType is fixed-per-day.
hoursSaturdayScheduled work hours for Saturday. Used when workHoursType is fixed-per-day.
hoursSundayScheduled work hours for Sunday. Used when workHoursType is fixed-per-day.
monthlyRemunerationDeprecated. Monthly salary.
color
createdAtupdatedAtidstatus1 = enabled, 0 = archived.
orderDisplay sort order.
labelDisplay name of the color.
hexLegacy hex color code without the leading #. Official clients may override this value depending on light/dark mode.
integrationservice
nametypeID of the associated IntegrationServiceType record
createdAtupdatedAtidtranslateDescriptionKeytranslateNameKeyexternalLinkhideshowOnlyOnBetashowOnlyOnProSubscriptionlocalIconPathtranslateDescriptionLongKeydescriptionImagePathexternalLink2integrationservicetype
namecreatedAtupdatedAtidrole
namecreatedAtupdatedAtidbaseTypeSystem role type. 0=custom, 1=default user, 2=root admin. The root admin role's permissions cannot be modified. Root admin and default user roles cannot be deleted.
canAccessPlannercanManageAbsenceRequestscanValidateWorkTimecanAccessOwnProjectscanManageOwnProjectscanCreateOwnProjectscanArchiveOwnProjectscanManageProjectRelationscanManageAllProjectscanAccessProjectCostscanManagePlannercanManageOwnPlannercanAccessUserscanAccessRemunerationscanAccessAdminRemunerationscanManageUserscanAutocollectReferencescanAccessSkillAssignmentscanAccessOwnSkillAssignmentscanManageSkillAssignmentscanManageOwnSkillAssignmentstaskassignment
taskID of the associated Task record
projectID of the associated Project record
createdAtupdatedAtidbillableProject-specific override of the task's billable flag.
hourlyRateHourly rate applied to time entries when the project's billBy mode is set to per-task. Initialized from the task's default hourlyRate.
budgetHoursBudget hours allocated to this task on this project. Used when the project's budgetBy mode is set to per-task.
statususerassignment
userID of the associated User record
projectID of the associated Project record
createdAtupdatedAtidhourlyRateHourly rate applied to time entries when the project's billBy mode is set to per-user. Initialized from the user's default hourlyRate.
budgetHoursBudget hours allocated to this user on this project. Used when the project's budgetBy mode is set to per-user.
isProjectManagerWhen true, grants the assigned user additional permissions to edit this project and its time entries, according to the user's role-level permissions.
isProjectLeadWhen true, this user is designated as the project lead. Grants no extra permissions, but is displayed in the app and can be used for filtering and exporting.