API Reference

Employees

8 endpoints· Auth: JWT or API Key
get/api/v1/console/hr/departments JWT API Key

Get 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 Key

Get 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 Key

Create 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 Key

Get 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 Key

Update 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 Key

Delete 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 Key

Create 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 Key

Get 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