API Employees

See API Specification

Anyone using the API should also become very familiar with our schema documentation which contains important details about individual database table columns.
See Employee Database Schema.

Employees GET (single)

Version Added: 23.3.22

Gets a single employee.

Parameters:

EmployeeNum: Required in URL.

Example Request:
GET /employees/17

Example Response:
{
"EmployeeNum": 17,
"LName": "Elser",
"FName": "Sierra",
"MiddleI": "O",
"IsHidden": "false",
"ClockStatus": "Working",
"PayrollID": "",
"WirelessPhone": "(555)012-4816",
"EmailWork": "ElserS@email.net",
"EmailPersonal": "",
"IsFurloughed": "false",
"ReportsTo": 0
}

200 OK
404 NotFound (with explanation)

Employees GET (multiple)

Version Added: 23.3.22

Gets a list of employees.

Parameters:

ReportsTo: Optional. FK to employee.EmployeeNum.

Example Requests:
GET /employees
GET /employees?ReportsTo=0
GET /employees?ReportsTo=17

[
{
"EmployeeNum": 34,
"LName": "Bell",
"FName": "Sharron",
"MiddleI": "J",
"IsHidden": "false",
"ClockStatus": "Working",
"PayrollID": "",
"WirelessPhone": "(022)920-2325",
"EmailWork": "SharronB@email.net",
"EmailPersonal": "",
"IsFurloughed": "false",
"ReportsTo": 17
},
{
"EmployeeNum": 52,
"LName": "Grayson",
"FName": "Fiona",
"MiddleI": "D",
"IsHidden": "false",
"ClockStatus": "Home",
"PayrollID": "",
"WirelessPhone": "(555)122-9202",
"EmailWork": "GraysonF@email.net",
"EmailPersonal": "",
"IsFurloughed": "false",
"ReportsTo": 17
}
]

Example Response:
200 OK
400 BadRequest (with explanation)
404 NotFound (with explanation)

Employees POST (create)

Version Added: 25.4.36

Creates a new employee.

LName: Required if FName is not supplied. Optional otherwise. Last name. Default empty string.
FName: Required if LName is not supplied. Optional otherwise. First name. Default empty string.

MiddleI: Optional. Middle initial or name. Default empty string.
IsHidden: Optional. Either "true" or "false". Default "false".
PayrollID: Optional. Default empty string.
WirelessPhone: Optional. Default empty string.
EmailWork: Optional. Default empty string.
EmailPersonal: Optional. Default empty string.
IsFurloughed: Optional. Either "true" or "false". Default "false".
ReportsTo: Optional. FK to employee.EmployeeNum. Default 0.

Example Request:
POST /employees

{
"LName": "Doppler",
"FName": "Charles",
"MiddleI": "Y",
"WirelessPhone": "555-0100",
"EmailWork": "cdoppler@email.com",
"ReportsTo": 7
}

Example Response:
{
"EmployeeNum": 8,
"LName": "Doppler",
"FName": "Charles",
"MiddleI": "Y",
"IsHidden": "false",
"ClockStatus": "",
"PayrollID": "",
"WirelessPhone": "555-0100",
"EmailWork": "cdoppler@email.com",
"EmailPersonal": "",
"IsFurloughed": "false",
"ReportsTo": 7
}

201 Created
400 BadRequest (with explanation)
404 NotFound (with explanation)

Employees PUT (update)

Version Added: 25.4.36

Updates an existing employee. Cannot update it in a way that would cause LName and FName to both end up blank.

EmployeeNum: Required in the URL.

LName: Last name.
FName: First name.
MiddleI: Middle initial or name.
IsHidden: Either "true" or "false".
PayrollID: Used to store the payroll identification number used to generate payroll reports.
WirelessPhone: Wireless phone number including any punctuation.
EmailWork: Work email address.
EmailPersonal: Personal email address.
IsFurloughed: Either "true" or "false".
ReportsTo: FK to employee.EmployeeNum. Can be set to 0.

Example Request:
PUT /employees/8

{
"IsHidden": "true",
"ReportsTo": 0
}

Example Response:
{
"EmployeeNum": 8,
"LName": "Doppler",
"FName": "Charles",
"MiddleI": "Y",
"IsHidden": "true",
"ClockStatus": "",
"PayrollID": "",
"WirelessPhone": "555-0100",
"EmailWork": "cdoppler@email.com",
"EmailPersonal": "",
"IsFurloughed": "false",
"ReportsTo": 0
}

200 OK
400 BadRequest (with explanation)
404 NotFound (with explanation)