Aller au contenu principal

Employee Endpoints

API endpoints for employee management, profiles, and statistics.

Employee CRUD

List Employees

GET /api/employee?take=10&skip=0&relations[]=user&relations[]=organization
Authorization: Bearer {token}

Response (200 OK):

{
"items": [
{
"id": "...",
"firstName": "John",
"lastName": "Doe",
"billRateValue": 50,
"billRateCurrency": "USD",
"startedWorkOn": "2024-01-01T00:00:00.000Z",
"isActive": true,
"user": { "id": "...", "email": "john@example.com" },
"organization": { "id": "...", "name": "Engineering" }
}
],
"total": 42
}

Get Employee by ID

GET /api/employee/{id}
Authorization: Bearer {token}

Create Employee

POST /api/employee
Authorization: Bearer {token}
Content-Type: application/json

{
"firstName": "John",
"lastName": "Doe",
"startedWorkOn": "2024-01-01",
"billRateValue": 50,
"billRateCurrency": "USD",
"userId": "user-uuid",
"organizationId": "org-uuid"
}

Update Employee

PUT /api/employee/{id}
Authorization: Bearer {token}
Content-Type: application/json

{
"firstName": "John",
"lastName": "Updated",
"billRateValue": 60
}

Delete Employee

DELETE /api/employee/{id}
Authorization: Bearer {token}

Employee Statistics

Get Employee Statistics

GET /api/employee/{id}/statistics
Authorization: Bearer {token}

Response: aggregated time tracking, income, and expense data for the employee.

Get Working Statistics

GET /api/employee/statistics/months
Authorization: Bearer {token}

Returns monthly aggregated working hours, income, and bonuses.

Employee Levels

List Employee Levels

GET /api/employee-level
Authorization: Bearer {token}

Create Employee Level

POST /api/employee-level
Authorization: Bearer {token}
Content-Type: application/json

{
"level": "Senior Developer",
"organizationId": "org-uuid"
}

Employee Awards

List Awards

GET /api/employee-award?where[employeeId]={employee-id}
Authorization: Bearer {token}

Create Award

POST /api/employee-award
Authorization: Bearer {token}
Content-Type: application/json

{
"name": "Employee of the Month",
"year": "2024",
"employeeId": "employee-uuid",
"organizationId": "org-uuid"
}

Employee Settings

Get Employee Settings

GET /api/employee-setting?where[employeeId]={employee-id}
Authorization: Bearer {token}

Update Employee Settings

PUT /api/employee-setting/{id}
Authorization: Bearer {token}
Content-Type: application/json

{
"isTrackingEnabled": true,
"isScreenshotEnabled": true,
"screenshotFrequency": 10,
"trackOnSleep": false
}

Employee Recurring Expenses

List Recurring Expenses

GET /api/employee-recurring-expense?where[employeeId]={employee-id}
Authorization: Bearer {token}

Create Recurring Expense

POST /api/employee-recurring-expense
Authorization: Bearer {token}
Content-Type: application/json

{
"employeeId": "employee-uuid",
"categoryName": "Internet",
"value": 50,
"currency": "USD",
"startDate": "2024-01-01",
"organizationId": "org-uuid"
}

Required Permissions

EndpointPermission
GET /api/employeeEMPLOYEES_VIEW
POST /api/employeeEMPLOYEES_EDIT
PUT /api/employee/:idEMPLOYEES_EDIT
DELETE /api/employee/:idEMPLOYEES_EDIT
GET /api/employee/:id/statisticsEMPLOYEES_VIEW