Operations (sample payloads)
Main operationsCopy
Add employeeCopy
Add employee.
Sample Input
1{2"first_name": "John",3"last_name": "Doe",4"custom_properties": [5{6"key": "department",7"value": "Marketing"8},9{10"key": "start_date",11"value": "2023-06-01"12}13]14}
Sample Output
1{2"id": "12345",3"location": "https://api.bamboohr.com/api/gateway.php/companyname/v1/employees/12345"4}
Add row to employee tableCopy
Add row to employee table.
Sample Input
1{2"employee_id": "12345",3"table_name": "Emergency Contacts",4"custom_properties": [5{6"field_key": "Name",7"field_value": "John Doe"8},9{10"field_key": "Relationship",11"field_value": "Spouse"12},13{14"field_key": "Phone",15"field_value": "+1 (555) 123-4567"16},17{18"field_key": "Email",19"field_value": "johndoe@example.com"20}21]22}
Sample Output
1{2"id": "789",3"location": "/v1/employees/12345/tables/Emergency Contacts/789"4}
Add time off requestCopy
Add time off request using employee ID.
Sample Input
1{2"employee_id": "12345",3"status": "requested",4"start_date": "2023-10-01T09:00:00Z",5"end_date": "2023-10-02T17:00:00Z",6"time_off_type_id": 1,7"amount": 16,8"notes": {9"from": "John Doe",10"note": "Taking a short vacation"11},12"dates": [13{14"ymd": "2023-10-01",15"amount": 816},17{18"ymd": "2023-10-02",19"amount": 820}21]22}
Sample Output
1{2"id": "1001",3"employeeId": "12345",4"start": "2023-10-01",5"end": "2023-10-02",6"created": "2023-09-15T14:30:00Z",7"status": {8"status": "requested",9"lastChanged": "2023-09-15T14:30:00Z",10"lastChangedByUserId": "12345"11},12"name": "Vacation",13"type": {14"id": "1",15"name": "Vacation"16},17"amount": {18"unit": "hours",19"amount": "16"20},21"notes": {22"employee": "Taking a short vacation",23"manager": ""24},25"dates": {26"2023-10-01": "8",27"2023-10-02": "8"28},29"comments": [30{31"employeeId": "12345",32"comment": "Submitted time off request",33"commentDate": "2023-09-15T14:30:00Z",34"commenterName": "John Doe"35}36],37"actions": {38"view": true,39"edit": true,40"cancel": true,41"approve": false,42"deny": false,43"bypass": false44},45"policyType": "accrual",46"usedYearToDate": 24,47"balanceOnDateOfRequest": 8048}
Change request statusCopy
Change the status of a request by request ID.
Sample Input
1{2"request_id": "1234",3"status": "approved",4"note": "Request approved after review of submitted documents."5}
Sample Output
1{2"message": "Request status updated successfully",3"code": "200"4}
Get an employee file by IDCopy
Get an employee file.
Sample Input
1{2"employee_id": 12345,3"file_id": 678904}
Sample Output
1{2"file": {3"name": "Employee_Performance_Review_2023.pdf",4"url": "https://api.bamboohr.com/api/gateway.php/companyname/v1/employees/12345/files/67890",5"mime_type": "application/pdf",6"expires": 16861536007}8}
Get company file by IDCopy
Get a company file.
Sample Input
1{2"file_id": "12345"3}
Sample Output
1{2"file": {3"url": "https://companyfiles.bamboohr.com/employees/12345/document.pdf",4"mime_type": "application/pdf",5"expires": 16234567896}7}
Get details for list fieldsCopy
Get details for list fields.
Sample Input
1{}
Sample Output
1{2"results": [3{4"fieldId": 1,5"manageable": "yes",6"multiple": "no",7"name": "Department",8"options": [9{10"id": 101,11"archived": "no",12"createdDate": "2023-01-15",13"archivedDate": null,14"name": "Marketing"15},16{17"id": 102,18"archived": "no",19"createdDate": "2023-01-15",20"archivedDate": null,21"name": "Sales"22}23],24"alias": "department"25},26{27"fieldId": 2,28"manageable": "yes",29"multiple": "yes",30"name": "Skills",31"options": [32{33"id": 201,34"archived": "no",35"createdDate": "2023-02-01",36"archivedDate": null,37"name": "JavaScript"38},39{40"id": 202,41"archived": "no",42"createdDate": "2023-02-01",43"archivedDate": null,44"name": "Python"45}46],47"alias": "skills"48}49]50}
Get employee by IDCopy
Get employee by ID.
Sample Input
1{2"employee_id": "12345",3"fields": [4"firstName",5"lastName",6"jobTitle",7"department",8"workEmail"9],10"only_current": true11}
Sample Output
1{2"id": "12345",3"firstName": "John",4"lastName": "Doe",5"jobTitle": "Software Engineer",6"department": "Engineering",7"workEmail": "john.doe@example.com"8}
Get employee directoryCopy
Get employee directory.
Sample Input
1{}
Sample Output
1{2"fields": [3{4"id": "displayName",5"type": "text",6"name": "Display name"7},8{9"id": "jobTitle",10"type": "text",11"name": "Job title"12},13{14"id": "department",15"type": "text",16"name": "Department"17}18],19"employees": [20{21"id": "123456",22"displayName": "John Doe",23"firstName": "John",24"lastName": "Doe",25"preferredName": "Johnny",26"jobTitle": "Software Engineer",27"workPhone": "+1 (555) 123-4567",28"mobilePhone": "+1 (555) 987-6543",29"workEmail": "john.doe@company.com",30"department": "Engineering",31"location": "New York",32"division": "Technology",33"linkedIn": "https://www.linkedin.com/in/johndoe",34"instagram": "@johndoe",35"pronouns": "he/him",36"workPhoneExtension": "4567",37"supervisor": "Jane Smith",38"photoUploaded": true,39"photoUrl": "https://company.bamboohr.com/employees/photos/123456.jpg",40"canUploadPhoto": 141},42{43"id": "789012",44"displayName": "Alice Johnson",45"firstName": "Alice",46"lastName": "Johnson",47"preferredName": "Ali",48"jobTitle": "Marketing Manager",49"workPhone": "+1 (555) 234-5678",50"mobilePhone": "+1 (555) 876-5432",51"workEmail": "alice.johnson@company.com",52"department": "Marketing",53"location": "San Francisco",54"division": "Sales & Marketing",55"linkedIn": "https://www.linkedin.com/in/alicejohnson",56"instagram": "@alicejmarketing",57"pronouns": "she/her",58"workPhoneExtension": "5678",59"supervisor": "Bob Williams",60"photoUploaded": false,61"photoUrl": "",62"canUploadPhoto": 163}64]65}
Get employee tableCopy
Get table rows by employee ID and table name.
Sample Input
1{2"employee_id": "12345",3"table_name": "emergencyContacts"4}
Sample Output
1{2"results": [3{4"id": "1",5"employeeId": "12345",6"name": "John Doe",7"relationship": "Spouse",8"homePhone": "555-123-4567",9"addressLine1": "123 Main St",10"addressLine2": "Apt 4B",11"mobilePhone": "555-987-6543",12"email": "johndoe@example.com",13"zipcode": "12345",14"city": "Anytown",15"state": "CA",16"country": "USA",17"workPhone": 5551112222,18"workPhoneExtension": "123",19"primaryContact": "Yes"20},21{22"id": "2",23"employeeId": "12345",24"name": "Jane Smith",25"relationship": "Sister",26"homePhone": "555-234-5678",27"addressLine1": "456 Elm St",28"addressLine2": "",29"mobilePhone": "555-876-5432",30"email": "janesmith@example.com",31"zipcode": "67890",32"city": "Othertown",33"state": "NY",34"country": "USA",35"workPhone": 5553334444,36"workPhoneExtension": "",37"primaryContact": "No"38}39]40}
Get time off requestsCopy
Get time off requests.
Sample Input
1{2"start_date": "2023-01-01",3"end_date": "2023-12-31",4"employee_id": "1234",5"action": "view",6"status": "approved"7}
Sample Output
1{2"results": [3{4"id": "12345",5"employeeId": "1234",6"status": {7"lastChanged": "2023-03-15T10:30:00Z",8"lastChangedByUserId": "5678",9"status": "approved"10},11"name": "John Doe",12"start": "2023-07-01",13"end": "2023-07-07",14"created": "2023-03-10T09:00:00Z",15"type": {16"id": "vacation",17"name": "Vacation",18"icon": "palm-tree"19},20"amount": {21"unit": "days",22"amount": "5"23},24"actions": {25"view": true,26"edit": false,27"cancel": false,28"approve": false,29"deny": false,30"bypass": false31},32"dates": {33"2023-07-01": "full",34"2023-07-02": "full",35"2023-07-03": "full",36"2023-07-04": "full",37"2023-07-05": "full"38},39"notes": {40"manager": "Approved for annual summer vacation."41}42}43]44}
Get whos outCopy
Get whos out.
Sample Input
1{2"start_date": "2023-05-01T00:00:00Z",3"end_date": "2023-05-31T23:59:59Z"4}
Sample Output
1{2"results": [3{4"id": 1234,5"type": "vacation",6"employeeId": 5678,7"name": "John Doe",8"start": "2023-05-15T00:00:00Z",9"end": "2023-05-19T23:59:59Z"10},11{12"id": 2345,13"type": "sick",14"employeeId": 6789,15"name": "Jane Smith",16"start": "2023-05-22T00:00:00Z",17"end": "2023-05-22T23:59:59Z"18},19{20"id": 3456,21"type": "personal",22"employeeId": 7890,23"name": "Bob Johnson",24"start": "2023-05-25T00:00:00Z",25"end": "2023-05-26T23:59:59Z"26}27]28}
List company files and categoriesCopy
Get company files and categories.
Sample Input
1{}
Sample Output
1{2"categories": [3{4"id": 1,5"canUploadFiles": "yes",6"name": "Employee Handbooks",7"files": [8{9"id": 101,10"name": "Company Handbook 2023",11"originalFileName": "Company_Handbook_2023.pdf",12"size": "2.5MB",13"dateCreated": "2023-01-15",14"createdBy": "John Doe",15"shareWithEmployees": "yes",16"canRenameFile": "yes",17"canDeleteFile": "no"18},19{20"id": 102,21"name": "Code of Conduct",22"originalFileName": "Code_of_Conduct.pdf",23"size": "1.2MB",24"dateCreated": "2023-02-01",25"createdBy": "Jane Smith",26"shareWithEmployees": "yes",27"canRenameFile": "yes",28"canDeleteFile": "no"29}30]31},32{33"id": 2,34"canUploadFiles": "yes",35"name": "Company Policies",36"files": [37{38"id": 201,39"name": "Remote Work Policy",40"originalFileName": "Remote_Work_Policy.docx",41"size": "500KB",42"dateCreated": "2023-03-10",43"createdBy": "HR Department",44"shareWithEmployees": "yes",45"canRenameFile": "yes",46"canDeleteFile": "yes"47}48]49}50]51}
List employee fieldsCopy
Get a list of fields.
Sample Input
1{}
Sample Output
1{2"results": [3{4"id": "firstName",5"name": "First Name",6"type": "text"7},8{9"id": "lastName",10"name": "Last Name",11"type": "text"12},13{14"id": "jobTitle",15"name": "Job Title",16"type": "text"17},18{19"id": "department",20"name": "Department",21"type": "list"22},23{24"id": "hireDate",25"name": "Hire Date",26"type": "date"27}28]29}
List employee files and categoriesCopy
Get employee files and categories.
Sample Input
1{2"employee_id": "12345"3}
Sample Output
1{2"employee": {3"id": 123454},5"categories": [6{7"id": 1,8"name": "Personal Documents",9"canRenameCategory": "yes",10"canDeleteCategory": "no",11"canUploadFiles": "yes",12"displayIfEmpty": "no",13"files": [14{15"id": 101,16"name": "Driver's License",17"originalFileName": "drivers_license.pdf",18"size": 1024000,19"dateCreated": "2023-05-15T10:30:00Z",20"createdBy": "HR Manager",21"shareWithEmployee": "yes",22"canRenameFile": "yes",23"canDeleteFile": "yes",24"canChangeShareWithEmployeeFieldValue": "yes"25},26{27"id": 102,28"name": "Passport",29"originalFileName": "passport.jpg",30"size": 2048000,31"dateCreated": "2023-05-16T14:45:00Z",32"createdBy": "Employee",33"shareWithEmployee": "yes",34"canRenameFile": "no",35"canDeleteFile": "no",36"canChangeShareWithEmployeeFieldValue": "no"37}38]39},40{41"id": 2,42"name": "Employment Documents",43"canRenameCategory": "no",44"canDeleteCategory": "no",45"canUploadFiles": "yes",46"displayIfEmpty": "yes",47"files": [48{49"id": 201,50"name": "Employment Contract",51"originalFileName": "contract_2023.pdf",52"size": 3072000,53"dateCreated": "2023-01-02T09:00:00Z",54"createdBy": "HR Manager",55"shareWithEmployee": "yes",56"canRenameFile": "no",57"canDeleteFile": "no",58"canChangeShareWithEmployeeFieldValue": "no"59}60]61}62]63}
List tablesCopy
Get a list of tables.
Sample Input
1{}
Sample Output
1{2"results": [3{4"alias": "employee",5"fields": [6{7"id": 1,8"name": "employeeId",9"alias": "Employee ID",10"type": "integer"11},12{13"id": 2,14"name": "firstName",15"alias": "First Name",16"type": "text"17},18{19"id": 3,20"name": "lastName",21"alias": "Last Name",22"type": "text"23},24{25"id": 4,26"name": "jobTitle",27"alias": "Job Title",28"type": "text"29}30]31},32{33"alias": "department",34"fields": [35{36"id": 1,37"name": "departmentId",38"alias": "Department ID",39"type": "integer"40},41{42"id": 2,43"name": "departmentName",44"alias": "Department Name",45"type": "text"46}47]48}49]50}
List time off policiesCopy
Get time off policies.
Sample Input
1{}
Sample Output
1{2"results": [3{4"id": "1",5"timeOffTypeId": "101",6"name": "Vacation",7"effectiveDate": "2023-01-01",8"type": "Paid Time Off"9},10{11"id": "2",12"timeOffTypeId": "102",13"name": "Sick Leave",14"effectiveDate": "2023-01-01",15"type": "Paid Time Off"16},17{18"id": "3",19"timeOffTypeId": "103",20"name": "Personal Days",21"effectiveDate": "2023-01-01",22"type": "Paid Time Off"23},24{25"id": "4",26"timeOffTypeId": "104",27"name": "Unpaid Leave",28"effectiveDate": "2023-01-01",29"type": "Unpaid Time Off"30}31]32}
List time off typesCopy
Get time off types.
Sample Input
1{}
Sample Output
1{2"timeOffTypes": [3{4"id": "1",5"name": "Vacation",6"units": "days",7"color": "#4CAF50",8"icon": "beach_access"9},10{11"id": "2",12"name": "Sick Leave",13"units": "days",14"color": "#F44336",15"icon": "local_hospital"16},17{18"id": "3",19"name": "Personal Time",20"units": "hours",21"color": "#2196F3",22"icon": "person"23}24],25"defaultHours": [26{27"name": "Full-time",28"amount": "8"29},30{31"name": "Part-time",32"amount": "4"33}34]35}
List usersCopy
Get a list of users.
Sample Input
1{}
Sample Output
1{2"2370": {3"id": 2370,4"employeeId": 1001,5"firstName": "John",6"lastName": "Doe",7"email": "john.doe@example.com",8"status": "active",9"lastLogin": "2023-05-15T09:30:45Z"10},11"2371": {12"id": 2371,13"employeeId": 1002,14"firstName": "Jane",15"lastName": "Smith",16"email": "jane.smith@example.com",17"status": "active",18"lastLogin": "2023-05-14T14:22:30Z"19},20"2372": {21"id": 2372,22"employeeId": 1003,23"firstName": "Michael",24"lastName": "Johnson",25"email": "michael.johnson@example.com",26"status": "inactive",27"lastLogin": "2023-05-10T11:15:20Z"28}29}
Raw HTTP request (advanced)Copy
Perform a raw HTTP request with some pre-configuration and processing by the connector, such as authentication.
Sample Input
1{2"method": "GET",3"url": {4"endpoint": "/employees/directory"5},6"headers": [7{8"key": "Accept",9"value": "application/json"10}11],12"query_parameters": [13{14"key": "limit",15"value": "50"16},17{18"key": "department",19"value": "Engineering"20}21],22"body": {23"none": null24},25"include_raw_body": false,26"parse_response": "true"27}
Sample Output
1{2"response": {3"status_code": 200,4"headers": {5"Content-Type": "application/json",6"X-RateLimit-Limit": "300",7"X-RateLimit-Remaining": "299"8},9"body": {10"employees": [11{12"id": "1234",13"displayName": "John Doe",14"firstName": "John",15"lastName": "Doe",16"jobTitle": "Software Engineer",17"department": "Engineering",18"location": "New York",19"workEmail": "john.doe@example.com"20},21{22"id": "5678",23"displayName": "Jane Smith",24"firstName": "Jane",25"lastName": "Smith",26"jobTitle": "Senior Software Engineer",27"department": "Engineering",28"location": "San Francisco",29"workEmail": "jane.smith@example.com"30}31],32"totalCount": 233}34}35}
Update employeeCopy
Update an employee by their ID.
Sample Input
1{2"employee_id": "12345",3"custom_properties": [4{5"key": "jobTitle",6"value": "Senior Software Engineer"7},8{9"key": "department",10"value": "Engineering"11},12{13"key": "workEmail",14"value": "john.doe@example.com"15}16]17}
Sample Output
1{2"success": true3}
DDL operationsCopy
Get time off types (DDL)Copy
Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping
Sample Input
1{}
Sample Output
1[2{3"id": "1",4"name": "Vacation",5"icon": "palm-tree"6},7{8"id": "2",9"name": "Sick Leave",10"icon": "medical-cross"11},12{13"id": "3",14"name": "Personal Day",15"icon": "calendar"16},17{18"id": "4",19"name": "Bereavement",20"icon": "flower"21},22{23"id": "5",24"name": "Jury Duty",25"icon": "gavel"26}27]
List employee fields (DDL)Copy
Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping
Sample Input
1{}
Sample Output
1[2{3"id": "firstName",4"name": "First Name",5"type": "text"6},7{8"id": "lastName",9"name": "Last Name",10"type": "text"11},12{13"id": "jobTitle",14"name": "Job Title",15"type": "text"16},17{18"id": "department",19"name": "Department",20"type": "list"21},22{23"id": "hireDate",24"name": "Hire Date",25"type": "date"26},27{28"id": "email",29"name": "Email",30"type": "email"31},32{33"id": "mobilePhone",34"name": "Mobile Phone",35"type": "phone"36},37{38"id": "employmentStatus",39"name": "Employment Status",40"type": "list"41}42]
List table fields (DDL)Copy
Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping
Sample Input
1{}
Sample Output
1[2{3"id": "displayName",4"name": "Display name",5"type": "text"6},7{8"id": "firstName",9"name": "First name",10"type": "text"11},12{13"id": "lastName",14"name": "Last name",15"type": "text"16},17{18"id": "jobTitle",19"name": "Job title",20"type": "text"21},22{23"id": "workEmail",24"name": "Work email",25"type": "email"26},27{28"id": "mobilePhone",29"name": "Mobile phone",30"type": "phone"31},32{33"id": "department",34"name": "Department",35"type": "list"36},37{38"id": "hireDate",39"name": "Hire date",40"type": "date"41},42{43"id": "status",44"name": "Status",45"type": "list"46}47]
List tables (DDL)Copy
Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping
Sample Input
1{}
Sample Output
1[2{3"tableName": "employees",4"ddl": "CREATE TABLE employees (\n id INT PRIMARY KEY,\n firstName VARCHAR(50),\n lastName VARCHAR(50),\n email VARCHAR(100),\n hireDate DATE,\n jobTitle VARCHAR(100),\n department VARCHAR(50)\n);"5},6{7"tableName": "departments",8"ddl": "CREATE TABLE departments (\n id INT PRIMARY KEY,\n name VARCHAR(50),\n managerID INT,\n FOREIGN KEY (managerID) REFERENCES employees(id)\n);"9},10{11"tableName": "salaries",12"ddl": "CREATE TABLE salaries (\n id INT PRIMARY KEY,\n employeeID INT,\n salary DECIMAL(10, 2),\n effectiveDate DATE,\n FOREIGN KEY (employeeID) REFERENCES employees(id)\n);"13}14]