curl --request GET \
--url https://api.example.com/api/v1/employees \
--header 'Authorization: <authorization>'{
"status": 123,
"data": [
{
"id": "<string>",
"code": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"is_active": true,
"email": "<string>",
"phone": "<string>",
"roles": [
{}
],
"employment_periods": [
{
"id": "<string>",
"branch_id": 123,
"branch": {},
"start_date": "<string>",
"end_date": "<string>",
"is_active": true,
"termination_reason": "<string>"
}
],
"active_employment_periods_count": 123,
"meta": {},
"created_at": "<string>",
"updated_at": "<string>"
}
],
"meta": {
"current_page": 123,
"from": 123,
"last_page": 123,
"path": "<string>",
"per_page": 123,
"to": 123,
"total": 123
},
"links": {
"first": "<string>",
"last": "<string>",
"prev": "<string>",
"next": "<string>"
}
}Retrieve a paginated list of employees with filtering and sorting options
curl --request GET \
--url https://api.example.com/api/v1/employees \
--header 'Authorization: <authorization>'{
"status": 123,
"data": [
{
"id": "<string>",
"code": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"is_active": true,
"email": "<string>",
"phone": "<string>",
"roles": [
{}
],
"employment_periods": [
{
"id": "<string>",
"branch_id": 123,
"branch": {},
"start_date": "<string>",
"end_date": "<string>",
"is_active": true,
"termination_reason": "<string>"
}
],
"active_employment_periods_count": 123,
"meta": {},
"created_at": "<string>",
"updated_at": "<string>"
}
],
"meta": {
"current_page": 123,
"from": 123,
"last_page": 123,
"path": "<string>",
"per_page": 123,
"to": 123,
"total": 123
},
"links": {
"first": "<string>",
"last": "<string>",
"prev": "<string>",
"next": "<string>"
}
}true, returns only active employees. When false, returns only inactive employees. Omit to return all employees regardless of status."baja" to return only employees without an active employment period (terminated employees).manager, cook, kitchen-assistant, delivery-driver, acting-manager, admin, super-adminfield:direction.Sortable fields: code, first_name, last_name, is_active, created_atDirection: asc or descExample: sort[]=code:asc&sort[]=last_name:ascDefault: Sorts by code:asc when no sort is specifiedShow Employee Object
Show Employment Period Object
Show Pagination Meta
curl -X GET "https://api.sushigo.local/api/v1/employees" \
-H "Authorization: Bearer YOUR_TOKEN"
curl -X GET "https://api.sushigo.local/api/v1/employees?is_active=true" \
-H "Authorization: Bearer YOUR_TOKEN"
curl -X GET "https://api.sushigo.local/api/v1/employees?role=cook" \
-H "Authorization: Bearer YOUR_TOKEN"
curl -X GET "https://api.sushigo.local/api/v1/employees?search=Juan" \
-H "Authorization: Bearer YOUR_TOKEN"
curl -X GET "https://api.sushigo.local/api/v1/employees?status=baja" \
-H "Authorization: Bearer YOUR_TOKEN"
curl -X GET "https://api.sushigo.local/api/v1/employees?sort[]=last_name:asc&sort[]=first_name:asc" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"status": 200,
"data": [
{
"id": "01JKXYZ1234567890ABCDEFGH",
"code": "EMP-001",
"first_name": "Juan",
"last_name": "Pérez",
"is_active": true,
"email": "[email protected]",
"phone": "5512345678",
"roles": ["cook", "kitchen-assistant"],
"employment_periods": [
{
"id": "01JKXYZ9876543210ZYXWVUTS",
"branch_id": 1,
"branch": {
"id": 1,
"name": "SushiGo Centro",
"code": "CENTRO"
},
"start_date": "2026-01-15",
"end_date": null,
"is_active": true,
"termination_reason": null
}
],
"active_employment_periods_count": 1,
"meta": null,
"created_at": "2026-01-15T14:30:00+00:00",
"updated_at": "2026-02-20T10:15:00+00:00"
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://api.sushigo.local/api/v1/employees",
"per_page": 15,
"to": 1,
"total": 1
},
"links": {
"first": "https://api.sushigo.local/api/v1/employees?page=1",
"last": "https://api.sushigo.local/api/v1/employees?page=1",
"prev": null,
"next": null
}
}