Operations (sample payloads)

Main operations
Copy

Add employee
Copy

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 table
Copy

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 request
Copy

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": 8
16
},
17
{
18
"ymd": "2023-10-02",
19
"amount": 8
20
}
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": false
44
},
45
"policyType": "accrual",
46
"usedYearToDate": 24,
47
"balanceOnDateOfRequest": 80
48
}

Change request status
Copy

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 ID
Copy

Get an employee file.

Sample Input

1
{
2
"employee_id": 12345,
3
"file_id": 67890
4
}

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": 1686153600
7
}
8
}

Get company file by ID
Copy

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": 1623456789
6
}
7
}

Get details for list fields
Copy

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 ID
Copy

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": true
11
}

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 directory
Copy

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": 1
41
},
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": 1
63
}
64
]
65
}

Get employee table
Copy

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 requests
Copy

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": false
31
},
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 out
Copy

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 categories
Copy

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 fields
Copy

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 categories
Copy

Get employee files and categories.

Sample Input

1
{
2
"employee_id": "12345"
3
}

Sample Output

1
{
2
"employee": {
3
"id": 12345
4
},
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 tables
Copy

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 policies
Copy

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 types
Copy

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 users
Copy

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": null
24
},
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": 2
33
}
34
}
35
}

Update employee
Copy

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": true
3
}

DDL operations
Copy

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
]