API Reference
Employees
8 endpoints· Auth: JWT or API Key
get
/api/v1/console/hr/departments JWT API KeyGet departments
Responses
200Success
cURL
curl -X GET "https://staging-api.panoptesos.com/api/v1/console/hr/departments" \
-H "X-Api-Key: <YOUR_API_KEY>" Try itagainst staging · https://staging-api.panoptesos.com
Set credentials in the “Authorize” menu
get
/api/v1/console/hr/employees JWT API KeyGet employees
Query parameters
| DepartmentId string (uuid) | — |
| PositionId string (uuid) | — |
| EmploymentStatus EmploymentStatus | — |
| IncludeRetired boolean | — |
| Page integer (int32) | — |
| PerPage integer (int32) | — |
| Search string | — |
| Skip integer (int32) | — |
| Sort string | — |
| Dir string | — |
Responses
200Success
cURL
curl -X GET "https://staging-api.panoptesos.com/api/v1/console/hr/employees" \
-H "X-Api-Key: <YOUR_API_KEY>" Try itagainst staging · https://staging-api.panoptesos.com
Query parameters
Set credentials in the “Authorize” menu
post
/api/v1/console/hr/employees JWT API KeyCreate employees
Request body
application/json
{
"fullName": "string",
"userId": "00000000-0000-0000-0000-000000000000",
"phone": "string",
"email": "string",
"address": "string",
"nationalId": "string",
"photoUrl": "string",
"dateOfBirth": "2026-09-30T18:07:54.481Z",
"gender": "Male",
"maritalStatus": "Single",
"emergencyName": "string",
"emergencyPhone": "string",
"departmentId": "00000000-0000-0000-0000-000000000000",
"positionId": "00000000-0000-0000-0000-000000000000",
"hireDate": "2026-09-30",
"contractType": "FullTime",
"baseSalary": 0,
"allowances": 0,
"annualLeaveBalance": 0
}| fullName string | — |
| userId string (uuid) | — |
| phone string | — |
| email string | — |
| address string | — |
| nationalId string | — |
| photoUrl string | — |
| dateOfBirth string (date-time) | — |
| gender Gender | — |
| maritalStatus MaritalStatus | — |
| emergencyName string | — |
| emergencyPhone string | — |
| departmentId string (uuid) | — |
| positionId string (uuid) | — |
| hireDate string (date) | — |
| contractType EmployeeContractType | — |
| baseSalary integer (int64) | — |
| allowances integer (int64) | — |
| annualLeaveBalance number (double) | — |
Responses
200Success
cURL
curl -X POST "https://staging-api.panoptesos.com/api/v1/console/hr/employees" \
-H "Content-Type: application/json" \
-H "X-Api-Key: <YOUR_API_KEY>" \
-d '{
"fullName": "string",
"userId": "00000000-0000-0000-0000-000000000000",
"phone": "string",
"email": "string",
"address": "string",
"nationalId": "string",
"photoUrl": "string",
"dateOfBirth": "2026-09-30T18:07:54.481Z",
"gender": "Male",
"maritalStatus": "Single",
"emergencyName": "string",
"emergencyPhone": "string",
"departmentId": "00000000-0000-0000-0000-000000000000",
"positionId": "00000000-0000-0000-0000-000000000000",
"hireDate": "2026-09-30",
"contractType": "FullTime",
"baseSalary": 0,
"allowances": 0,
"annualLeaveBalance": 0
}' Try itagainst staging · https://staging-api.panoptesos.com
Request body (JSON)
Set credentials in the “Authorize” menu
get
/api/v1/console/hr/employees/{id} JWT API KeyGet id
Path parameters
| idrequired string (uuid) | — |
Responses
200Success
cURL
curl -X GET "https://staging-api.panoptesos.com/api/v1/console/hr/employees/{id}" \
-H "X-Api-Key: <YOUR_API_KEY>" Try itagainst staging · https://staging-api.panoptesos.com
Path parameters
Set credentials in the “Authorize” menu
put
/api/v1/console/hr/employees/{id} JWT API KeyUpdate id
Path parameters
| idrequired string (uuid) | — |
Request body
application/json
{
"fullName": "string",
"userId": "00000000-0000-0000-0000-000000000000",
"phone": "string",
"email": "string",
"address": "string",
"nationalId": "string",
"photoUrl": "string",
"dateOfBirth": "2026-09-30T18:07:54.481Z",
"gender": "Male",
"maritalStatus": "Single",
"emergencyName": "string",
"emergencyPhone": "string",
"departmentId": "00000000-0000-0000-0000-000000000000",
"positionId": "00000000-0000-0000-0000-000000000000",
"hireDate": "2026-09-30",
"contractType": "FullTime",
"baseSalary": 0,
"allowances": 0,
"annualLeaveBalance": 0
}| fullName string | — |
| userId string (uuid) | — |
| phone string | — |
| email string | — |
| address string | — |
| nationalId string | — |
| photoUrl string | — |
| dateOfBirth string (date-time) | — |
| gender Gender | — |
| maritalStatus MaritalStatus | — |
| emergencyName string | — |
| emergencyPhone string | — |
| departmentId string (uuid) | — |
| positionId string (uuid) | — |
| hireDate string (date) | — |
| contractType EmployeeContractType | — |
| baseSalary integer (int64) | — |
| allowances integer (int64) | — |
| annualLeaveBalance number (double) | — |
Responses
200Success
cURL
curl -X PUT "https://staging-api.panoptesos.com/api/v1/console/hr/employees/{id}" \
-H "Content-Type: application/json" \
-H "X-Api-Key: <YOUR_API_KEY>" \
-d '{
"fullName": "string",
"userId": "00000000-0000-0000-0000-000000000000",
"phone": "string",
"email": "string",
"address": "string",
"nationalId": "string",
"photoUrl": "string",
"dateOfBirth": "2026-09-30T18:07:54.481Z",
"gender": "Male",
"maritalStatus": "Single",
"emergencyName": "string",
"emergencyPhone": "string",
"departmentId": "00000000-0000-0000-0000-000000000000",
"positionId": "00000000-0000-0000-0000-000000000000",
"hireDate": "2026-09-30",
"contractType": "FullTime",
"baseSalary": 0,
"allowances": 0,
"annualLeaveBalance": 0
}' Try itagainst staging · https://staging-api.panoptesos.com
Path parameters
Request body (JSON)
Set credentials in the “Authorize” menu
delete
/api/v1/console/hr/employees/{id} JWT API KeyDelete id
Path parameters
| idrequired string (uuid) | — |
Request body
application/json
{
"reason": "string"
}| reason string | — |
Responses
200Success
cURL
curl -X DELETE "https://staging-api.panoptesos.com/api/v1/console/hr/employees/{id}" \
-H "X-Api-Key: <YOUR_API_KEY>" Try itagainst staging · https://staging-api.panoptesos.com
Path parameters
Set credentials in the “Authorize” menu
post
/api/v1/console/hr/employees/{id}/employment-status JWT API KeyCreate employment-status
Path parameters
| idrequired string (uuid) | — |
Request body
application/json
{
"status": "Active",
"reason": "string"
}| status EmploymentStatus | — |
| reason string | — |
Responses
200Success
cURL
curl -X POST "https://staging-api.panoptesos.com/api/v1/console/hr/employees/{id}/employment-status" \
-H "Content-Type: application/json" \
-H "X-Api-Key: <YOUR_API_KEY>" \
-d '{
"status": "Active",
"reason": "string"
}' Try itagainst staging · https://staging-api.panoptesos.com
Path parameters
Request body (JSON)
Set credentials in the “Authorize” menu
get
/api/v1/console/hr/positions JWT API KeyGet positions
Responses
200Success
cURL
curl -X GET "https://staging-api.panoptesos.com/api/v1/console/hr/positions" \
-H "X-Api-Key: <YOUR_API_KEY>" Try itagainst staging · https://staging-api.panoptesos.com
Set credentials in the “Authorize” menu