Employees API
CRUD kart pracowników powiązanych z użytkownikiem, działem, przełożonym i miejscem pracy.
GET
/api/v1/employees
POST
/api/v1/employees
GET
/api/v1/employees/{id}
PATCH
/api/v1/employees/{id}
DELETE
/api/v1/employees/{id}
200 201 401 422 500
Nagłówki
Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
Wszystkie endpointy tej sekcji działają pod middleware auth:sanctum.
Pola request body
| Pole | Typ | Wymagane przy POST | Opis |
|---|---|---|---|
user_id |
integer | tak | ID użytkownika, unikalne w tabeli employees. |
department_id |
integer | tak | ID działu. |
manager_employee_id |
integer|null | nie | ID przełożonego. |
workplace_id |
integer | tak | ID miejsca pracy. |
first_name |
string | tak | Imię pracownika. |
last_name |
string | tak | Nazwisko pracownika. |
position |
string | tak | Nazwa stanowiska na karcie pracownika. |
is_active |
boolean | nie | Czy pracownik jest aktywny. |
Przy PATCH można wysłać tylko pola, które mają zostać zmienione.
Filtry listy
Endpoint listy przyjmuje query string z filtrami:
user_id={wartosc}
department_id={wartosc}
manager_employee_id={wartosc}
workplace_id={wartosc}
is_active={wartosc}
per_page=25
Jeżeli per_page nie zostanie podane, API zwróci pełną kolekcję.
Przykładowy request
{
"user_id": 1,
"department_id": 1,
"manager_employee_id": null,
"workplace_id": 1,
"first_name": "Jan",
"last_name": "Kowalski",
"position": "Backend Developer",
"phone": "+48 123 456 789",
"avatar_url": null,
"employment_start_date": "2026-01-01",
"is_active": true
}
Przykładowa odpowiedź
{
"data": {
"id": 1,
"...": "pola zasobu",
"created_at": "2026-07-21T10:00:00.000000Z",
"updated_at": "2026-07-21T10:00:00.000000Z"
}
}